{"_id":"@agent-dispatch/mcp-server","_rev":"4-9e782d29464263023f758fefc015b322","name":"@agent-dispatch/mcp-server","dist-tags":{"latest":"0.1.4"},"versions":{"0.1.0":{"name":"@agent-dispatch/mcp-server","version":"0.1.0","license":"Apache-2.0","_id":"@agent-dispatch/mcp-server@0.1.0","maintainers":[{"name":"vamgan","email":"vamilg@gmail.com"}],"homepage":"https://github.com/agent-dispatch/mcp-server#readme","bugs":{"url":"https://github.com/agent-dispatch/mcp-server/issues"},"bin":{"agentdispatch-mcp":"dist/bin.js"},"dist":{"shasum":"9828e6510323ba624b0851873f4e8db28561463f","tarball":"https://registry.npmjs.org/@agent-dispatch/mcp-server/-/mcp-server-0.1.0.tgz","fileCount":8,"integrity":"sha512-6YsEntMvYnrpbXsDrtJ2uhQ3Rjtn5AId/T1P1fkun8sEVTlh22T2aATnkEOz2dOdXinYEc9K8kOf1gGKtiJ/kA==","signatures":[{"sig":"MEUCIF7fgxf1PxGSUimjmDvRtolkkeSshRxe8mYfkVVj5QAqAiEAiLURD82eHRcC7UpOUBEDrX5TjwgJt3b95SzwsC5zwZc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22607},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"cb660a95bd008bdba3d305c4ede2eef8495d0cbc","scripts":{"test":"vitest run","build":"tsup src/index.ts src/bin.ts --format esm --dts --clean","typecheck":"tsc --noEmit"},"_npmUser":{"name":"vamgan","email":"vamilg@gmail.com"},"repository":{"url":"git+https://github.com/agent-dispatch/mcp-server.git","type":"git"},"_npmVersion":"10.9.4","description":"Provider-neutral MCP server for AgentDispatch.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.24.1","@modelcontextprotocol/sdk":"^1.29.0","@agent-dispatch/store-sqlite":"^0.1.0","@agent-dispatch/adapter-aws-agentcore":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","vitest":"^2.1.8","typescript":"^5.7.3","@types/node":"^22.10.2","@agent-dispatch/core":"^0.1.0"},"peerDependencies":{"@agent-dispatch/core":"^0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_0.1.0_1778458559474_0.7635057141743637","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@agent-dispatch/mcp-server","version":"0.1.1","license":"Apache-2.0","_id":"@agent-dispatch/mcp-server@0.1.1","maintainers":[{"name":"vamgan","email":"vamilg@gmail.com"}],"homepage":"https://github.com/agent-dispatch/mcp-server#readme","bugs":{"url":"https://github.com/agent-dispatch/mcp-server/issues"},"bin":{"agentdispatch-mcp":"dist/bin.js"},"dist":{"shasum":"7c73e18130e47c2eb1c8f74811a5e19d7b937aec","tarball":"https://registry.npmjs.org/@agent-dispatch/mcp-server/-/mcp-server-0.1.1.tgz","fileCount":8,"integrity":"sha512-i6OGvnnoXLGWuODVgQCz3NI0XAAeUXb9enubIlhPsBeTjM3DuxQ1qKV5ljgU1TxGuqv7z9kqv/x7+4+MntmDew==","signatures":[{"sig":"MEYCIQCFv5Z0GMo5LGC4ZsUTSQ9+RdWvWOHS2DIlv60p5xdYoQIhAJX87fMTuWeuALVjQWe3vHfM0OBn6dGcjVW2sdicJhrK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23670},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"21be0de2fa71d8f23a389671bd5e0ac8e1fe822c","scripts":{"test":"vitest run","build":"tsup src/index.ts src/bin.ts --format esm --dts --clean","typecheck":"tsc --noEmit"},"_npmUser":{"name":"vamgan","email":"vamilg@gmail.com"},"repository":{"url":"git+https://github.com/agent-dispatch/mcp-server.git","type":"git"},"_npmVersion":"11.11.0","description":"Provider-neutral MCP server for AgentDispatch.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^3.24.1","@modelcontextprotocol/sdk":"^1.29.0","@agent-dispatch/store-sqlite":"^0.1.0","@agent-dispatch/adapter-aws-agentcore":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","vitest":"^2.1.8","typescript":"^5.7.3","@types/node":"^22.10.2","@agent-dispatch/core":"^0.1.0"},"peerDependencies":{"@agent-dispatch/core":"^0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_0.1.1_1778459814584_0.7833496154686708","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@agent-dispatch/mcp-server","version":"0.1.2","license":"Apache-2.0","_id":"@agent-dispatch/mcp-server@0.1.2","maintainers":[{"name":"vamgan","email":"vamilg@gmail.com"}],"homepage":"https://github.com/agent-dispatch/mcp-server#readme","bugs":{"url":"https://github.com/agent-dispatch/mcp-server/issues"},"bin":{"agentdispatch-mcp":"dist/bin.js"},"dist":{"shasum":"e071eadc73f8a6b885fb3dbe69733d1db86f00f5","tarball":"https://registry.npmjs.org/@agent-dispatch/mcp-server/-/mcp-server-0.1.2.tgz","fileCount":8,"integrity":"sha512-de6nBWRZaUG8iAnnXkqJl7WlqPkCPwpqlw+LtbBKU/XBvaB/jY1fjrPs3vVfKb/GTsj5yc29oMUGc33H6qvtew==","signatures":[{"sig":"MEUCIQDX4mBCg58fuRK4l3g4Weo2ChB7wq2CKt9Bw4D0JzylggIgR0jZa6p22NwoNZ7dBfgL7iNEl0LJTn97v4Lz+39hYZI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25823},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"7f791143310b2f261aba1836740adcb1d43d777d","scripts":{"test":"vitest run","build":"tsup src/index.ts src/bin.ts --format esm --dts --clean","typecheck":"tsc --noEmit"},"_npmUser":{"name":"vamgan","email":"vamilg@gmail.com"},"repository":{"url":"git+https://github.com/agent-dispatch/mcp-server.git","type":"git"},"_npmVersion":"11.11.0","description":"Provider-neutral MCP server for AgentDispatch.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^3.24.1","@modelcontextprotocol/sdk":"^1.29.0","@agent-dispatch/store-sqlite":"^0.1.0","@agent-dispatch/adapter-aws-agentcore":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","vitest":"^2.1.8","typescript":"^5.7.3","@types/node":"^22.10.2","@agent-dispatch/core":"^0.1.0"},"peerDependencies":{"@agent-dispatch/core":"^0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_0.1.2_1778462237257_0.748056982048616","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@agent-dispatch/mcp-server","version":"0.1.4","description":"Provider-neutral MCP server for AgentDispatch.","keywords":["agentdispatch","mcp","model-context-protocol","cloud-agents","subagents","ai-agents","aws-agentcore","typescript"],"type":"module","license":"Apache-2.0","bin":{"agentdispatch-mcp":"dist/bin.js"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"build":"tsup src/index.ts src/bin.ts --format esm --dts --clean","test":"vitest run","typecheck":"tsc --noEmit"},"peerDependencies":{"@agent-dispatch/core":"^0.1.0"},"dependencies":{"@agent-dispatch/adapter-aws-agentcore":"^0.1.0","@agent-dispatch/store-sqlite":"^0.1.0","@modelcontextprotocol/sdk":"^1.29.0","zod":"^3.24.1"},"devDependencies":{"@agent-dispatch/core":"^0.1.0","@types/node":"^22.10.2","tsup":"^8.3.5","typescript":"^5.7.3","vitest":"^4.1.7"},"repository":{"type":"git","url":"git+https://github.com/agent-dispatch/mcp-server.git"},"bugs":{"url":"https://github.com/agent-dispatch/mcp-server/issues"},"homepage":"https://github.com/agent-dispatch/mcp-server#readme","publishConfig":{"access":"public"},"engines":{"node":">=20.19"},"gitHead":"dfb5a29f1d3deb2526cc8d66b48683567b611573","_id":"@agent-dispatch/mcp-server@0.1.4","_nodeVersion":"24.16.0","_npmVersion":"11.13.0","dist":{"integrity":"sha512-ZGxh8CQcK1Y57lGQhIsKSK1WJ+Z1fMYmOZfEMerF7T7qiXEhfiuN8AwdiDQt144x6898Shm/thNgzLcT4OJYRA==","shasum":"29fe6ca47d7b63b9cbb88ce010515bf5d1ce5a31","tarball":"https://registry.npmjs.org/@agent-dispatch/mcp-server/-/mcp-server-0.1.4.tgz","fileCount":8,"unpackedSize":59436,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent-dispatch%2fmcp-server@0.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIHXiqfRLcnhWfg2cEjX8jTFl02JQKguAPxqQGgURKSrZAiEAkLnbLMhLTd1OysbKIdsVNVhgyh4u1BeGNZi4x1GU6RE="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b6af3097-2a09-4f28-b024-737e3fdf4948"}},"directories":{},"maintainers":[{"name":"vamgan","email":"vamilg@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-server_0.1.4_1780205688373_0.3586286838730477"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-11T00:15:59.304Z","modified":"2026-05-31T05:34:48.779Z","0.1.0":"2026-05-11T00:15:59.612Z","0.1.1":"2026-05-11T00:36:54.753Z","0.1.2":"2026-05-11T01:17:17.404Z","0.1.4":"2026-05-31T05:34:48.511Z"},"bugs":{"url":"https://github.com/agent-dispatch/mcp-server/issues"},"license":"Apache-2.0","homepage":"https://github.com/agent-dispatch/mcp-server#readme","repository":{"type":"git","url":"git+https://github.com/agent-dispatch/mcp-server.git"},"description":"Provider-neutral MCP server for AgentDispatch.","maintainers":[{"name":"vamgan","email":"vamilg@gmail.com"}],"readme":"# @agent-dispatch/mcp-server\n\n<h3 align=\"center\">Spawn cloud agents from your AI.</h3>\n\n<p align=\"center\">\n  Claude Code, Codex, OpenClaw, and Hermes are strong local orchestrators. Long-running jobs need a separate execution plane.<br/>\n  <code>@agent-dispatch/mcp-server</code> hands them a managed cloud runtime — one MCP call, durable status, results when they land.\n</p>\n\n<p align=\"center\">\n  <a href=\"#quick-start\"><strong>Quick start</strong></a> ·\n  <a href=\"#what-it-does\">What it does</a> ·\n  <a href=\"#supported-clients-and-frameworks\">Clients & frameworks</a> ·\n  <a href=\"#configuration\">Config</a> ·\n  <a href=\"https://github.com/agent-dispatch\">The rest of AgentDispatch</a>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://www.npmjs.com/package/@agent-dispatch/mcp-server\"><img alt=\"npm\" src=\"https://img.shields.io/npm/v/@agent-dispatch/mcp-server?color=7C3AED&label=npm&style=flat-square\"></a>\n  <a href=\"https://github.com/agent-dispatch/mcp-server/actions/workflows/ci.yml\"><img alt=\"CI\" src=\"https://github.com/agent-dispatch/mcp-server/actions/workflows/ci.yml/badge.svg\"></a>\n  <img alt=\"MCP\" src=\"https://img.shields.io/badge/MCP-1.x-06B6D4?style=flat-square\">\n  <img alt=\"AWS Bedrock AgentCore\" src=\"https://img.shields.io/badge/AWS-Bedrock%20AgentCore-FF9900?style=flat-square\">\n  <img alt=\"License\" src=\"https://img.shields.io/badge/license-Apache--2.0-0EA5E9?style=flat-square\">\n  <img alt=\"TypeScript\" src=\"https://img.shields.io/badge/TypeScript-strict-3178C6?style=flat-square\">\n</p>\n\n---\n\n## Why this exists\n\nLocal AI assistants are effective planners. They hit operational limits when work becomes long-running:\n\n- A **deep-research** sweep across fifty pages of docs.\n- An **account-wide audit** that has to touch every service.\n- A **multi-hour** job that has no business sitting in your IDE's context window.\n\nRunning this inline consumes context, blocks the lead-agent session, and loses continuity when the local process stops.\n\n**AgentDispatch is the missing tool.** One MCP server gives your assistant a single primitive: *spawn a cloud agent with this instruction, come back later for the result.* The work runs on managed cloud compute. Status, logs, and the final output flow back through the same MCP channel.\n\n- ☁️ **Cloud execution plane.** AWS Bedrock AgentCore today; new clouds plug in through one small adapter contract.\n- ⏱️ **Built for long-running work.** Sessions for stateful runs. Runtime mode for provisioned per-task resources. Same MCP contract.\n- 🔭 **Full visibility.** Status, paginated logs, results, cancellation — over MCP, the SDK, or the CLI.\n- 🪶 **Simple defaults.** SQLite state. stdio transport. Zero hidden services. Runs locally, in CI, or on a server.\n\n## What it does\n\nA single MCP server exposes ten tools to your assistant:\n\n| Tool | What it does |\n| --- | --- |\n| `spawn_cloud_agent` | The shortcut. One `instruction`, defaults from a runtime profile, returns a durable `taskId` and optional `cloudAgent` metadata. |\n| `check_cloud_agent_runtime` | Preflight a configured runtime before spawning. For AWS AgentCore, it can verify credentials and runtime/control-plane reachability. |\n| `dispatch_task` | The escape hatch. Full control over provider, capability, backend, target, and input. |\n| `get_task_status` | Current status for a dispatched task. |\n| `get_task_logs` | Paginated logs, cursor-based. |\n| `get_task_result` | Final result payload when the task completes. |\n| `cancel_task` | Cancel an in-flight task. |\n| `list_providers` | Providers configured in this server. |\n| `list_capabilities` | Capabilities a provider exposes, filterable by provider. |\n| `list_account_profiles` | Account profiles configured for dispatch. |\n\nThe model side looks like this:\n\n```ts\ncheck_cloud_agent_runtime({ runtime: \"research-agent\" })\n// → { ok: true, checks: [...] }\n\nspawn_cloud_agent({ instruction: \"Audit our S3 buckets for public read and report findings.\" })\n// → { taskId: \"task_...\", status: \"queued\", cloudAgent: { ... } }\n\nget_task_status({ task_id: \"task_...\" })\nget_task_logs({ task_id: \"task_...\", cursor: 0, limit: 200 })\nget_task_result({ task_id: \"task_...\" })\n```\n\nAll tool inputs are validated with [Zod](https://zod.dev). See [`src/schemas.ts`](https://github.com/agent-dispatch/mcp-server/blob/main/src/schemas.ts) for the exact shapes.\n\n## Agent-facing contract\n\n`spawn_cloud_agent` is intentionally small. Runtime profiles supply the provider, account, backend, target mode, framework, model, protocol, and default tools.\n\nTool inputs use MCP-friendly snake_case. Responses return the same camelCase object shape as the AgentDispatch SDK and core runtime.\n\n```json\n{\n  \"runtime\": \"research-agent\",\n  \"instruction\": \"Run the background research task and report progress.\",\n  \"protocol\": \"a2a\",\n  \"context\": {\n    \"repo\": \"agent-dispatch\",\n    \"priority\": \"background\"\n  }\n}\n```\n\nImmediate response:\n\n```json\n{\n  \"taskId\": \"task_...\",\n  \"status\": \"queued\",\n  \"provider\": \"aws\",\n  \"accountProfile\": \"dev-aws\",\n  \"capability\": \"agent-runtime\",\n  \"backend\": \"aws-agentcore\",\n  \"poll\": {\n    \"statusTool\": \"get_task_status\",\n    \"logsTool\": \"get_task_logs\",\n    \"resultTool\": \"get_task_result\"\n  },\n  \"cloudAgent\": {\n    \"protocol\": \"a2a\",\n    \"provider\": \"aws\",\n    \"backend\": \"aws-agentcore\",\n    \"accountProfile\": \"dev-aws\",\n    \"sessionId\": \"ad-f7221e93f25499a0a1fc0160f63c7621\",\n    \"invocation\": {\n      \"type\": \"aws.agentcore.invoke_agent_runtime\",\n      \"runtimeUrl\": \"https://bedrock-agentcore.us-west-2.amazonaws.com/runtimes/.../invocations/\",\n      \"sessionHeaderName\": \"X-Amzn-Bedrock-AgentCore-Runtime-Session-Id\",\n      \"payloadFormat\": \"a2a.jsonrpc.message-send\"\n    },\n    \"a2a\": {\n      \"transport\": \"json-rpc-2.0-http\",\n      \"messageMethod\": \"message/send\",\n      \"agentCardPath\": \"/.well-known/agent-card.json\"\n    }\n  }\n}\n```\n\nIf the agent does not provide enough information, the server returns a structured clarification instead of failing late:\n\n```json\n{\n  \"status\": \"needs_clarification\",\n  \"retry_tool\": \"spawn_cloud_agent\",\n  \"questions\": [\n    { \"id\": \"instruction\", \"question\": \"What task should the cloud subagent run?\" },\n    { \"id\": \"runtimeArn\", \"question\": \"Which AWS AgentCore runtime ARN should this cloud subagent use?\" }\n  ],\n  \"available_runtimes\": []\n}\n```\n\nThe agent can answer the clarification directly on the next `spawn_cloud_agent` call:\n\n```json\n{\n  \"instruction\": \"Audit our S3 buckets for public read.\",\n  \"runtimeArn\": \"arn:aws:bedrock-agentcore:us-west-2:123456789012:agent/...\"\n}\n```\n\nRuntime-mode clarifications work the same way with `ecrImageUri`, `executionRoleArn`, and optional `environmentVariables`.\n\n## Supported clients and frameworks\n\nAnything that speaks MCP works. The common clients today:\n\n- **Claude Code** — add it to `~/.claude/mcp_settings.json` or your project's MCP config.\n- **Codex** — add this server as a local MCP server for cloud handoff tasks.\n- **OpenClaw** — call `spawn_cloud_agent` from inside any task that should leave the local runtime.\n- **Hermes** — move long-running reasoning and tool-rich runs to managed cloud infrastructure.\n- Claude Desktop, Cursor, Continue, Goose, Zed — same JSON, different config file.\n\n`spawn_cloud_agent` and `dispatch_task` both accept an optional `framework` string, and runtime profiles carry a default. AgentDispatch does not interpret the value; the worker does. That means OpenClaw-style, Hermes-style, Strands, LangChain, or custom workers can all fit the same MCP contract as soon as your cloud worker knows how to handle the framework.\n\n## Quick start\n\n```bash\nnpm install \\\n  @agent-dispatch/core \\\n  @agent-dispatch/mcp-server \\\n  @agent-dispatch/store-sqlite \\\n  @agent-dispatch/adapter-aws-agentcore\n\nnpx agentdispatch-mcp --config agentdispatch.config.json --check\n```\n\nWire it into your MCP client:\n\n```jsonc\n{\n  \"mcpServers\": {\n    \"agentdispatch\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@agent-dispatch/mcp-server\", \"--config\", \"/abs/path/agentdispatch.config.json\"]\n    }\n  }\n}\n```\n\nThe defaults come from your runtime profile. From the model side, `spawn_cloud_agent({ instruction })` is the only call required for the common path.\n\n## How it works\n\n```text\n   Claude Code · Codex · OpenClaw · Hermes · any MCP client\n                          │ stdio\n                          ▼\n   ┌─────────────────────────────────────────────┐\n   │       @agent-dispatch/mcp-server            │   ← this repo\n   └─────────────────────┬───────────────────────┘\n                         │\n                         ▼\n   ┌─────────────────────────────────────────────┐\n   │           @agent-dispatch/core              │   ← contracts + dispatch\n   └──────┬──────────┬───────────────────────────┘\n          │          │\n          ▼          ▼\n   ┌──────────┐  ┌──────────────────────────────────┐\n   │  store   │  │  adapter (AWS Bedrock AgentCore) │\n   │ (sqlite) │  │      ↓                           │\n   └──────────┘  │  cloud worker — runs the task    │\n                 └──────────────────────────────────┘\n```\n\n1. Local assistant issues `spawn_cloud_agent` over MCP.\n2. MCP server validates input, hydrates defaults from a runtime profile, calls the core runtime.\n3. Core picks the capability and adapter, persists the task, dispatches.\n4. Adapter invokes the worker in your cloud.\n5. Worker runs an agent framework on managed cloud infrastructure.\n6. Status, logs, results, and optional `cloudAgent` metadata flow back through the same path.\n\n## Configuration\n\nMinimal AWS Bedrock AgentCore session-mode config:\n\n```json\n{\n  \"stateDir\": \".agentdispatch\",\n  \"accounts\": {\n    \"dev-aws\": {\n      \"provider\": \"aws\",\n      \"region\": \"us-west-2\",\n      \"credentialSource\": \"aws-sdk-default\"\n    }\n  },\n  \"backends\": {\n    \"agentcore-dev\": {\n      \"adapter\": \"aws-agentcore\",\n      \"account\": \"dev-aws\",\n      \"details\": {\n        \"region\": \"us-west-2\",\n        \"runtimeArn\": \"arn:aws:bedrock-agentcore:us-west-2:123456789012:runtime/my-runtime\",\n        \"protocol\": \"a2a\"\n      }\n    }\n  },\n  \"runtimes\": {\n    \"research-agent\": {\n      \"provider\": \"aws\",\n      \"account\": \"dev-aws\",\n      \"capability\": \"agent-runtime\",\n      \"backend\": \"agentcore-dev\",\n      \"target\": { \"mode\": \"session\" },\n      \"protocol\": \"a2a\",\n      \"framework\": \"strands\",\n      \"runtimeTools\": { \"enabled\": [\"web-search\", \"code-interpreter\"] }\n    }\n  },\n  \"defaults\": {\n    \"runtime\": \"research-agent\"\n  }\n}\n```\n\nOnce `defaults.runtime` is set, `spawn_cloud_agent` only needs an `instruction`. The `framework`, `model`, `runtimeTools`, and `protocol` values are passed through to the worker.\n\nValidate before connecting an MCP client:\n\n```bash\nnpx agentdispatch-mcp --config agentdispatch.config.json --check\n```\n\n## Interaction model\n\n`spawn_cloud_agent` is the control-plane call. After spawn, the lead agent can:\n\n- Poll via `get_task_status`, `get_task_logs`, and `get_task_result`.\n- Continue native subagent interaction with returned `cloudAgent` protocol metadata.\n- Use A2A JSON-RPC `message/send` when the runtime protocol is `a2a`.\n- Cancel through AgentDispatch so provider references remain durable.\n\n## Real-world use cases\n\n- **Deep research from chat.** Codex or Claude Code spawns a cloud agent: \"Read the last 90 days of CloudTrail anomalies and propose detection rules.\"\n- **Parallel codebase audits.** A lead agent fans out a dozen `spawn_cloud_agent` calls, one per service, then aggregates reports.\n- **Long-running OpenClaw runs.** OpenClaw plans locally, then dispatches multi-hour execution to a managed AgentCore worker.\n- **Tool-rich Hermes jobs.** Hermes uses cloud-side tools that are not available to the local process.\n\n## The rest of AgentDispatch\n\n| Repo | Role |\n| --- | --- |\n| [`core`](https://github.com/agent-dispatch/core) | Runtime contracts and dispatch orchestration |\n| [`mcp-server`](https://github.com/agent-dispatch/mcp-server) | **You are here.** MCP face for the runtime |\n| [`sdk-js`](https://github.com/agent-dispatch/sdk-js) | TypeScript SDK for application code |\n| [`cli`](https://github.com/agent-dispatch/cli) | Command-line interface |\n| [`store-sqlite`](https://github.com/agent-dispatch/store-sqlite) | SQLite + filesystem state store |\n| [`adapter-aws-agentcore`](https://github.com/agent-dispatch/adapter-aws-agentcore) | AWS Bedrock AgentCore adapter |\n| [`worker-agentcore`](https://github.com/agent-dispatch/worker-agentcore) | Standard AgentCore worker contract |\n| [`adapter-template`](https://github.com/agent-dispatch/adapter-template) | Starter for new cloud adapters |\n| [`docs`](https://github.com/agent-dispatch/docs) | Documentation |\n| [`website`](https://github.com/agent-dispatch/website) | Static project website |\n\n## Development\n\n```bash\nnpm install\nnpm run typecheck\nnpm test\nnpm run build\n```\n\nSee the [release workflow](https://github.com/agent-dispatch/mcp-server/blob/main/docs/release.md) for npm Trusted Publisher setup, provenance publishing, and upstream package order.\n\n## Contributing\n\nPRs, issues, and adapter contributions are welcome. See [`CONTRIBUTING.md`](https://github.com/agent-dispatch/mcp-server/blob/main/CONTRIBUTING.md) for the local workflow.\n\nIf you ship a new framework worker or a new cloud adapter, open a discussion so it can be linked from the org README.\n\n## License\n\nApache-2.0. See [`LICENSE`](LICENSE).\n\n<p align=\"center\">\n  <sub>Built by the AgentDispatch contributors · <a href=\"https://github.com/agent-dispatch\">github.com/agent-dispatch</a></sub>\n</p>\n","readmeFilename":"README.md","keywords":["agentdispatch","mcp","model-context-protocol","cloud-agents","subagents","ai-agents","aws-agentcore","typescript"]}