深色模式
MCP 接入八大客户端
Reeve 通过 MCP(Model Context Protocol) 把自己的工具暴露给 AI 客户端。一键签发 Token + 自动写客户端配置文件。
进入
主界面左侧导航 → MCP 接入。
三个通道
Reeve 同时挂三种 MCP 传输:
| 通道 | 监听 | 谁用 |
|---|---|---|
| 进程内 duplex | tokio::io::duplex(无网络) | 内置 AI 桥接 |
| stdio sidecar | reeve-mcp.exe stdio | Claude Code / Codex / Cursor 等本机 CLI |
| 本地 Streamable HTTP | 127.0.0.1:<随机端口> + Bearer Token | claude.ai 网页版 / 远程客户端走 SSH 隧道 |
永不绑公网
所有 transport 都只绑 127.0.0.1(或私有网卡的 CIDR 白名单),永远不监听 0.0.0.0。
八大客户端一键接入
页面中部的客户端卡片网格,点 接入 即可配置:
| 客户端 | 配置文件 | 通道 |
|---|---|---|
| Claude Code | ~/.claude.json (User) 或 <project>/.mcp.json (Project) | stdio |
| Codex CLI | ~/.codex/config.toml | stdio |
| Claude Desktop | ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)%APPDATA%\Claude\claude_desktop_config.json (Windows) | stdio |
| Cursor | ~/.cursor/mcp.json | stdio |
| Cline (VSCode 扩展) | ~/Library/.../cline_mcp_settings.json | stdio |
| Zed Editor | ~/.config/zed/settings.json 的 context_servers | stdio |
| OpenCode | ~/.config/opencode/config.json | stdio |
| claude.ai 网页版 | 手动配 Streamable HTTP | HTTP |
接入流程(以 Claude Code 为例)
- 点 Claude Code 卡片 → 弹窗
- 选择参数:
字段 选项 作用域 User(全局)/ Project(当前项目) Token 名 自取,例如 Claude Code on Mac可见服务器 默认全选,可裁剪 IP 白名单 (CIDR) 默认 127.0.0.1/32 - 点 生成并写入配置
- Reeve 自动:
- 生成一次性高熵 Bearer Token(URL-safe base64)
- Hash 后入数据库(明文只在写入客户端配置时存在)
- 写入客户端配置文件(含
command+args+env) - 启动本地 MCP 端点(如果还没启)
Token 列表
页面下部显示已签发的所有 Token:
| 字段 | 说明 |
|---|---|
| 名称 | 接入时填的 |
| 客户端 | Claude Code / Codex / Cursor 等 |
| 作用域 | User / Project |
| 可见服务器 | 数量 + 鼠标悬停看清单 |
| IP 白名单 | CIDR |
| 创建时间 | |
| 最后使用 | |
| 操作 | 复制(仅一次) / 删除 |
一次性复制
Token 明文只在创建时返回一次:
- 创建时弹窗显示完整 Token + 复制按钮
- 关闭弹窗后永远无法再看到明文
- 数据库只存 SHA256 hash
- 误关闭弹窗 → 只能删除重新签发
删除 Token
行内 删除 按钮:
- Token Hash 从库删除
- 客户端再请求时 Reeve 返回 401
- 客户端配置文件里残留的 Token 失效
- 写审计
token_revoked
手动接入(不在八大客户端里的)
页面底部 手动接入 折叠区,展示 3 种通用配置:
stdio JSON
json
{
"mcpServers": {
"reeve": {
"command": "<安装目录>/reeve-mcp.exe",
"args": [],
"env": {
"REEVE_TOKEN": "<在 Token 列表复制>",
"REEVE_RPC_PORT": "<本地端口>",
"REEVE_PROJECT": "<可选 项目目录>"
}
}
}
}Streamable HTTP
URL: http://127.0.0.1:<port>/mcp
Header: Authorization: Bearer <token>TOML(Codex 风格)
toml
[mcp_servers.reeve]
command = "<安装目录>/reeve-mcp.exe"
args = []
env = { REEVE_TOKEN = "...", REEVE_RPC_PORT = "..." }工具清单
MCP 端点暴露的工具(AI 通过 schema 自动发现):
元工具(任何档位放行)
| 工具 | 说明 |
|---|---|
list_servers | 列出可见服务器(仅别名 + 标签,不含凭据) |
list_skills | 列出可用技能 |
evaluate_skills | 按 prompt 匹配技能 |
get_skill | 读取技能完整 SKILL.md |
list_runbooks | 列项目 Runbook |
recall_experience | 检索项目 经验库 |
只读工具
| 工具 | 说明 |
|---|---|
system_info | uname + uptime + load |
disk_usage | df 输出 |
service_status | systemctl status |
port_check | nc / ss 端口探测 |
tail_log | 拉日志 N 行 |
sftp_list | 列目录 |
sftp_read | 读文件(过脱敏) |
db_query | 只读 SELECT/WITH |
redis_scan / redis_get | Redis 只读 |
改动工具
| 工具 | 说明 | 拦截 |
|---|---|---|
ssh_exec | 单条命令 | 危险黑名单永拦;sudo 强制审批 |
ssh_exec_script | 多行脚本 | 同上 |
ssh_exec_multi | 多机并行 | 每台独立过策略 |
sftp_write | 写文件 | /etc/shadow 等敏感路径永拦 |
db_execute | INSERT/UPDATE/DELETE | DROP/TRUNCATE 无 WHERE 永拦 |
db_transaction | 1-50 条原子 | 同上 |
redis_set / redis_del | Redis 写 | FLUSHALL / CONFIG / SHUTDOWN 永拦 |
redis_exec | 任意 Redis 命令 | 同上 |
install_with_secret | 一键装服务 | 强密码 + 凭据加密 + AI 看不到 |
run_runbook | 执行项目 Runbook | 多步独立过策略 |
详细策略见 AI 五档策略。
故障排查
| 症状 | 排查 |
|---|---|
| 客户端找不到 reeve-mcp.exe | 检查 Reeve 安装目录,重新点接入触发 path 重写 |
| 401 Unauthorized | Token 已删除 / 已轮换;重新接入 |
| 工具调用超时 | 主密码可能锁了,先解锁 |
| AI 看不到某些服务器 | Token 的「可见服务器」字段未勾选 |
| 端口冲突 | Reeve 启动时自动选随机端口;查看 mcp-rpc.json |
项目级 Token
如果在 项目空间 里:
- 自动签发项目级 Token
- 写入
<project>/.mcp.json - 配套 env
REEVE_PROJECT=<目录>REEVE_TOKEN=<token> - Claude Code 进到该目录自动用项目 Token + 项目空间隔离