返回市场
MCP存储服务器

MCP存储服务器

作者:storacha12 星标更新:2025-06-28

项目介绍

Storacha MCP 存储服务器

Storacha MCP 存储服务器是一个用于热存储的模型上下文协议(MCP)服务器实现,允许AI应用程序通过标准化接口存储和检索文件。它利用IPFS和内容标识符(CIDs)实现无信任、去中心化的数据交换,确保数据主权、可验证性和与代理框架及AI系统的无缝集成。

免费存储选项立即开始 🚀

今天就开始您的去中心化存储之旅!

  • GitHub 用户:使用您的GitHub账户注册,并立即获得100MB免费存储空间——无需信用卡!
  • 电子邮件用户:使用您的电子邮件注册并添加信用卡以解锁5GB免费存储空间

使用案例

  • 文档存储与分析:安全上传和检索Blob文档。
  • 长期结构化数据存储:维护优化持久性和访问性的结构化数据存储。
  • 代理和系统间的数据共享:使用**CIDs(内容标识符)**轻松在多个代理和不同系统之间共享数据,实现去中心化、可验证且高效的数交换。
  • 应用集成:通过模型上下文协议无缝地将Storacha存储检索集成到应用程序中。
  • AI 模型开发:通过提供可靠版本控制和对外部数据集的访问支持AI模型,这些数据集存储在Storacha中。
  • 大型语言模型集成:通过直接连接到Storacha存储来增强大型语言模型(LLMs),实现无缝数据访问。
  • Web 应用备份:可靠地存储Web应用程序的备份副本,以便灾难恢复。
  • 机器学习数据集:高效管理和访问用于机器学习工作流的大数据集。

快速安装指南

只需几个简单的步骤即可开始使用Storacha MCP存储服务器。

  1. 克隆仓库

    git clone https://github.com/storacha/mcp-storage-server.git && cd mcp-storage-server
    
  2. 安装依赖

    pnpm install
    
  3. 生成密钥与委托

    • 安装CLI

      npm install -g @web3-storage/w3cli
      
    • 登录Storacha

      w3 login
      

      输出:

      ? 如何登录?
        通过电子邮件
      ❯ 通过GitHub
      

      选择通过GitHub并使用您的GitHub账户进行身份验证。

    • 创建一个空间

      w3 space create <your_space_name>
      

      _替换 <your_space_name> 为您新空间的名字。:warning: 请务必保存恢复密钥,以便需要时可以从其他设备访问您的空间。

    • 创建私钥

      w3 key create
      

      输出:

      AgentId: did:key:z6MkhMZRW2aoJ6BQwkpMSJu68Jgqkz1FTpr1p69cpnN43YWG
      PrivateKey: LMgCYLkvOc8Sm0mOL4cWFLxsWP0ZPEYrLxcQqsV93/s5RLje0BKx05muAse1Hkvh+sxUW38OcHtpiN1zxfpTJ4ht4jxV0=
      
    • 设置代理ID并创建委托

      w3 delegation create <agent_id> \
       --can 'store/add' \
       --can 'filecoin/offer' \
       --can 'upload/add' \
       --can 'space/blob/add' \
       --can 'space/index/add' --base64
      

      替换 <agent_id> 为上一步中的AgentId。这授予代理权限将文件存储到最近创建的空间中。

  4. 配置MCP客户端

    接下来,配置您的MCP客户端(如Cursor)以使用此服务器。大多数MCP客户端将配置存储为以下格式的JSON:

    {
      "mcpServers": {
        "storacha-storage-server": {
          "command": "node",
          "args": ["./dist/index.js"],
          "env": {
            // 服务器支持 `stdio`, `sse`, 和 `rest` 模式,默认是 `stdio`。
            "MCP_TRANSPORT_MODE": "stdio",
            // 被授权将数据存储到空间中的Storacha代理私钥。
            "PRIVATE_KEY": "<agent_private_key>",
            // 证明代理被允许存储数据的base64编码委托。如果未设置,则必须为每次上传请求提供。
            "DELEGATION": "<base64_delegation>",
          },
          "shell": true,
          "cwd": "./",
        },
      },
    }
    

    替换 <agent_private_key> 为第3步中创建的PrivateKey,然后替换 <base6_64_delegation> 为第3步中创建的委托。

    REST模式和云托管

    Storacha MCP存储服务器支持REST传输模式,该模式兼容MCP.so云托管。要使用REST模式:

    {
      "mcpServers": {
        "storacha-storage-server-rest": {
          "url": "http://localhost:3001/rest",
        },
      },
    }
    

    更多关于部署到MCP.so云的信息,请参阅集成指南

    :warning: 配置MCP客户端有多种方式,请阅读集成指南获取更多信息。

工具

Storacha MCP存储服务器提供了以下工具供AI系统与去中心化存储网络交互。

存储操作

上传

将文件上传到Storacha网络。文件必须作为包含扩展名的base64编码字符串提供,用于MIME类型检测。

interface UploadParams {
  // base64编码的文件内容
  file: string;
  // 包含扩展名的文件名,用于MIME类型检测
  name: string;
  // 可选:是否发布到Filecoin(默认:false)
  publishToFilecoin?: boolean;
  // 可选:自定义委托证明
  delegation?: string;
  // 可选:自定义网关URL
  gatewayUrl?: string;
}

检索

从Storacha网络检索文件。支持的文件路径格式:CID/文件名/ipfs/CID/文件名ipfs://CID/文件名

interface RetrieveParams {
  // 路径格式:CID/文件名,/ipfs/CID/文件名,或ipfs://CID/文件名
  filepath: string;
  // 可选:是否使用多格式base64编码
  useMultiformatBase64?: boolean;
}

身份

返回从私钥存储配置加载的Storacha代理的DIDKey

interface IdentityParams {
  // 不需要参数
}

有关详细代码示例和不同的集成模式(SDK、Docker等),请参阅集成指南

许可证

MIT 或 Apache 2 许可证

支持

如有问题,请访问Storacha支持页面或在此仓库中打开一个issue。

认证