返回市场
mcp-星际文件系统

mcp-星际文件系统

作者:alexbakers11 星标更新:2025-04-10

项目介绍

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

截图

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

这是一个使用Node.js实现的MCP(模型上下文协议)服务器,通过w3命令行接口(@web3-storage/w3cli)与storacha.network平台进行交互。

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

✨ 特性

  • 封装了w3CLI以实现与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          # 主服务器入口点,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文件。