Back to MCP directory
publicPublicdnsLocal runtime

Storacha

Storacha MCP存储服务器是一个基于IPFS和CID的去中心化存储解决方案,为AI应用提供标准化文件存储与检索接口,支持数据主权、可验证性和跨系统集成。

article

README

🚀 Storacha MCP 存储服务器

Storacha MCP 存储服务器是一个用于 Storacha 热存储的模型上下文协议(MCP)服务器实现。它为 AI 应用程序提供了标准化接口,使其能够轻松地存储和检索文件。该服务器利用 IPFS 和 CID 实现去中心化、无需信任的数据交换,保障了数据主权和可验证性,还能与代理框架及 AI 系统实现无缝集成。

🚀 快速开始

免费存储选项

今天即可开启您的去中心化存储之旅!

  • GitHub 用户:使用 GitHub 账户注册,即可获得 100MB 的免费存储空间 — 无需信用卡!
  • 邮箱用户:通过邮箱注册并添加一张信用卡,解锁 5GB 的免费存储空间

✨ 主要特性

  • 文档存储与分析:安全上传和检索 blob 文档。
  • 长期结构化数据存储:维护适合长期保存和访问的结构化数据。
  • 代理交互:支持与代理框架及 AI 系统的无缝集成,实现灵活的数据管理。

📦 安装指南

项目初始化

git clone https://github.com/storacha/mcp-storage-server.git
cd mcp-storage-server
npm install

配置存储服务器

编辑 config.json 文件:

{
  "storage": {
    "provider": "ipfs",
    "nodeUrl": "http://localhost:5001"
  },
  "identity": {
    "privateKey": "your-private-key-here"
  }
}

启动服务器

npm start

💻 使用示例

基础用法

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/filename/ipfs/CID/filenameipfs://CID/filename

interface RetrieveParams {
  // 路径格式:CID/
help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client