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.

Actions

Every ask, teach, task, import, study, calibrate, forget, and refresh creates an Action. An Action has a durable id, typed output, and an event history you can follow. To wait for an Action, use the waits and watch described below instead of a polling loop.

queued and running mean the work is in progress. Every other status is final, except waiting. A waiting Action is paused until you respond.

Status Meaning
succeeded Has the typed output.
declined A deliberate refusal. The pack understood the request but could not or would not act on it. The Action’s error message gives the reason. This is different from failed.
failed Something broke.
canceled Someone asked it to stop.
waiting The work is paused, not finished. It needs something from you. waitingOn.requestId is the id of the batch of questions it is waiting on. waitingOn.request.questions[] holds each question with its id, the options it allows, whether free text is accepted, and its deadline. If the deadline passes, the Action declines.

An ask that stops as waiting resumes when you answer it with ask-reply. The same Action continues. No second Action is created. No other verb has a reply command. To answer a waiting Action from another verb, start a new Action that includes what it asked for.

While work runs, the status comes with a progress line, phase (for example, “drawing up the plan”). Read it, but don’t make scripts depend on it. Its wording changes. It is absent when it would add nothing to status. An ask updates its phase as it works. If an ask’s phase has not changed for several minutes, the work is stuck.

action_get fetches an Action by id: status, typed input and output, error, waitingOn, timestamps, its pack, and phase.

Input Type Required Meaning
actionId string (UUID) Yes The Action id returned by any verb. It is also the event-stream session id.
waitSeconds integer No Wait up to this many seconds (1 to 55) for the Action to stop running. The call returns as soon as the Action reaches a final status or waiting. If the time runs out first, it returns the current state.

Returns the Action. Check status. Repeat the call with waitSeconds until the status is final. packName is the pack’s name. It is null if the pack can no longer be read.

“Check on that task.”

action_list lists Actions on the packs whose work you can read, newest first. It shows what was asked, taught, worked on and forgotten, and how each one ended. Filters combine with AND.

Input Type Required Meaning
packId string No Only this pack’s Actions.
type string No One verb: ask, teach, task, import, study, forget, refresh, review, learn, calibrate, reextract, or onboard.
status string No One state: queued, running, succeeded, declined, failed, canceled, or waiting.
since date-time No Created at or after this instant.
threadId string (UUID) No One conversation’s turns, oldest first.
limit integer No Default 20, max 100.
cursor date-time No The previous response’s nextCursor.

Returns one row per conversation. Each row is the conversation’s root Action, in the same shape as an action_get result, and includes thread.turnCount. Use nextCursor to get the next page.

Permission: reading a pack’s work needs more access than reading the pack. A pack you can ask may not appear here.

“What did the growth-metrics pack work on this week?”

events shows every event the work emitted, without a summary. Use it to diagnose problems. To follow progress, use get over MCP or watch in the CLI.

action_events lists an Action’s event history, oldest first.

Input Type Required Meaning
actionId string (UUID) Yes The Action id.
category string No Filter to one domain-event category, such as action or knowledge.
limit integer No Page size. Default 20, max 500.
cursor string No The previous response’s nextCursor, to read the next page.

Returns the events and a nextCursor. An Action outside your organization returns not found.

“Show me the raw events for that ask.”

cancel is a request. The job itself moves the Action to canceled, and passes the request to all work in progress. An Action that is inside a tool call finishes that call first. The returned record may still show a non-terminal status. Work that has already finished is kept. Canceling an Action with a final status has no effect.

action_cancel requests cancellation of one Action.

Input Type Required Meaning
actionId string (UUID) Yes The Action to cancel.

Returns the Action. Call action_get until its status is final.

Permission: only the Action’s creator or an administrator of its pack can cancel it. Anyone else gets not found.

“Stop that task.”

CLI only

Use watch instead of a polling loop. watch describes the work as it progresses. It prints the plan once it exists, and each step when it starts and when it ends, with that step’s one-line summary. It also prints anything that is blocked, and the typed output when the Action finishes. It prints only changes. Over MCP, repeat action_get with waitSeconds.

Terminal window
edisyl action watch <action-id>
edisyl action watch <action-id> > result.txt # the result alone
  • Narration goes to stderr; the result goes to stdout.
  • With -j, narration goes to stdout instead, as newline-delimited JSON progress objects. --quiet hides the narration and prints only the output.
  • Exits 0 on succeeded, declined, or waiting. Exits non-zero on failed or canceled. A decline or a wait prints its reason on stderr. A waiting ask also prints its batch of questions and the ask-reply command that resumes it.
  • Interrupting watch exits 0 and leaves the Action running. To stop the Action, use action cancel.
Flag Behavior
--interval <duration> Poll interval. Default 3s.
--timeout <duration> Give up following after this long. Default 30m.
--quiet Print only the output.
CLI only

action trace shows an Action’s execution graph. This includes the content records it produced, the agent runs under it, semantic resolutions, retrieval count, and LLM spend. It shows the same details for each child Action. Use it to find a teach’s content record id. forget takes this id.

Terminal window
edisyl action trace <action-id> [--quiet]
Flag Behavior
--quiet Print only the data: no hints, no banners.

action explain shows why an ask answered the way it did. See Ask.

task, teach, and ask all take --id-only, which prints only the Action id. These three commands and ask-reply take --wait with --timeout (default 5m) to wait in the command. For ask and ask-reply, --wait returns at the Action’s next stop. That stop may be another batch of clarifying questions. With -j, they print the server’s whole record. You can extract waitingOn.requestId and the question and option ids with jq. Every action and schedule read command takes --quiet, which hides hints and banners and prints only the data.

Report incorrect code

Please provide a detailed description of the incorrect code.