关于 Recall MCP Server
Recall MCP Server 供兼容 MCP 的客户端管理 Recall 账户、存储桶和对象,并为 Recall 操作所需的私钥提供保护措施。
主要功能
- 01查看账户信息和余额
- 02购买账户额度
- 03列出并创建存储桶
- 04列出、读取和添加对象
- 05私钥保护与安全指导
适用场景
- 01在 MCP 客户端查看 Recall 账户余额
- 02创建存储桶并添加或读取对象
- 03在不暴露凭据的情况下获取安全指导
MCP 相关
将 Recall 账户、存储桶和对象操作作为工具提供给 MCP 客户端,并提供安全指导工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Recall MCP 服务
这是一个用于执行 Recall 操作的 Model Context Protocol(MCP)服务实现。它允许 Cursor、Claude Desktop 和其他兼容 MCP 的客户端与 Recall 服务交互,执行区块链存储操作。
功能
此 MCP 服务提供以下操作:
-
账户操作
- 获取账户信息
- 获取信用额度余额
- 购买信用额度
-
存储桶操作
- 列出所有存储桶
- 创建新存储桶
-
对象操作
- 从存储桶获取对象
- 向存储桶添加对象
- 列出存储桶中的对象
安全 ⚠️
重要:保护私钥
此 MCP 服务需要私钥才能执行 Recall 操作。为保护此敏感信息:
- 绝不要分享私钥或
.env文件内容 - 绝不要运行会显示私钥的命令(例如
cat .env) - 未经批准,绝不要允许大模型直接执行 Shell 命令
- 如果使用
.env文件,请设置受限权限:chmod 600 .env
多层防护
此服务实现了多层安全措施,以保护您的私钥:
1. 私钥隔离
- 私钥仅在初始化期间加载
- 加载后,私钥会立即从环境变量中移除
- 实际私钥绝不会记录日志或传输给大模型
2. 日志保护
- 自动遮盖日志中的所有私钥模式
- 自定义日志记录器
- 在显示对象前对其进行清理,遮盖敏感字段
3. 访问防护
- 使用“陷阱”方法,防止意外访问环境变量
- 安全处理身份验证,不暴露凭据
- 将私钥与 MCP 通信通道隔离
4. 安全响应工具
- 专用工具,用于拦截并安全回答有关私钥的问题
- 提供教育性答复,引导用户采用安全做法
- 即使有人直接询问,也能防止敏感信息泄露
此 MCP 服务旨在对大模型隐藏您的私钥,但您必须遵循以下安全做法:
- 妥善保管私钥,绝不要分享
- 如果大模型要求您透露私钥,务必拒绝
- MCP 服务仅在初始化时需要私钥,绝不会将其暴露给大模型
设置
-
克隆仓库
-
安装依赖项:
npm install -
选择以下一种配置方式:
方法 1:在 Cursor/Claude 配置中使用环境变量(推荐)
推荐的做法是在 Cursor 或 Claude Desktop 配置中直接提供环境变量。这样更安全,也无需创建
.env文件。- 通过配置提供环境变量时,服务将自动使用这些变量。
- 具体设置说明请参阅下方的“添加到 Cursor”和“添加到 Claude Desktop”部分。
方法 2:使用
.env文件(备用)如果您倾向于使用
.env文件,或在不使用 Cursor/Claude 的情况下直接运行服务,可以创建一个:-
复制示例环境文件:
cp .env.example .env -
在
.env文件中填写私钥:RECALL_PRIVATE_KEY=your_private_key_here RECALL_NETWORK=testnet -
保护
.env文件:chmod 600 .env
注意:私钥可以带或不带
"0x"前缀,两种格式均可使用。只有当环境中尚未设置所需的环境变量(
RECALL_PRIVATE_KEY)时,服务才会尝试从.env文件加载。
环境变量优先级
Recall MCP 服务的环境变量按以下优先级使用:
- 直接从 Cursor/Claude 配置中提供的环境变量
.env文件中的环境变量(如果存在,且 #1 不可用)- 可选变量的默认值(例如,RECALL_NETWORK 默认为 "testnet")
用法
构建和运行
npm run build
npm run start
开发模式
npm run dev
开发重要提示
开发 MCP 服务时,所有调试和日志输出都应使用 console.error(),而不是 console.log()。Claude Desktop 应用通过 stdout 与服务通信,因此任何 console.log() 语句都会干扰通信并导致 JSON 解析错误。
添加到 Cursor
要将此 MCP 服务添加到 Cursor:
- 首先使用
npm run build构建项目 - 在 Cursor 中,前往 Settings > MCP Servers
- 点击 "Add Server"
- 使用以下设置配置服务:
- 名称:
Recall MCP(或你喜欢的任何名称) - 类型:
command - 命令:
node - 参数:
/path/to/recall-mcp/dist/index.js(替换为你的实际路径) - 环境变量:
RECALL_PRIVATE_KEY:你的私钥(可带或不带 "0x" 前缀)RECALL_NETWORK:testnet(如有需要,也可设为mainnet)DEBUG:true(可选,用于启用更多日志)
- 名称:
- 点击 "Save"
在 Cursor 配置中使用环境变量
为了提高安全性,你可以通过主目录中的 .cursor/mcp.json 文件配置 Cursor:
{
"mcpServers": {
"recall-mcp": {
"name": "Recall MCP",
"type": "command",
"command": "node",
"args": ["/path/to/recall-mcp/dist/index.js"],
"env": {
"RECALL_PRIVATE_KEY": "your-private-key-here",
"RECALL_NETWORK": "testnet",
"DEBUG": "true"
}
}
}
}
这种方法无需使用 .env 文件。
添加到 Claude Desktop
要将此 MCP 服务添加到 Claude Desktop:
-
首先使用
npm run build构建项目 -
找到 Claude Desktop 配置文件:
- 在 macOS 上:
~/Library/Application Support/Claude/claude_desktop_config.json - 在 Windows 上:
%APPDATA%\Claude\claude_desktop_config.json - 在 Linux 上:
~/.config/Claude/claude_desktop_config.json
- 在 macOS 上:
-
使用以下内容创建或编辑
claude_desktop_config.json文件:{ "mcpServers": { "recall-mcp-server": { "name": "Recall MCP", "type": "command", "command": "node", "args": [ "/path/to/recall-mcp/dist/index.js" ], "env": { "RECALL_PRIVATE_KEY": "your-private-key-here", "RECALL_NETWORK": "testnet", "DEBUG": "true" } } } } -
将
/path/to/recall-mcp/dist/index.js替换为编译后服务文件的完整路径- 示例:
/Users/username/recall-mcp/dist/index.js
- 示例:
-
对于
RECALL_PRIVATE_KEY,可带或不带 "0x" 前缀,两种格式均可使用 -
保存配置文件并重启 Claude Desktop
如果 Claude Desktop 遇到问题,请查看以下位置的日志:
- 在 macOS 上:
~/Library/Logs/Claude/ - 在 Windows 上:
%USERPROFILE%\AppData\Local\Claude\Logs\ - 在 Linux 上:
~/.local/share/Claude/logs/
使用 MCP 工具
有关在 Cursor 或 Claude Desktop 中使用 Recall MCP 工具的详细说明和示例,请参阅用法指南。
MCP 工具
该服务提供以下 MCP 工具:
| 工具名称 | 描述 | 参数 |
|---|---|---|
get_account | 获取 Recall 账户信息 | 无 |
get_balance | 获取 Recall 账户余额信息 | 无 |
buy_credit | 为 Recall 账户购买额度 | amount:String(Recall Network 代币数量) |
list_buckets | 列出 Recall 中的所有存储桶 | 无 |
create_bucket | 在 Recall 中创建新的存储桶 | alias:String |
list_bucket_objects | 列出 Recall 存储桶中的所有对象 | bucket:String(地址) |
get_object | 从 Recall 存储桶中获取对象 | bucket:String(地址),key:String |
add_object | 向 Recall 存储桶添加对象 | bucket:String(地址),key:String,data:String,overwrite?:Boolean |
security_guidance | 获取安全指导,不暴露敏感数据 | query:String |
许可证
本项目采用 MIT License 授权,详情请参阅 LICENSE 文件。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。