ðª Mcp Ipfs ãµãŒã㌠(storacha.network) ð°ïž
æŠèŠ
MCP IPFSãšã¯ïŒ
MCP IPFSïŒInterPlanetary File SystemïŒã¯ããŠã§ããããéããå®å šã«ããããŠãªãŒãã³ã«ããããã«èšèšããã忣ã¹ãã¬ãŒãžãããã³ã«ã§ãããŠãŒã¶ãŒããã¡ã€ã«ã忣çã«ä¿åãå ±æã§ããããã«ããããŒã¿ãåäžã®ãµãŒããŒãå Žæã«äŸåããªãããšãä¿èšŒããŸãããã¢ããŒãã¢ãããã¯ãŒã¯ãå©çšããããšã§ãMCP IPFSã¯ããŒã¿ã®å¯çšæ§ãé«ããæ€é²ã«å¯Ÿããèæ§ã匷åããŸãã
MCP IPFSã®ç¹åŸŽ
- 忣å: åŸæ¥ã®ãã¡ã€ã«ã¹ãã¬ãŒãžã·ã¹ãã ãšã¯ç°ãªããMCP IPFSã¯äžå€®ãµãŒããŒã«äŸåããŸãããããã«ãããããŒã¿æå€±ãæ€é²ã®ãªã¹ã¯ãæžå°ããŸãã
- ã³ã³ãã³ãã¢ãã¬ãã·ã³ã°: ãã¡ã€ã«ã¯ãã®äœçœ®ã§ã¯ãªããã³ã³ãã³ãã«ãã£ãŠèå¥ãããŸããã€ãŸãããã¡ã€ã«ãç§»åããŠãããã®ãŠããŒã¯ãªèå¥åã䜿çšããŠã¢ã¯ã»ã¹ã§ããŸãã
- ããŒãžã§ã³ç®¡ç: MCP IPFSã¯ããŒãžã§ã³ç®¡çããµããŒãããŠããããŠãŒã¶ãŒã倿Žã远跡ããç°¡åã«ä»¥åã®ããŒãžã§ã³ã«æ»ãããšãã§ããŸãã
- å¹ççãªããŒã¿é ä¿¡: ãããã³ã«ã¯ãè€æ°ã®ãœãŒã¹ããåæã«ãã¡ã€ã«ãååŸããããšã§ããŒã¿è»¢éãæé©åããããŠã³ããŒãé床ãåäžãããŸãã
- çžäºéçšæ§: MCP IPFSã¯ããŸããŸãªã¢ããªã±ãŒã·ã§ã³ããã©ãããã©ãŒã ãšçµ±åã§ãããããããŸããŸãªãŠãŒã¹ã±ãŒã¹ã«å¯Ÿå¿ã§ããŸãã
MCP IPFSã®äœ¿ãæ¹
- ã€ã³ã¹ããŒã«: ãŸããããã€ã¹ã«MCP IPFSãœãããŠã§ã¢ãã€ã³ã¹ããŒã«ããŸããããã¯éåžžãããã±ãŒãžãããŒãžã£ãŒãéããŠè¡ãããå ¬åŒãŠã§ããµã€ããããã€ããªãããŠã³ããŒãããããšã§å¯èœã§ãã
- åæå: ã€ã³ã¹ããŒã«åŸãã³ãã³ãã©ã€ã³ã€ã³ã¿ãŒãã§ãŒã¹ã䜿çšããŠIPFSããŒããåæåããŸããããã«ãããããŒã«ã«ãªããžããªãèšå®ãããIPFSãããã¯ãŒã¯ã«æ¥ç¶ãããŸãã
- ãã¡ã€ã«ã®è¿œå : ã³ãã³ã
ipfs add <file>
ã䜿çšããŠãã¡ã€ã«ãIPFSãããã¯ãŒã¯ã«ã¢ããããŒãããŸããããã«ãããåãã¡ã€ã«ã«ãŠããŒã¯ãªããã·ã¥ãçæãããåŸã§ããã䜿çšããŠååŸã§ããŸãã - ãã¡ã€ã«ã®ååŸ: ãã¡ã€ã«ã«ã¢ã¯ã»ã¹ããã«ã¯ãã³ãã³ã
ipfs cat <hash>
ã䜿çšãã<hash>
ããã¡ã€ã«ã®ãŠããŒã¯ãªèå¥åã«çœ®ãæããŸãã - ãã¡ã€ã«ã®å ±æ: çæãããããã·ã¥ãä»ã®äººãšå ±æãã圌ããIPFSãããã¯ãŒã¯ããçŽæ¥ãã¡ã€ã«ã«ã¢ã¯ã»ã¹ã§ããããã«ããŸãã
ãããã質å
Q: åŸæ¥ã®ãã¡ã€ã«ã¹ãã¬ãŒãžã«å¯ŸããMCP IPFSã®å©ç¹ã¯äœã§ããïŒ
A: MCP IPFSã¯ããã®åæ£åã®æ§è³ªã«ãããã»ãã¥ãªãã£ã®åäžãããŒã¿ååŸã®è¿ éåãããŒã¿æå€±ãæ€é²ã«å¯Ÿããèæ§ã®åŒ·åãæäŸããŸãã
Q: MCP IPFSã¯å€§ããªãã¡ã€ã«ã«é©ããŠããŸããïŒ
A: ã¯ããMCP IPFSã¯å€§ããªãã¡ã€ã«ãå¹ççã«åŠçããããã«èšèšãããŠããããã¡ã€ã«ãå°ããªãã£ã³ã¯ã«åå²ãããããã¯ãŒã¯å šäœã«åæ£ãããŸãã
Q: ãã©ã€ããŒãããŒã¿ã«MCP IPFSã䜿çšã§ããŸããïŒ
A: MCP IPFSã¯äž»ã«ãããªãã¯ãããã¯ãŒã¯ã§ããããã©ã€ãã·ãŒã確ä¿ããããã«ãã¡ã€ã«ãã¢ããããŒãããåã«æå·åããããšãã§ããŸãã
Q: MCP IPFSã¯ããŒã¿ã®åé·æ§ãã©ã®ããã«åŠçããŸããïŒ
A: ããŒã¿ã®åé·æ§ã¯ããã®åæ£ã¢ãŒããã¯ãã£ã«ãã£ãŠå®çŸãããŠãããè€æ°ã®ããŒããåããã¡ã€ã«ã®ã³ããŒãä¿åã§ãããããäžéšã®ããŒãããªãã©ã€ã³ã«ãªã£ãŠãå¯çšæ§ã確ä¿ãããŸãã
Q: MCP IPFSã䜿çšããã®ã«è²»çšã¯ããããŸããïŒ
A: MCP IPFSã®äœ¿çšã¯ç¡æã§ãããèªåã®ããŒããéå¶ãããããã¹ãã£ã³ã°ã®ããã«ãµãŒãããŒãã£ã®ãµãŒãã¹ãå©çšãããããå Žåã¯ãã€ã³ãã©ã«é¢é£ããã³ã¹ããçºçããå¯èœæ§ããããŸãã
詳现
ðª MCP IPFS Server (storacha.network) ð°ïž
A Node.js server implementing the Model Context Protocol (MCP) for interacting with the storacha.network platform via the w3
command-line interface (@web3-storage/w3cli
).
This server empowers language models ð€ and other MCP clients to manage storacha.network spaces, upload/download data, manage delegations, and perform various other tasks by seamlessly wrapping w3
commands.
âš Features
- Wraps the
w3
CLI for native integration with storacha.network. - Provides MCP tools covering a wide range of
w3
functionality:- ð Authentication & Agent:
w3_login
,w3_reset
,w3_account_ls
(for checking authorization) - ðŠ Space Management:
w3_space_ls
,w3_space_use
,w3_space_info
,w3_space_add
,w3_space_provision
(Note:w3_space_create
must be run manually due to interactive prompts) - ðŸ Data Management:
w3_up
,w3_ls
,w3_rm
- ð Sharing:
w3_open
(generates w3s.link URL) - ð€ Delegations & Proofs:
w3_delegation_create
,w3_delegation_ls
,w3_delegation_revoke
,w3_proof_add
,w3_proof_ls
- ð Keys & Tokens:
w3_key_create
,w3_bridge_generate_tokens
- âïž Advanced Storage (
w3 can ...
): Blob, CAR, Upload, Index, Access Claim, Filecoin Info management - ð³ Account & Billing:
w3_plan_get
,w3_coupon_create
,w3_usage_report
- ð Authentication & Agent:
ð ïž Prerequisites
- Node.js: Version 22.0.0 or higher (
node -v
). w3
CLI: The server executesw3
commands directly. Ensure@web3-storage/w3cli
is installed globally and configured:npm install -g @web3-storage/w3cli w3 login <your-email@example.com> # Follow email verification steps
- Environment Variable: The
w3_login
tool requires theW3_LOGIN_EMAIL
environment variable to be set to the same email used forw3 login
.
ðïž Project Structure
The codebase is organized as follows:
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
ð Usage with MCP Clients
This server can be used with any MCP-compatible client. You need to configure your client to connect to this server.
Example: NPX (Recommended for simple local use)
This assumes npm
and the prerequisites are met.
{
"mcpServers": {
"ipfs": {
"command": "npx",
"args": ["-y", "mcp-ipfs"],
"env": {
"W3_LOGIN_EMAIL": "your-email@example.com"
}
}
}
}
Example: Docker
Build the image first (see Build section) or use the pre-built image 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"
}
}
}
}
ð Note on Paths:
Several w3
commands require absolute filesystem paths (e.g., w3_up
, w3_delegation_create --output
, w3_proof_add
, w3_can_blob_add
, w3_can_store_add
).
- NPX: Provide absolute paths from your host machine.
- Docker: Provide absolute paths inside the container. If interacting with files from your host (e.g., uploading), you must mount the relevant host directory into the container using the
-v
flag (e.g.,-v /Users/me/project:/Users/me/project
) and then use the container path (e.g.,/Users/me/project/my_file.txt
) in the tool arguments.
ðŠ Build
Clone the repository and install dependencies:
git clone https://github.com/alexbakers/mcp-ipfs.git
cd mcp-ipfs
npm install
Build the TypeScript code:
npm run build
You can then run the server directly:
### Ensure W3_LOGIN_EMAIL is set in your environment
export W3_LOGIN_EMAIL="your-email@example.com"
node dist/index.js
Or publish it (if you have the rights):
npm publish
ð³ Docker Build
Build the Docker image:
### Build locally (replace with your username/repo and desired tag)
docker build -t alexbakers/mcp-ipfs .
ð License
This MCP server is licensed under the MIT License. See the LICENSE file for details.
ãµãŒããŒèšå®
{
"mcpServers": {
"mcp-ipfs": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/metorial/mcp-container--alexbakers--mcp-ipfs--mcp-ipfs",
"npm run start"
],
"env": {}
}
}
}