Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Set autopilot scopes and a daily SOL spend cap, then propose, execute, and undo agent actions.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
THREE_WS_API_KEY, THREE_WS_BASE, THREE_WS_TIMEOUT_MS标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"autopilot": {
"command": "npx",
"args": [
"-y",
"@three-ws/autopilot-mcp"
],
"env": {
"THREE_WS_API_KEY": "your-value",
"THREE_WS_BASE": "your-value",
"THREE_WS_TIMEOUT_MS": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add autopilot --env THREE_WS_API_KEY=your-value --env THREE_WS_BASE=your-value --env THREE_WS_TIMEOUT_MS=your-value -- npx -y @three-ws/autopilot-mcp运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"autopilot": {
"command": "npx",
"args": [
"-y",
"@three-ws/autopilot-mcp"
],
"env": {
"THREE_WS_API_KEY": "your-value",
"THREE_WS_BASE": "your-value",
"THREE_WS_TIMEOUT_MS": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"autopilot": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@three-ws/autopilot-mcp"
],
"env": {
"THREE_WS_API_KEY": "your-value",
"THREE_WS_BASE": "your-value",
"THREE_WS_TIMEOUT_MS": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
THREE_WS_BASE envTHREE_WS_TIMEOUT_MS env这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 nirholas 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:THREE_WS_API_KEY
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.2.2)于27天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。
同一分类中有:Spec Driven Development, Remote Desktop Commander, Zendesk
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Zendesk MCP Pack — tickets, users, organizations via OAuth.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
@three-ws/autopilot-mcp
An AI agent's own autonomous-execution control plane — set autopilot scopes, a daily SOL spend cap, and auto-execute, then run the propose → execute → undo loop, all from any MCP client.
A Model Context Protocol server that gives an AI agent its own execution control plane over stdio. The agent configures the boundaries it is allowed to act within — capability scopes, a daily SOL spend ceiling, auto-execute and confirmation policy — then drives the full propose → review → execute → undo loop. No human in the loop, but every boundary is enforced server-side: an out-of-scope or over-budget action is denied, never executed.
This is the keystone of the autonomous-agent story. Autopilot config and execution used to live only behind the three.ws UI/API; this server exposes them so an agent can manage its own guardrails and act within them.
⚠️ This server is authenticated and write-heavy.
execute_proposalcan move real SOL on Solana mainnet and is irreversible. It sends native SOL only — the agent never sells or sends $THREE (it only buys, holds, or burns it). Scopes, the daily SOL spend cap, and confirmation are all enforced on the three.ws backend — this server cannot bypass them.
npm install @three-ws/autopilot-mcp
Or run with npx (no install):
npx @three-ws/autopilot-mcp
Claude Code, one line (supply your three.ws credential):
THREE_WS_API_KEY=sk_live_… claude mcp add autopilot -- npx -y @three-ws/autopilot-mcp
Claude Desktop / Cursor (claude_desktop_config.json or mcp.json):
{
"mcpServers": { "autopilot": { "command": "npx", "args": ["-y", "@three-ws/autopilot-mcp"], "env": { "THREE_WS_API_KEY": "sk_live_…" } } } }
Inspect the surface with the MCP Inspector:
THREE_WS_API_KEY=sk_live_… npx -y @modelcontextprotocol/inspector npx @three-ws/autopilot-mcp
Every autopilot endpoint is owner-only, so this server is authenticated. Set `THREE_WS_API_KEY` to the agent owner's three.ws credential — either a three.ws API key (sk_live_… / sk_test_…) or an OAuth access token. It is sent as Authorization: Bearer … on every request and identifies the owning user; the agent can only manage agents that user owns. The credential can authorize real SOL transfers via execute_proposal — store it like a password. THREE_WS_TOKEN and THREE_WS_BEARER are accepted as aliases.
| Tool | Type | What it does |
|---|---|---|
get_autopilot_config | read-only | Read the agent's guardrails: enabled, scopes, auto-execute, daily SOL cap, confirmation policy — plus trust. |
set_autopilot_config | write · idempotent | Update those guardrails with a partial patch (grant scopes, set the daily SOL ceiling, arm/disarm). No action taken. |
generate_proposals | write | Run the agent's mind: turn high-salience memories + reflections into real, provenance-cited candidate actions. |
list_proposals | read-only | The proposal queue — ids, kinds, rationales, params, status, cited sources. Filter by status. |
dryrun_proposal | read-only | Preview what executing a proposal *would* do (scope / cap / balance checks), without taking any action. |
adjust_proposal | write · idempotent | Edit a pending proposal's params before executing (tune a threshold, amount, cadence). Validated server-side. |
execute_proposal | write · destructive | Take the real action. ⚠️ A wallet_transfer or trade moves real funds on mainnet, irreversible. needs confirm:true. Never sends or sells $THREE. |
dismiss_proposal | write | Drop a pending proposal; records a feedback memory so the agent stops proposing it. |
undo_action | write | Reverse a reversible execution (delete the alert rule / briefing); records a feedback memory. SOL transfers can't be undone. |
list_autopilot_activity | read-only | The append-only signed receipts log — every autonomous action, its outcome, provenance, and signature. |
compute_trust | read-only | The agent's earned trust level (sandbox → trusted → autonomous), computed from real action history. |
The five read tools reflect live state (proposals, receipts, trust move between calls), so none are idempotent. set_autopilot_config and adjust_proposal are idempotent writes (re-applying the same values is a no-op). generate_proposals, execute_proposal, dismiss_proposal, and undo_action each take a real action.
Every tool takes `agentId` (the UUID of an agent you own) except list_autopilot_activity, where it is optional (omit to aggregate across all your agents).
agentId.agentId, plus any of: enabled (bool), scopes ({ create_alert?, briefing?, wallet_transfer?, trade? }), autoExecute ({ create_alert?, briefing? }), dailySpendSol (number, SOL; 0 disables spending), requireConfirm (bool).agentId, status (pending | executed | dismissed | undone | failed), limit (1–200).agentId, proposalId.agentId, proposalId, params (full replacement params for the proposal's kind).agentId, proposalId, confirm (bool — required for an irreversible SOL transfer).agentId (optional), limit (1–200), cursor (from a prior next_cursor).// 1. Grant the agent a reversible capability
// set_autopilot_config
{ "agentId": "…", "enabled": true, "scopes": { "create_alert": true } }
{ "ok": true, "config": { "enabled": true, "scopes": { "create_alert": true, "briefing": false, "wallet_transfer": false, "trade": false }, "daily_spend_sol": 0, "require_confirm": true } }
// 2. Let the agent propose actions from its memory // generate_proposals
{ "agentId": "…" }
{ "ok": true, "createdCount": 1, "source": "memory", "created": [ { "id": "p_…", "kind": "create_alert", "title": "Alert when $THREE crosses $0.01", "rationale": "You noted interest in $THREE around $0.01 — I'll watch it.", "status": "pending" } ] }
// 3. Preview before acting // dryrun_proposal
{ "agentId": "…", "proposalId": "p_…" }
{ "ok": true, "preview": { "kind": "create_alert", "willDo": "Create a real alert rule… Reversible.", "checks": [ { "label": "Scope \"create_alert\" granted", "ok": true } ], "blocked": false } }
// 4. Execute for real (reversible kind — no confirm needed) // execute_proposal
{ "agentId": "…", "proposalId": "p_…" }
{ "ok": true, "receipt": "Created a price above alert.", "actionId": "1843", "proposal": { "status": "executed" } }
// 5. Changed your mind? Undo it. // undo_action
{ "agentId": "…", "proposalId": "p_…" }
{ "ok": true, "proposal": { "status": "undone" } }
Spending real SOL requires the owner to have granted scopes.wallet_transfer, set a positive dailySpendSol, and (unless pre-authorized) execute_proposal must be re-issued with confirm:true. All three are checked server-side. A trade proposal (a buy with SOL or a sell of a non-$THREE token) needs scopes.trade and runs the same wallet guards as the wallet hub. Buys count against dailySpendSol. The agent spends SOL only, it never sells or sends $THREE; a $THREE sell is refused at proposal validation.
THREE_WS_API_KEY) for the agent owner.https://three.ws (or your own THREE_WS_BASE).| Variable | Required | Default | Notes |
|---|---|---|---|
THREE_WS_API_KEY | yes | — | three.ws API key (sk_live_…) or OAuth access token. Secret. Can move real SOL. |
THREE_WS_BASE | no | https://three.ws | Override only when self-hosting or targeting a preview. |
THREE_WS_TIMEOUT_MS | no | 60000 | Per-request timeout (generation runs a server-side LLM pass). |
Part of the three.ws SDK suite — 3D AI agents, on-chain identity, and agent payments.
Website · Changelog · GitHub