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는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
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일 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Node.js도 있어야 해요.
같은 카테고리에는: Spec Driven Development, Remote Desktop Commander, FactLot
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ 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.
Cited CRE facts and deterministic calculators for agents: rent, CAM, debt sizing, IRR, parcel IDs.
제작자의 저장소에서 쓰인 그대로 가져왔어요. 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