{"_id":"@ariadne-dev/mcp-server","name":"@ariadne-dev/mcp-server","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@ariadne-dev/mcp-server","version":"0.1.0","description":"MCP (Model Context Protocol) server for Ariadne — exposes task state as tools/resources to any MCP-capable AI client.","license":"MIT","repository":{"type":"git","url":"git+https://github.com/LAKSHYAKUMAR45/Ariadne.git","directory":"packages/mcp-server"},"type":"commonjs","bin":{"ariadne-mcp-server":"dist/index.js"},"main":"dist/index.js","types":"dist/index.d.ts","dependencies":{"@modelcontextprotocol/sdk":"^1.29.0","zod":"^3.23.8","@ariadne-dev/core":"0.1.0"},"devDependencies":{"@types/node":"^20.14.0","typescript":"^5.5.4","vitest":"^2.1.1"},"scripts":{"build":"tsc -p tsconfig.json","test":"vitest run","lint":"echo \"(no lint configured yet)\""},"_id":"@ariadne-dev/mcp-server@0.1.0","bugs":{"url":"https://github.com/LAKSHYAKUMAR45/Ariadne/issues"},"homepage":"https://github.com/LAKSHYAKUMAR45/Ariadne#readme","_integrity":"sha512-2r4rnVIbM9ZfcvqPLnmiWriwCl5sZQtTbUgP2dvn7jyGtbGfMt5L9yZyu5w9MEQkdOAN7rBMuCnk/pJrhP37kA==","_resolved":"/tmp/fe3104e0a7d69079dc8d3828d6c5c4db/ariadne-dev-mcp-server-0.1.0.tgz","_from":"file:ariadne-dev-mcp-server-0.1.0.tgz","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-2r4rnVIbM9ZfcvqPLnmiWriwCl5sZQtTbUgP2dvn7jyGtbGfMt5L9yZyu5w9MEQkdOAN7rBMuCnk/pJrhP37kA==","shasum":"a21ddc0104ce839c77233f1793ca0e99fc4ae36b","tarball":"https://registry.npmjs.org/@ariadne-dev/mcp-server/-/mcp-server-0.1.0.tgz","fileCount":29,"unpackedSize":165274,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDfdDtyV+eH6FCot8P4tvh1/9Fz+/7B0mdmZj+rhOvYAwIgf5GFinCk3eAW9ZOnaK4G6ThZr7i1WksFyybklD9Acwg="}]},"_npmUser":{"name":"lakshyakumar47","email":"lakshya.kumar47@gmail.com"},"directories":{},"maintainers":[{"name":"lakshyakumar47","email":"lakshya.kumar47@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-server_0.1.0_1783612499078_0.2556351633661662"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-09T15:54:58.963Z","0.1.0":"2026-07-09T15:54:59.217Z","modified":"2026-07-09T15:54:59.432Z"},"maintainers":[{"name":"lakshyakumar47","email":"lakshya.kumar47@gmail.com"}],"description":"MCP (Model Context Protocol) server for Ariadne — exposes task state as tools/resources to any MCP-capable AI client.","homepage":"https://github.com/LAKSHYAKUMAR45/Ariadne#readme","repository":{"type":"git","url":"git+https://github.com/LAKSHYAKUMAR45/Ariadne.git","directory":"packages/mcp-server"},"bugs":{"url":"https://github.com/LAKSHYAKUMAR45/Ariadne/issues"},"license":"MIT","readme":"# @ariadne-dev/mcp-server\n\nAn MCP ([Model Context Protocol](https://modelcontextprotocol.io/)) server that\nexposes Ariadne's task state as tools to **any** MCP-capable AI client —\nClaude Code, Gemini CLI, Codex, Copilot Chat/CLI, or a custom agent — without\nneeding VS Code. It's one of three thin surfaces over the shared\n`@ariadne-dev/core` `TaskStore`; the CLI and VS Code extension read/write the\nexact same `.ariadne/state.db`, so state is identical no matter which surface\nyou use.\n\n## Running it\n\nAny MCP client that can spawn a local process over stdio can use this\nserver. Point your client's MCP config at:\n\n```bash\nnode packages/mcp-server/dist/index.js\n```\n\nor, once published, at the `ariadne-mcp-server` binary. The server resolves\nthe workspace root the same way the CLI does (nearest ancestor directory\ncontaining `.git` or `.ariadne`, starting from the client's working\ndirectory), and reads/writes `<workspace-root>/.ariadne/state.db`.\n\n## Tools\n\n| Tool | What it does |\n|---|---|\n| `task_new` | Creates a new task and marks it current. |\n| `task_list` | Lists tasks, optionally filtered by status. Pass `allWorkspaces: true` to list tasks from every workspace Ariadne has ever seen, each tagged with its `workspaceRoot`. |\n| `task_use` | Switches the current task (always scoped to this workspace — \"current task\" is a per-workspace concept). |\n| `task_pause` / `task_done` / `task_archive` / `task_reopen` | Change the current (or given) task's lifecycle status. |\n| `task_edit` | Edits the current (or given) task's title and/or goal (curation). Leaves either unchanged if not supplied. |\n| `checkpoint_add` | Records a checkpoint summary. |\n| `todo_add` / `todo_list` / `todo_done` / `todo_reopen` / `todo_block` / `todo_edit` / `todo_delete` | Manage todos, including curation (edit/delete) and reopening/blocking. All id-based ones accept an optional `taskId` if the todo belongs to a different workspace than the current one (needed because the cross-workspace registry indexes tasks, not sub-entity ids). |\n| `decision_add` / `decision_list` / `decision_edit` / `decision_delete` | Record, list, edit, or delete a decision (with optional rationale). |\n| `error_add` / `error_list` / `error_resolve` / `error_reopen` / `error_edit` / `error_delete` | Record, list, resolve, reopen, edit, or delete an error. `error_list` defaults to unresolved-only; pass `all: true` for everything. Id-based ones accept an optional `taskId` the same way `todo_done` does. |\n| `question_add` / `question_list` / `question_resolve` / `question_reopen` / `question_edit` / `question_delete` | Record, list, resolve, reopen, edit, or delete an open question blocking the task. Id-based ones accept an optional `taskId` the same way `todo_done` does. |\n| `search` | Cross-entity search over task titles/goals, checkpoints, decisions, todos, errors, open questions, files, and commits — returns tasks ranked by match count, each with its matching entities. Pass `allWorkspaces: true` to search every known workspace, with each result tagged by its `workspaceRoot`. |\n| `get_context` | Returns the current (or given) task's full context — workspace root, tracked git branch, goal, latest checkpoint, open questions, unresolved errors, blocked todos, pending todos, recent files, commits, commands, and decisions — as structured JSON, ranked and trimmed to fit an optional `tokenBudget` (default 2000). Equivalent to the CLI's `status`/`resume`. |\n| `git_sync` | Syncs the current git branch and any new commits into the current (or given) task by shelling out to `git` directly — works without any editor's git integration open. Equivalent to the CLI's `git-sync`. |\n| `export_task` | Renders the current (or given) task's full history as a Markdown document (text in the response) — for sharing or pasting into a PR description. Equivalent to the CLI's `export` (which additionally writes the file to `.ariadne/export/<task-id>.md`). |\n\nAll tools that need a task default to the workspace's \"current task\" (the\nsame one `ariadne task use` sets) when no explicit `taskId` is given.\n\n### Cross-workspace task resolution\n\nEvery tool that accepts a `taskId` (`task_pause`/`done`/`archive`/`reopen`,\n`checkpoint_add`, `todo_add`/`list`, `decision_add`, `error_add`,\n`question_add`/`list`, `get_context`, `git_sync`, `export_task`) will\ntransparently operate on that task even if it doesn't belong to this\nserver's workspace: it falls back to the global cross-workspace registry\n(`~/.ariadne/registry.db`, maintained automatically as any surface uses\nAriadne) to find and open the real owning workspace's `state.db`. Nothing\nis copied between workspaces — each workspace's own database stays the\nsource of truth for its own tasks; the registry is just an index that\nsaves the caller from having to know or guess which workspace a task id\nlives in.\n\n## Resources\n\nIn addition to tools, the server exposes the same `get_context` output as\nread-only, URI-addressable **resources** — useful for MCP hosts that\nauto-attach subscribed/discoverable resources to a conversation without\nrequiring the model to make an explicit tool call:\n\n| Resource URI | What it returns |\n|---|---|\n| `ariadne://task/current/context` | The current task's context package (same shape as `get_context` with no `taskId`). |\n| `ariadne://task/{taskId}/context` | A specific task's context package. Supports resource listing so clients can discover one entry per existing task. |\n\n## Development\n\n```bash\npnpm --filter @ariadne-dev/core build   # @ariadne-dev/core must be built first\npnpm --filter @ariadne-dev/mcp-server build\npnpm --filter @ariadne-dev/mcp-server test\n```\n\n`src/tools.ts` holds pure, transport-agnostic implementations of every tool\n(directly unit-testable without spinning up the MCP SDK); `src/server.ts`\nwires those into `McpServer` with Zod input schemas and registers the\nresources described above; `src/index.ts` is the stdio entry point.\n\n## Known limitations (early/pre-release)\n\n- Not yet published to npm.\n","readmeFilename":"README.md","_rev":"1-45c5ccffdb2f6367d1a7e790d20bafef"}