The MCP IPFS Server enables interaction with the storacha.network platform via the w3
CLI, allowing you to:
- Authentication & Accounts: Login (
w3_login
), reset agent state (w3_reset
), and list authorized accounts (w3_account_ls
). Note:w3_login
requires theW3_LOGIN_EMAIL
environment variable. - Space Management: List spaces (
w3_space_ls
), use a space (w3_space_use
), get space info (w3_space_info
), add spaces (w3_space_add
), and provision spaces (w3_space_provision
). - Data Operations: Upload files (
w3_up
), list files (w3_ls
), remove files (w3_rm
), and generate shareable w3s.link URLs (w3_open
). - Delegations & Proofs: Create (
w3_delegation_create
), list (w3_delegation_ls
), revoke delegations (w3_delegation_revoke
), and manage proofs (w3_proof_add
,w3_proof_ls
). - Advanced Storage: Manage blobs, CAR files, upload indices, access claims, and get Filecoin info using
w3_can_*
commands. - Account & Billing: Get plan details (
w3_plan_get
), create coupons (w3_coupon_create
), and view usage reports (w3_usage_report
).
Note that many commands require absolute filesystem paths as arguments.
Provides a Docker deployment option with path mapping capabilities to enable file operations between the host and container when using storage-related commands.
Integrates with storacha.network (powered by IPFS technology) to manage spaces, upload/download data, share content via w3s.link URLs, manage delegations, create proofs, handle authentication, and access usage/billing information.
Implemented as a Node.js server that wraps the w3 command-line interface, enabling language models to interact with storacha.network functionality through structured API calls.
Offers deployment via NPM package (mcp-ipfs) that can be installed and run with npx, simplifying local usage of the MCP server.
Uses Zod schemas to define and validate input arguments for each tool, ensuring properly formatted requests when interacting with the storacha.network platform.
🪐 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:- 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:
🚀 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.
Example: Docker
Build the image first (see Build section) or use the pre-built image alexbakers/mcp-ipfs
.
📝 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:
Build the TypeScript code:
You can then run the server directly:
Or publish it (if you have the rights):
🐳 Docker Build
Build the Docker image:
📜 License
This MCP server is licensed under the MIT License. See the LICENSE file for details.
You must be authenticated.
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
🪐 MCP IPFS Server
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.
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityAn MCP server to run commands.Last updated -2265150TypeScriptMIT License
- AsecurityAlicenseAqualityA simple MCP server that facilitates website fetching through a configurable server platform using stdio or SSE transport, allowing integration with tools like Cursor for streamlined access.Last updated -223PythonMIT License
- AsecurityAlicenseAqualityAn MCP server that provides tools for reading, writing, and editing files on the local filesystem.Last updated -11,241PythonApache 2.0
- AsecurityFlicenseAqualityAn MCP server implementation that enables interaction with the Unstructured API, providing tools to list, create, update, and manage sources, destinations, and workflows.Last updated -3928