内容
<p align="center">
<a href="https://three.ws"><img src="https://three.ws/three-ws-mcp-icon.svg" alt="three.ws" width="88" height="88"></a>
</p>
<h1 align="center">@three-ws/autopilot-mcp</h1>
<p align="center"><strong>人工智能代理的自主执行控制平面 - 设置自动驾驶范围、每日SOL支出上限和自动执行,然后运行提出 → 执行 → 撤销循环,所有操作均可从任何MCP客户端执行。</strong></p>
<p align="center">
<a href="https://www.npmjs.com/package/@three-ws/autopilot-mcp"><img alt="npm" src="https://img.shields.io/npm/v/@three-ws/autopilot-mcp?logo=npm&color=cb3837"></a>
<img alt="license" src="https://img.shields.io/npm/l/@three-ws/autopilot-mcp?color=3b82f6">
<img alt="node" src="https://img.shields.io/node/v/@three-ws/autopilot-mcp?color=339933&logo=node.js">
<a href="https://registry.modelcontextprotocol.io/?q=io.github.nirholas"><img alt="MCP Registry" src="https://img.shields.io/badge/MCP%20Registry-io.github.nirholas-0ea5e9"></a>
<a href="https://three.ws"><img alt="three.ws" src="https://img.shields.io/badge/built%20by-three.ws-000"></a>
</p>
---
> 一个 <a href="https://modelcontextprotocol.io">模型上下文协议</a> 服务器,为AI代理提供其自身的执行控制平面。代理配置其允许行动的边界 - 能力范围、每日SOL支出上限、自动执行和确认策略 - 然后驱动完整的 **提出 → 审查 → 执行 → 撤销** 循环。无需人工干预,但所有边界均在服务器端强制执行:超出范围或超出预算的行动将被拒绝,不会执行。
这是自主代理故事的关键部分。自动驾驶配置和执行以前仅在 three.ws UI/API 后台运行;此服务器公开了它们,以便代理可以管理其自身的防护措施并在其范围内行动。
> ⚠️ **此服务器经过身份验证且写操作频繁。** `execute_proposal` 可以在Solana主网上移动 **真实SOL**,且不可逆转。它仅发送原生SOL - 代理永远不会出售或发送 **$THREE**(它只购买、持有或销毁它)。范围、每日SOL支出上限和确认都在 three.ws 后台强制执行 - 此服务器无法绕过它们。
## 安装
```bash
npm install @three-ws/autopilot-mcp
```
或使用 `npx`(无需安装):
```bash
npx @three-ws/autopilot-mcp
```
## 快速入门
**Claude 代码**,一行(提供您的 three.ws 凭证):
```bash
THREE_WS_API_KEY=sk_live_… claude mcp add autopilot -- npx -y @three-ws/autopilot-mcp
```
**Claude 桌面版 / Cursor** (`claude_desktop_config.json` 或 `mcp.json`):
```json
{
"mcpServers": {
"autopilot": {
"command": "npx",
"args": ["-y", "@three-ws/autopilot-mcp"],
"env": {
"THREE_WS_API_KEY": "sk_live_…"
}
}
}
}
```
使用 MCP 检查器检查表面:
```bash
THREE_WS_API_KEY=sk_live_… npx -y @modelcontextprotocol/inspector npx @three-ws/autopilot-mcp
```
## 身份验证
每个自动驾驶端点都是 **仅限所有者**,因此此服务器经过身份验证。设置 **`THREE_WS_API_KEY`** 为代理所有者的 three.ws 凭证 - either a three.ws **API 密钥** (`sk_live_…` / `sk_test_…`) 或 **OAuth 访问令牌**。它作为 `Authorization: Bearer …` 在每个请求中发送,并标识所有者用户;代理只能管理其拥有的代理。凭证可以授权通过 `execute_proposal` 进行 **真实SOL转账** - 请像密码一样存储它。`THREE_WS_TOKEN` 和 `THREE_WS_BEARER` 被接受为别名。
## 工具
| 工具 | 类型 | 功能 |
| --- | --- | --- |
| `get_autopilot_config` | 只读 | 读取代理的防护措施:启用、范围、自动执行、每日SOL上限、确认策略 - 以及信任。 |
| `set_autopilot_config` | 写入 · 幂等 | 更新防护措施,带有部分补丁(授予范围、设置每日SOL上限、启用/禁用)。不会采取行动。 |
| `generate_proposals` | 写入 | 运行代理的思维:从高显著性记忆和反思中生成真实的、具有来源证明的候选行动。 |
| `list_proposals` | 只读 | 提案队列 - ID、类型、理由、参数、状态、引用的来源。按状态筛选。 |
| `dryrun_proposal` | 只读 | 预览执行提案将 **执行** 的操作(范围 / 上限 / 余额检查),而不会采取任何行动。 |
| `adjust_proposal` | 写入 · 幂等 | 在执行前编辑待处理提案的参数(调整阈值、金额、节奏)。在服务器端验证。 |
| `execute_proposal` | **写入 · 破坏性** | 采取实际行动。 ⚠️ `wallet_transfer` 在主网上移动真实SOL,不可逆转 - 需要 `confirm:true`。永远不会发送$THREE。 |
| `dismiss_proposal` | 写入 | 丢弃待处理提案;记录反馈记忆,以便代理停止提出该提案。 |
| `undo_action` | 写入 | 逆转可逆执行(删除警报规则 / 简报);记录反馈记忆。SOL转账无法撤销。 |
| `list_autopilot_activity` | 只读 | 追加签名的收据日志 - 每个自主行动、其结果、来源和签名。 |
| `compute_trust` | 只读 | 代理的赚取信任级别(沙盒 → 受信任 → 自主),根据实际行动历史计算。 |
五个读取工具反映实时状态(提案、收据、信任在调用之间移动),因此都不是幂等的。`set_autopilot_config` 和 `adjust_proposal` 是幂等写入(重新应用相同的值是无操作的)。`generate_proposals`、`execute_proposal`、`dismiss_proposal` 和 `undo_action` 每个都采取实际行动。
### 输入参数
每个工具都接受 **`agentId`** (您拥有的代理的UUID),除了 `list_autopilot_activity`,其中它是可选的(省略以聚合所有代理)。
- **`get_autopilot_config`** / **`compute_trust`** / **`generate_proposals`** — `agentId`。
- **`set_autopilot_config`** — `agentId`,以及以下任意一个:`enabled`(布尔值),`scopes`(`{ create_alert?, briefing?, wallet_transfer? }`),`autoExecute`(`{ create_alert?, briefing? }`),`dailySpendSol`(数字,SOL;0禁用支出),`requireConfirm`(布尔值)。
- **`list_proposals`** — `agentId`,`status`(`pending` | `executed` | `dismissed` | `undone` | `failed`),`limit`(1-200)。
- **`dryrun_proposal`** / **`dismiss_proposal`** / **`undo_action`** — `agentId`,`proposalId`。
- **`adjust_proposal`** — `agentId`,`proposalId`,`params`(提案类型的完整替换参数)。
- **`execute_proposal`** — `agentId`,`proposalId`,`confirm`(布尔值 - 对于不可逆的SOL转账,需要此参数)。
- **`list_autopilot_activity`** — `agentId`(可选),`limit`(1-200),`cursor`(来自先前的 `next_cursor`)。
## 循环
```jsonc
// 1. 授予代理可逆转的能力
// set_autopilot_config
> { "agentId": "…", "enabled": true, "scopes": { "create_alert": true } }
{ "ok": true, "config": { "enabled": true, "scopes": { "create_alert": true, "briefing": false, "wallet_transfer": false }, "daily_spend_sol": 0, "require_confirm": true } }
// 2. 让代理提出行动建议
// generate_proposals
> { "agentId": "…" }
{ "ok": true, "createdCount": 1, "source": "memory",
"created": [ { "id": "p_…", "kind": "create_alert", "title": "当 $THREE 超过 $0.01 时发出警报",
"rationale": "您对 $THREE 在 $0.01 附近感兴趣 - 我会关注它。", "status": "pending" } ] }
// 3. 在采取行动前进行预览
// dryrun_proposal
> { "agentId": "…", "proposalId": "p_…" }
{ "ok": true, "preview": { "kind": "create_alert", "willDo": "创建真正的警报规则… 可逆。",
"checks": [ { "label": "授予 'create_alert' 范围", "ok": true } ], "blocked": false } }
// 4. 真实执行(可逆转类型 - 无需确认)
execute_proposal
> { "agentId": "…", "proposalId": "p_…" }
{ "ok": true, "receipt": "创建了价格高于警报的警报。", "actionId": "1843", "proposal": { "status": "executed" } }
// 5. 改变主意?撤销它。
// undo_action
> { "agentId": "…", "proposalId": "p_…" }
{ "ok": true, "proposal": { "status": "undone" } }
```
花费真实SOL需要所有者授予 `scopes.wallet_transfer`,设置正的 `dailySpendSol`,并且(除非预授权)`execute_proposal` 必须使用 `confirm:true` 重新发出。所有这些都在服务器端检查。代理仅花费SOL - 它永远不会出售或发送$THREE。
## 要求
- **Node.js >= 20.**
- 代理所有者的 three.ws 凭证(`THREE_WS_API_KEY`)。
- 访问 `https://three.ws`(或您自己的 `THREE_WS_BASE`)。
### 环境变量
| 变量 | 必需 | 默认值 | 说明 |
| --- | --- | --- | --- |
| `THREE_WS_API_KEY` | **是** | — | three.ws API密钥(`sk_live_…`)或OAuth访问令牌。机密。可以移动真实SOL。 |
| `THREE_WS_BASE` | 否 | `https://three.ws` | 仅在自行托管或针对预览时覆盖。 |
| `THREE_WS_TIMEOUT_MS` | 否 | `60000` | 每个请求的超时时间(生成运行服务器端LLM传递)。 |
## 链接
- 首页:https://three.ws
- 更新日志:https://three.ws/changelog
- 问题:https://github.com/nirholas/three.ws/issues
- 许可证:Apache-2.0 - 请参阅 [LICENSE](./LICENSE)
---
<p align="center">
<sub>
three.ws SDK 套件的一部分 - 3D AI 代理、链上身份和代理支付。<br/>
<a href="https://three.ws">网站</a> · <a href="https://three.ws/changelog">更新日志</a> · <a href="https://github.com/nirholas/three.ws">GitHub</a>
</sub>
</p>
## 许可证
版权 © 2026 nirholas。保留所有权利。
该软件是专有的 - 请参阅 [LICENSE](./LICENSE)。未经版权所有者的明确书面许可,不得授予任何权利。