M

MCP IPFS服务器

@alexbakers/mcp-ipfs
0 Stars 480 次浏览 alexbakers 更新于 2026-08-23

语言类型:英语 翻译结果: 🪐 MCP IPFS服务器 该服务器通过无缝包装w3命令,赋予语言模型🤖和其他MCP客户端管理storacha.network空间、上传/下载数据、管理委派以及执行各种其他任务的能力。

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "ipfs": {
      "args": [
        "-y",
        "mcp-ipfs"
      ],
      "command": "npx",
      "env": {
        "W3_LOGIN_EMAIL": "your-email@example.com"
      }
    }
  }
}

服务介绍

🪐 MCP IPFS 服务器 (storacha.network) 🛰️

截图

发布 Docker 发布 NPM npm 版本
smithery 徽章

这是一个用 Node.js 编写的服务器,实现了 Model Context Protocol (MCP),通过 w3 命令行接口 (@web3-storage/w3cli) 与 storacha.network 平台进行交互。

该服务器使语言模型 🤖 和其他 MCP 客户端能够管理 storacha.network 空间、上传/下载数据、管理授权等,并通过无缝包装 w3 命令执行各种其他任务。

✨ 功能

  • 包装了 w3 CLI 以实现与 storacha.network 的原生集成。
  • 提供了覆盖广泛 w3 功能的 MCP 工具:
    • 🔑 认证与代理: w3_login, w3_reset, w3_account_ls(用于检查授权)
    • 📦 空间管理: w3_space_ls, w3_space_use, w3_space_info, w3_space_add, w3_space_provision(注意:由于交互式提示,必须手动运行 w3_space_create
    • 💾 数据管理: w3_up, w3_ls, w3_rm
    • 🔗 共享: w3_open(生成 w3s.link URL)
    • 🤝 授权与证明: w3_delegation_create, w3_delegation_ls, w3_delegation_revoke, w3_proof_add, w3_proof_ls
    • 🔐 密钥与令牌: w3_key_create, w3_bridge_generate_tokens
    • ⚙️ 高级存储(w3 can ...): Blob, CAR, 上传, 索引, 访问声明, Filecoin 信息管理
    • 💳 账户与账单: w3_plan_get, w3_coupon_create, w3_usage_report

🛠️ 前提条件

  • Node.js: 版本 22.0.0 或更高版本 (node -v)。
  • w3 CLI: 服务器直接执行 w3 命令。确保全局安装并配置了 @web3-storage/w3cli
    npm install -g @web3-storage/w3cli
    w3 login <your-email@example.com>
    # 按照电子邮件验证步骤操作
    
  • 环境变量: w3_login 工具需要设置 W3_LOGIN_EMAIL 环境变量为与 w3 login 使用相同的电子邮件。

🏗️ 项目结构

代码库组织如下:

src/
├── index.ts          # Main server entry point, MCP setup, request routing
├── schemas.ts        # Zod schemas defining input arguments for each tool
├── tool_handlers.ts  # Implementation logic for each MCP tool
├── utils.ts          # Helper functions (e.g., running w3 commands, parsing JSON)
└── utils/
    └── logger.ts     # Basic logger configuration

🚀 与 MCP 客户端一起使用

此服务器可以与任何兼容 MCP 的客户端一起使用。你需要配置你的客户端以连接到这个服务器。

示例:NPX(推荐用于简单的本地使用)

这假设已经满足了 npm 和前提条件。

{
  "mcpServers": {
    "ipfs": {
      "command": "npx",
      "args": ["-y", "mcp-ipfs"],
      "env": {
        "W3_LOGIN_EMAIL": "your-email@example.com"
      }
    }
  }
}

示例:Docker

首先构建镜像(参见构建部分)或使用预构建的镜像 alexbakers/mcp-ipfs

{
  "mcpServers": {
    "mcp-ipfs": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-v",
        "/path/to/your/project:/path/to/your/project",
        "-e",
        "W3_LOGIN_EMAIL",
        "alexbakers/mcp-ipfs"
      ],
      "env": {
        "W3_LOGIN_EMAIL": "your-email@example.com"
      }
    }
  }
}

📝 关于路径的注意事项:

请注意,上述翻译保留了原文中的占位符 #0, #1, #2,这些可能是示例代码块的具体内容,在原始文档中未给出。如果需要进一步填充这些部分,请提供具体的代码内容。

几个 w3 命令需要 绝对文件系统路径(例如,w3_upw3_delegation_create --outputw3_proof_addw3_can_blob_addw3_can_store_add)。

  • NPX: 从你的主机提供绝对路径。
  • Docker: 提供容器内的绝对路径。如果要与主机上的文件进行交互(例如,上传),你必须使用 -v 标志将相关的主机目录挂载到容器中(例如,-v /Users/me/project:/Users/me/project),然后在工具参数中使用_容器路径_(例如,/Users/me/project/my_file.txt)。

📦 构建

克隆仓库并安装依赖项:

git clone https://github.com/alexbakers/mcp-ipfs.git
cd mcp-ipfs
npm install

构建 TypeScript 代码:

npm run build

然后你可以直接运行服务器:

# Ensure W3_LOGIN_EMAIL is set in your environment
export W3_LOGIN_EMAIL="your-email@example.com"
node dist/index.js

或者发布它(如果你有权限的话):

npm publish

🐳 Docker 构建

构建 Docker 镜像:

# Build locally (replace with your username/repo and desired tag)
docker build -t alexbakers/mcp-ipfs .

📜 许可证

此 MCP 服务器根据 MIT 许可证授权。有关详细信息,请参阅 LICENSE 文件。

相关 MCP 服务