Skip to content

Search these docs from your AI tool

  • Antigravity
    {
      "mcpServers": {
        "edisyl-docs": {
          "serverUrl": "https://docs.edisyl.com/mcp"
        }
      }
    }
  • Claude CodeCLI
    claude mcp add edisyl-docs https://docs.edisyl.com/mcp --transport http --scope user
  • CodexCLI
    codex mcp add --url https://docs.edisyl.com/mcp edisyl-docs
  • Cursor
    {
      "mcpServers": {
        "edisyl-docs": {
          "type": "http",
          "url": "https://docs.edisyl.com/mcp"
        }
      }
    }
  • Gemini CLI
    gemini mcp add --transport http edisyl-docs https://docs.edisyl.com/mcp
  • Goose
    {
      "extensions": {
        "edisyl-docs": {
          "enabled": true,
          "name": "edisyl-docs",
          "type": "streamable_http",
          "uri": "https://docs.edisyl.com/mcp",
          "envs": {},
          "env_keys": [],
          "headers": {},
          "description": "",
          "timeout": 300,
          "bundled": null,
          "available_tools": []
        }
      }
    }
  • JetBrains AI Assistant
    {
      "mcpServers": {
        "edisyl-docs": {
          "type": "http",
          "url": "https://docs.edisyl.com/mcp"
        }
      }
    }

    Paste into Settings → Tools → AI Assistant → Model Context Protocol → Add → As JSON. Direct file writing isn’t supported — JetBrains stores this per-version as XML.

  • Junie (JetBrains)
    {
      "mcpServers": {
        "edisyl-docs": {
          "url": "https://docs.edisyl.com/mcp"
        }
      }
    }
  • OpenCode
    {
      "mcp": {
        "edisyl-docs": {
          "type": "remote",
          "url": "https://docs.edisyl.com/mcp"
        }
      }
    }
  • VS CodeCLI
    code --add-mcp '{"name":"edisyl-docs","type":"http","url":"https://docs.edisyl.com/mcp"}'
  • Windsurf
    {
      "mcpServers": {
        "edisyl-docs": {
          "serverUrl": "https://docs.edisyl.com/mcp"
        }
      }
    }

    Supports both stdio and native HTTP connections.

Schedules

A schedule is a pack objective that the pack runs automatically. It either repeats on a cron expression (five fields, UTC, at least 30 minutes apart) or fires once at a future time. It can’t do both. Only ask and task can be scheduled. A brief holds their whole request. teach and import need a file or target that isn’t available when the schedule is created. Each fire creates an Action for that verb. A scheduled ask answers its question. A scheduled task works on its objective.

See Scheduling recurring work for when to use one.

schedule_create sets up standing work on a pack. Nothing runs until nextRunAt. To run it now, use schedule_trigger. Check schedule_list first to avoid creating a duplicate. A task schedule spends agent time on every fire.

Input Type Required Meaning
packId string Yes The pack’s id or slug, from list_packs.
actionType ask or task Yes ask answers the brief each fire. task has the pack’s agents work on it.
brief string Yes The question (ask) or objective (task) every fire works on, written as a person would say it. Up to 4,000 characters.
cron string One of cron or runAt Five-field cron, UTC, firing at least 30 minutes apart.
runAt string One of cron or runAt An ISO 8601 UTC instant to fire once. Must be in the future.
name string No A short label, unique per pack. Lowercased, with anything but a letter or digit turned into an underscore. It may not start with sched_. If you leave it out, one is made from the brief.
description string No A note for people reading the schedule later. Up to 1,000 characters.
mode standard or fast No task only. Stored with the schedule and passed to each fire unchanged. It does not change how the task runs. Both modes use the same executor.
mustWrite boolean No task only. Record a run that writes nothing to the pack as failed.

Returns the schedule.

Permission: needs steer access on the pack.

“Ask the growth-metrics pack how many active wallets we had last week, every Monday at 9.”

schedule_list lists the standing work on the packs you can read: what recurs, on what cadence, whether it is paused, how its last run ended, and when it fires next. Paused schedules are included, with enabled: false.

Input Type Required Meaning
packId string No Narrow the list to one pack.

Returns the schedules. Pass an entry’s scheduleId to schedule_get, schedule_runs, and schedule_trigger. Refer to a schedule by its name, or by its brief if it has no name.

Permission: anyone who can read the pack can list its schedules.

“What runs by itself on the growth-metrics pack?”

schedule_get fetches one schedule: its brief, its cadence (cron or a one-shot runAt), its stored mode, whether it is paused, how its last run ended, and when it fires next. lastResult holds the newest run’s answer or summary, with its citations. If you can’t read a schedule with that id, it returns a not found error.

Input Type Required Meaning
scheduleId string (UUID) Yes The schedule’s id, from schedule_list.

Returns the schedule.

“What exactly does the weekly digest run, and what did it last say?”

update changes a schedule in place. The schedule keeps its id and run history. Pass only the fields that change. cron and runAt are alternatives. Setting one switches the schedule to that cadence and removes the other. After you change the brief, the schedule fires as you from then on.

schedule_update changes a schedule and returns it as it now stands.

Input Type Required Meaning
scheduleId string (UUID) Yes The schedule’s id.
brief string No The new standing question or objective.
cron string No A new five-field UTC cron, 30 or more minutes apart. Drops runAt.
runAt string No A new future ISO 8601 UTC instant to fire once. Drops cron.
description string or null No A note for readers. null clears it.
mode standard or fast No task only. Recorded; it does not change execution.
mustWrite boolean No task only. Whether a run that writes nothing to the pack fails.

Pass at least one field besides scheduleId.

“Move the weekly digest to Tuesdays at 9.”

The cadence doesn’t change. The next scheduled fire still happens. The run uses the schedule’s own verb. Its Action is the run.

schedule_trigger runs a schedule now, without waiting for its next fire. It is rate-limited per user and per schedule.

Input Type Required Meaning
scheduleId string (UUID) Yes The schedule’s id.
idempotencyKey string No A key you choose for this fire, up to 200 characters. Send the same key again to retry without firing twice.

Returns an actionId. Follow it with action_get.

Permission: needs steer access on the pack.

“Run the weekly digest now.”

schedule_runs lists a schedule’s past runs, newest first, each with its status, when it fired, when it completed, a one-line summary, and the actionId to open with action_get for the full result. Use it to check whether a schedule has been running and whether it worked.

Input Type Required Meaning
scheduleId string (UUID) Yes The schedule’s id.
status string No One of dispatched, completed, failed, or cancelled.
limit integer No Page size, 1 to 100. Default 20.
cursor object No The previous response’s nextCursor, for the next page.

Returns the runs and a nextCursor while more remain.

“Has the weekly digest been running, and did the last run work?”

schedule_pause stops a schedule from firing while keeping it and its history. Pausing a paused schedule does nothing.

schedule_resume puts a paused schedule back on its cadence, starting now. Fires missed while it was paused are not run later.

Input Type Required Meaning
scheduleId string (UUID) Yes The schedule’s id.

Permission: pausing and resuming need steer access on the pack.

“Pause the weekly digest until the launch is over.”

schedule_delete retires a schedule. A schedule that never ran is removed (removed: true). A schedule that has run is paused instead (removed: false). schedule_runs can still read its history. Check removed to see which happened. To stop work for a while, use schedule_pause.

Input Type Required Meaning
scheduleId string (UUID) Yes The schedule’s id.

Permission: needs steer access on the pack.

“Delete the launch report schedule.”

Report incorrect code

Please provide a detailed description of the incorrect code.