去中心化存储服务器

Storacha MCP存储服务器是一个基于IPFS和CID的去中心化存储解决方案,支持AI应用通过标准化接口存储和检索文件,确保数据主权和可验证性。

  • by storacha
  • TypeScript
  • 本地部署
  • 13 星标
  • 更新于
在 GitHub 查看 storacha/mcp-storage-server

使用说明

Storacha MCP存储服务器

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

免费存储选项开始🚀

立即开始您的去中心化存储之旅!

  • GitHub用户:使用您的GitHub帐户注册并立即收到 100MB免费存储空间 --无需信用卡!
  • 电子邮件用户:使用您的电子邮件注册并添加信用卡以解锁 5GB可用存储空间.

用例

  • 文件存储和分析:安全上传和检索Blob文档。
  • 长期结构化数据存储:维护针对寿命和可访问性进行优化的结构化数据存储。
  • 代理和系统之间的数据共享:使用以下工具轻松跨多个代理和不同系统共享数据 CID(内容标识符),实现去中心化、可验证和高效的数据交换。
  • 应用程序集成:通过模型上下文协议将Storacha存储检索无缝集成到应用程序中。
  • AI模型开发:通过提供可靠的版本控制和对存储在Storacha中的外部数据集的访问来支持AI模型。
  • LLM集成:通过直接与Storacha Storage连接以实现无缝数据访问,增强大型语言模型(LLM)。
  • 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
      

      输出:

      ? How do you want to login?
        Via Email
      ❯ Via GitHub
      

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

    • 创建空间

      w3 space create <your_space_name>
      

      替换 <your_space_name> 为您的新空间命名.:警告: 请确保保存恢复密钥,以便在需要时可以从其他设备访问您的空间。

    • 创建私钥

      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": {
            // The server supports `stdio`, `sse`, and `rest` modes, the default is `stdio`.
            "MCP_TRANSPORT_MODE": "stdio",
            // The Storacha Agent private key that is authorized to store data into the Space.
            "PRIVATE_KEY": "<agent_private_key>",
            // The base64 encoded delegation that proves the Agent is allowed to store data. If not set, MUST be provided for each upload request.
            "DELEGATION": "<base64_delegation>",
          },
          "shell": true,
          "cwd": "./",
        },
      },
    }
    

    替换 <agent_private_key> 使用您在步骤3中创建的私钥。然后,更换 <base64_delegation> 使用您在步骤3中创建的代表团。

    REST模式和云托管

    Storacha MCP存储服务器支持REST传输模式,该模式与MCP.so云托管兼容。要使用REST模式,请执行以下操作:

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

    有关部署到MCP.so云的更多信息,请参阅 集成.md 导游。

    :警告:有几种方法可以配置MCP客户端,请阅读 集成.md 更多信息请参阅指南。

工具

Storacha MCP Storage Server为AI系统提供了以下工具,用于与去中心化存储网络进行交互。

存储操作

上传

将文件上传到Storacha网络。该文件必须以base64编码的字符串形式提供,文件名中必须包含MIME类型检测的扩展名。

interface UploadParams {
  // Base64 encoded file content
  file: string;
  // Filename with extension for MIME type detection
  name: string;
  // Optional: Whether to publish to Filecoin (default: false)
  publishToFilecoin?: boolean;
  // Optional: Custom delegation proof
  delegation?: string;
  // Optional: Custom gateway URL
  gatewayUrl?: string;
}

检索

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

interface RetrieveParams {
  // Path in format: CID/filename, /ipfs/CID/filename, or ipfs://CID/filename
  filepath: string;
  // Optional: Whether to use multiformat base64 encoding
  useMultiformatBase64?: boolean;
}

身份

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

interface IdentityParams {
  // No parameters required
}

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

许可证

MIT或Apache 2许可证

支持

如需支持,请访问 Storacha支持 或在此存储库中打开问题。

认证