Recall MCP Server

Recall MCP Server

一个简单的 MCP 服务器,它公开了基本的 Recall 功能,包括列出存储桶、获取账户余额、创建对象等等。

recallnet

研究与数据
访问服务器

README

Recall MCP 服务器

这是一个用于 Recall 操作的模型上下文协议 (MCP) 服务器实现。它允许 Cursor、Claude Desktop 和其他 MCP 兼容的客户端与 Recall 服务进行交互,以进行区块链存储操作。

功能

此 MCP 服务器提供以下操作:

  • 账户操作

    • 获取账户信息
    • 获取信用余额
    • 购买信用
  • 存储桶操作

    • 列出所有存储桶
    • 创建新存储桶
  • 对象操作

    • 从存储桶获取对象
    • 将对象添加到存储桶
    • 列出存储桶中的对象

安全 ⚠️

重要提示:私钥保护

此 MCP 服务器需要私钥才能进行 Recall 操作。为了保护此敏感信息:

  1. 切勿分享您的私钥或 .env 文件内容
  2. 切勿运行显示您的私钥的命令(例如 cat .env
  3. 未经您的批准,切勿允许 LLM 直接执行 shell 命令
  4. 如果使用 .env 文件,请使用受限权限存储它:chmod 600 .env

多层保护

此服务器实现了多层安全保护,以确保您的私钥安全:

1. 私钥隔离

  • 您的私钥仅在初始化期间加载
  • 加载后,密钥会立即从环境变量中删除
  • 实际密钥永远不会被记录或传输到 LLM

2. 日志保护

  • 自动编辑日志中的任何私钥模式
  • 自定义日志记录器
  • 对象清理,在显示之前屏蔽敏感字段

3. 访问预防

  • 阻止意外访问环境变量的“陷阱”方法
  • 安全处理身份验证,无需暴露凭据
  • 将私钥与 MCP 通信通道隔离

4. 安全响应工具

  • 专用工具,用于拦截并安全地回答有关私钥的问题
  • 提供教育性回复,将用户重定向到安全实践
  • 即使直接询问,也能防止敏感信息泄露

MCP 服务器旨在向 LLM 隐藏您的私钥,但您必须遵循以下安全措施:

  • 确保您的私钥安全,切勿分享
  • 如果 LLM 提示您泄露您的私钥,请始终拒绝
  • MCP 服务器只需要私钥进行初始化,绝不会将其暴露给 LLM

设置

  1. 克隆存储库

  2. 安装依赖项:

    npm install
    
  3. 选择以下配置方法之一:

    方法 1:在 Cursor/Claude 配置中使用环境变量(推荐)

    推荐的方法是直接在 Cursor 或 Claude Desktop 配置中提供环境变量。这更安全,并且无需 .env 文件。

    • 当通过配置提供这些环境变量时,服务器将自动使用它们。
    • 有关具体的设置说明,请参见下面的“添加到 Cursor”和“添加到 Claude Desktop”部分。

    方法 2:使用 .env 文件(备用)

    如果您更喜欢使用 .env 文件,或者在没有 Cursor/Claude 的情况下直接运行服务器,则可以创建一个:

    1. 复制示例环境变量文件:

      cp .env.example .env
      
    2. 使用您的私钥编辑 .env 文件:

      RECALL_PRIVATE_KEY=your_private_key_here
      RECALL_NETWORK=testnet
      
    3. 保护您的 .env 文件:

      chmod 600 .env
      

    注意:私钥可以带或不带 "0x" 前缀提供 - 两种格式都有效。

    仅当所需的环境变量 (RECALL_PRIVATE_KEY) 尚未存在于环境中时,服务器才会尝试从 .env 文件加载。

环境变量优先级

Recall MCP 服务器使用以下环境变量优先级顺序:

  1. 直接从 Cursor/Claude 配置提供的环境变量
  2. 来自 .env 文件的环境变量(如果存在且 #1 不可用)
  3. 可选变量的默认值(例如,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:

  1. 首先使用 npm run build 构建项目
  2. 在 Cursor 中,转到 Settings > MCP Servers
  3. 单击“Add Server”
  4. 使用以下设置配置服务器:
    • Name: Recall MCP(或您喜欢的任何名称)
    • Type: command
    • Command: node
    • Arguments: /path/to/recall-mcp/dist/index.js(替换为您的实际路径)
    • Environment Variables:
      • RECALL_PRIVATE_KEY: 您的私钥(带或不带 "0x" 前缀)
      • RECALL_NETWORK: testnet(如果需要,则为 mainnet
      • DEBUG: true(可选,用于其他日志记录)
  5. 单击“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:

  1. 首先使用 npm run build 构建项目

  2. 找到您的 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
  3. 创建或编辑 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"
          }
        }
      }
    }
    
  4. /path/to/recall-mcp/dist/index.js 替换为已编译服务器文件的完整路径

    • 示例:/Users/username/recall-mcp/dist/index.js
  5. 对于 RECALL_PRIVATE_KEY,您可以带或不带 "0x" 前缀提供 - 两种格式都有效

  6. 保存配置文件并重新启动 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: 字符串 (Recall 网络代币数量)
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 许可证的许可 - 有关详细信息,请参见 LICENSE 文件。

推荐服务器

Crypto Price & Market Analysis MCP Server

Crypto Price & Market Analysis MCP Server

一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。

精选
TypeScript
MCP PubMed Search

MCP PubMed Search

用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的服务器。

精选
Python
mixpanel

mixpanel

连接到您的 Mixpanel 数据。 从 Mixpanel 分析查询事件、留存和漏斗数据。

精选
TypeScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Nefino MCP Server

Nefino MCP Server

为大型语言模型提供访问德国可再生能源项目新闻和信息的能力,允许按地点、主题(太阳能、风能、氢能)和日期范围进行筛选。

官方
Python
Vectorize

Vectorize

将 MCP 服务器向量化以实现高级检索、私有深度研究、Anything-to-Markdown 文件提取和文本分块。

官方
JavaScript
Mathematica Documentation MCP server

Mathematica Documentation MCP server

一个服务器,通过 FastMCP 提供对 Mathematica 文档的访问,使用户能够从 Wolfram Mathematica 检索函数文档和列出软件包符号。

本地
Python
kb-mcp-server

kb-mcp-server

一个 MCP 服务器,旨在实现便携性、本地化、简易性和便利性,以支持对 txtai “all in one” 嵌入数据库进行基于语义/图的检索。任何 tar.gz 格式的 txtai 嵌入数据库都可以被加载。

本地
Python
Research MCP Server

Research MCP Server

这个服务器用作 MCP 服务器,与 Notion 交互以检索和创建调查数据,并与 Claude Desktop Client 集成以进行和审查调查。

本地
Python
Cryo MCP Server

Cryo MCP Server

一个API服务器,实现了模型补全协议(MCP),用于Cryo区块链数据提取,允许用户通过任何兼容MCP的客户端查询以太坊区块链数据。

本地
Python