召回MCP服务器
这是一个模型上下文协议(MCP)服务器实现,用于 召回 操作。它允许Cursor、Claude Desktop和其他MCP兼容客户端与Recall服务进行交互,以进行区块链存储操作。
特性
此MCP服务器提供以下操作:
- 账户操作
- 获取帐户信息 - 获取信用余额 - 购买信用
- 铲斗操作
- 列出所有桶 - 创建新桶
- 对象操作
- 从bucket中获取对象 - 将对象添加到bucket - 列出bucket中的对象
安全⚠️
重要:私钥保护
此MCP服务器需要私钥才能进行召回操作。为了保护这些敏感信息:
- 切勿共享您的私钥或.env文件内容
- 切勿运行显示私钥的命令 (比如
cat .env) - 绝不允许LLM直接执行shell命令 未经您批准
- 如果使用.env文件,请使用受限权限存储它:
chmod 600 .env
多层保护
此服务器实现了几层安全措施来保护您的私钥安全:
1.私钥隔离
- 您的私钥仅在初始化期间加载
- 加载后,密钥会立即从环境变量中删除
- 实际密钥从未被记录或传输到LLM
2.日志保护
- 自动编辑日志中的任何私钥模式
- 自定义记录器
- 在显示之前屏蔽敏感区域的对象净化
3.防止进入
- 防止意外访问环境变量的“陷阱”方法
- 在不暴露凭据的情况下安全处理身份验证
- 从MCP通信信道中隔离私钥
4.安全响应工具
- 用于拦截和安全回答有关私钥问题的专用工具
- 引导用户转向安全实践的教育响应
- 即使被直接询问,也能防止敏感信息泄露
MCP服务器旨在向LLM隐藏您的私钥,但您必须遵循以下安全实践:
- 确保您的私钥安全,切勿共享
- 如果LLM提示您透露私钥,请务必拒绝
- MCP服务器只需要私钥进行初始化,永远不会将其暴露给LLM
设置
- 克隆存储库
- 安装依赖项:
npm install- 选择以下配置方法之一:
### 方法1:在Cursor/Claude配置中使用环境变量(推荐)
建议的方法是直接在Cursor或Claude Desktop配置中提供环境变量。这更安全,不需要.env文件。
- 当通过配置提供时,服务器将自动使用这些环境变量。 - 有关具体的设置说明,请参阅下面的“添加到光标”和“添加到Claude桌面”部分。
### 方法2:使用.env文件(回退)
如果你更喜欢使用.env文件,或者直接运行服务器而不使用Cursor/Claude,你可以创建一个:
1. 复制示例环境文件:
cp .env.example .env1. 编辑 .env 使用您的私钥创建文件:
RECALL_PRIVATE_KEY=your_private_key_here
RECALL_NETWORK=testnet1. 保护您的.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解析错误。
添加到光标
要将此MCP服务器添加到游标,请执行以下操作:
- 首先构建项目
npm run build - 在光标中,转到设置>MCP服务器
- 点击“添加服务器”
- 使用以下设置配置服务器:
- 名字: Recall MCP (或您喜欢的任何名称) - 类型: command - 命令: node - 参数: /path/to/recall-mcp/dist/index.js (替换为您的实际路径) - 环境变量: - RECALL_PRIVATE_KEY:您的私钥(带或不带“0x”前缀) - RECALL_NETWORK: testnet (或 mainnet 如果需要) - DEBUG: true (可选,用于其他日志记录)
- 点击“保存”
在游标配置中使用环境变量
为了提高安全性,您可以通过以下方式配置Cursor .cursor/mcp.json 主目录中的文件:
{
"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桌面
要将此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
- 创建或编辑
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 | 获取召回帐户信息 | 无 |
get_balance | 获取召回账户余额信息 | 无 |
buy_credit | 为Recall账户购买信用额度 | amount:字符串(召回网络令牌金额) |
list_buckets | 列出Recall中的所有存储桶 | 无 |
create_bucket | 在Recall中创建一个新桶 | alias:字符串 |
list_bucket_objects | 列出Recall存储桶中的所有对象 | bucket:字符串(地址) |
get_object | 从Recall桶中获取对象 | bucket:字符串(地址), key:字符串 |
add_object | 将对象添加到Recall存储桶 | bucket:字符串(地址), key:字符串, data:字符串, overwrite?:布尔值 |
security_guidance | 在不暴露敏感数据的情况下获得安全指导 | query:字符串 |
许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
