- Explore MCP Servers
- mcp-storage-server
Mcp Storage Server
What is Mcp Storage Server
The Storacha MCP Storage Server is a decentralized storage solution designed for AI applications, allowing users to store and retrieve files through a standardized Model Context Protocol (MCP) interface. It leverages IPFS and Content Identifiers (CIDs) to ensure trustless data exchange, data sovereignty, and verifiability, enabling seamless integration with various AI systems and agent frameworks.
Use cases
Key use cases include document storage and analysis, long-term structured data maintenance, data sharing across agents and systems, application integration, AI model development, enhancing large language models (LLMs), web application backups, and managing machine learning datasets efficiently.
How to use
To start using the Storacha MCP Storage Server, users need to clone the repository, install dependencies, generate keys, log in to Storacha, create a space for storage, and configure the MCP client with proper settings such as private keys and delegation. Users can also switch to REST mode and configure the server for cloud hosting.
Key features
Key features of the Storacha MCP Storage Server include decentralized data storage and retrieval via standard interfaces, support for file uploads and retrieval using base64 encoding, seamless integration into various AI applications, a focus on data sovereignty and verifiability, and options for REST transport mode for cloud compatibility.
Where to use
The server can be utilized in various scenarios, including in AI applications needing reliable storage, in machine learning pipelines managing large datasets, in decentralized applications requiring secure data sharing, and in backups for web applications that necessitate disaster recovery solutions.
Overview
What is Mcp Storage Server
The Storacha MCP Storage Server is a decentralized storage solution designed for AI applications, allowing users to store and retrieve files through a standardized Model Context Protocol (MCP) interface. It leverages IPFS and Content Identifiers (CIDs) to ensure trustless data exchange, data sovereignty, and verifiability, enabling seamless integration with various AI systems and agent frameworks.
Use cases
Key use cases include document storage and analysis, long-term structured data maintenance, data sharing across agents and systems, application integration, AI model development, enhancing large language models (LLMs), web application backups, and managing machine learning datasets efficiently.
How to use
To start using the Storacha MCP Storage Server, users need to clone the repository, install dependencies, generate keys, log in to Storacha, create a space for storage, and configure the MCP client with proper settings such as private keys and delegation. Users can also switch to REST mode and configure the server for cloud hosting.
Key features
Key features of the Storacha MCP Storage Server include decentralized data storage and retrieval via standard interfaces, support for file uploads and retrieval using base64 encoding, seamless integration into various AI applications, a focus on data sovereignty and verifiability, and options for REST transport mode for cloud compatibility.
Where to use
The server can be utilized in various scenarios, including in AI applications needing reliable storage, in machine learning pipelines managing large datasets, in decentralized applications requiring secure data sharing, and in backups for web applications that necessitate disaster recovery solutions.
Content
Storacha MCP Storage Server
A Model Context Protocol (MCP) server implementation for Storacha hot storage, allowing AI applications to store and retrieve files through a standardized interface. It enables trustless, decentralized data exchange using IPFS and CIDs, ensuring data sovereignty, verifiability, and seamless integration with agent frameworks & AI systems.
Free Storage Options to Start 🚀
Jump-start your decentralized storage journey today!
- GitHub Users: Sign up with your GitHub account and instantly receive 100MB of free storage — no credit card required!
- Email Users: Register with your email and add a credit card to unlock 5GB of free storage space.
Use Cases
- Document Storage & Analysis: Securely upload and retrieve Blob documents.
- Long-term Structured Data Storage: Maintain structured data storage optimized for longevity and accessibility.
- Data Sharing Between Agents and Systems: Easily share data across multiple agents and diverse systems using CIDs (Content Identifiers), enabling decentralized, verifiable, and efficient data exchange.
- Application Integration: Seamlessly integrate Storacha storage retrieval into applications via the Model Context Protocol.
- AI Model Development: Support AI models by providing reliable versioning and access to external datasets stored in Storacha.
- LLM Integration: Enhance large language models (LLMs) by connecting directly with Storacha Storage for seamless data access.
- Web Application Backups: Reliably store backup copies of web applications for disaster recovery.
- Machine Learning Datasets: Efficiently manage and access large datasets used in machine learning workflows.
Quick Installation Guide
Get started with the Storacha MCP Storage Server in just a few simple steps.
-
Clone the Repository
git clone https://github.com/storacha/mcp-storage-server.git && cd mcp-storage-server
-
Install Dependencies
pnpm install
-
Generate Keys & Delegation
-
Install the CLI
npm install -g @web3-storage/w3cli
-
Login to Storacha
w3 login
Output:
? How do you want to login? Via Email ❯ Via GitHub
Select Via GitHub and authenticate with your GitHub account.
-
Create a Space
w3 space create <your_space_name>
Replace
<your_space_name>
with a name for your new Space. :warning: Make sure you save the recovery key, so you can access your space from another device if needed. -
Create a Private Key
w3 key create
Output:
AgentId: did:key:z6MkhMZRW2aoJ6BQwkpMSJu68Jgqkz1FTpr1p69cpnN43YWG PrivateKey: LMgCYLkvOc8Sm0mOL4cWFLxsWP0ZPEYrLxcQqsV93/s5RLje0BKx05muAse1Hkvh+sxUW38OcHtpiN1zxfpTJ4ht4jxV0=
-
Set the Agent ID & Create Delegation
w3 delegation create <agent_id> \ --can 'store/add' \ --can 'filecoin/offer' \ --can 'upload/add' \ --can 'space/blob/add' \ --can 'space/index/add' --base64
Replace <agent_id> with the AgentId from the previous step. It grants the Agent the permission to store files into the recently created space.
-
-
Configure the MCP Client
Next, configure your MCP client (such as Cursor) to use this server. Most MCP clients store the configuration as JSON in the following format:
{ "mcpServers": { "storacha-storage-server": { "command": "node", "args": ["./dist/index.js"], "env": { // The server supports `stdio`, `sse`, and `rest` modes, the default is `stdio`. "MCP_TRANSPORT_MODE": "stdio", // The Storacha Agent private key that is authorized to store data into the Space. "PRIVATE_KEY": "<agent_private_key>", // The base64 encoded delegation that proves the Agent is allowed to store data. If not set, MUST be provided for each upload request. "DELEGATION": "<base64_delegation>", }, "shell": true, "cwd": "./", }, }, }
Replace
<agent_private_key>
with the PrivateKey you created in step 3. Then, replace the<base64_delegation>
with the delegation you created in step 3.REST Mode and Cloud Hosting
The Storacha MCP Storage Server supports REST transport mode, which is compatible with MCP.so cloud hosting. To use REST mode:
{ "mcpServers": { "storacha-storage-server-rest": { "url": "http://localhost:3001/rest", }, }, }
For more information on deploying to MCP.so cloud, see the integrations.md guide.
:warning: There are several ways to configure MCP clients, please read the integrations.md guide for more information.
Tools
The Storacha MCP Storage Server provides the following tools for AI systems to interact with a decentralized storage network.
Storage Operations
upload
Upload a file to the Storacha Network. The file must be provided as a base64 encoded string with a filename that includes the extension for MIME type detection.
interface UploadParams {
// Base64 encoded file content
file: string;
// Filename with extension for MIME type detection
name: string;
// Optional: Whether to publish to Filecoin (default: false)
publishToFilecoin?: boolean;
// Optional: Custom delegation proof
delegation?: string;
// Optional: Custom gateway URL
gatewayUrl?: string;
}
retrieve
Retrieve a file from the Storacha Network. Supported filepath formats: CID/filename
, /ipfs/CID/filename
, or ipfs://CID/filename
.
interface RetrieveParams {
// Path in format: CID/filename, /ipfs/CID/filename, or ipfs://CID/filename
filepath: string;
// Optional: Whether to use multiformat base64 encoding
useMultiformatBase64?: boolean;
}
identity
Returns the DIDKey
of the Storacha Agent loaded from the private key storage configuration.
interface IdentityParams {
// No parameters required
}
See the integrations.md guide for detailed code examples and different integration patterns (SDK, Docker, etc).
License
MIT or Apache 2 License
Support
For support, please visit Storacha Support or open an issue in this repository.