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

一个 Node.js 服务器,实现了 模型上下文协议 (MCP),通过 w3 命令行界面 (@web3-storage/w3cli) 与 storacha.network 平台交互。
该服务器使语言模型 🤖 和其他 MCP 客户端能够管理 storacha.network 空间、上传/下载数据、管理授权委托,并执行各种其他任务,通过无缝封装 w3 命令。
✨ 功能
- 封装
w3命令,实现与 storacha.network 的原生集成。 - 提供 MCP 工具,涵盖广泛的
w3功能:- 🔑 认证 & 代理:
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命令行界面: 服务器直接执行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 # 主服务器入口,MCP 设置,请求路由
├── schemas.ts # Zod 模式,定义每个工具的输入参数
├── tool_handlers.ts # 每个 MCP 工具的实现逻辑
├── utils.ts # 辅助函数 (例如,运行 w3 命令,解析 JSON)
└── utils/
└── logger.ts # 基本日志配置
🚀 与 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"
}
}
}
}
📝 关于路径的说明:
多个 w3 命令需要 绝对文件系统路径 (例如,w3_up, w3_delegation_create --output, w3_proof_add, w3_can_blob_add, w3_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
然后可以直接运行服务器:
# 确保 W3_LOGIN_EMAIL 已在您的环境中设置
export W3_LOGIN_EMAIL="your-email@example.com"
node dist/index.js
或者发布它 (如果您有权限):
npm publish
🐳 Docker 构建
构建 Docker 镜像:
# 本地构建 (替换为您的用户名/仓库和期望的标签)
docker build -t alexbakers/mcp-ipfs .
📜 许可证
此 MCP 服务器根据 MIT 许可证授权。详情请参阅 LICENSE 文件。