🪐 Mcp Ipfs Server (storacha.network) 🛰️
Übersicht
Was ist MCP IPFS?
MCP IPFS (InterPlanetary File System) ist ein dezentrales Speicherprotokoll, das entwickelt wurde, um das Web schneller, sicherer und offener zu machen. Es ermöglicht Benutzern, Dateien auf verteilte Weise zu speichern und zu teilen, wodurch sichergestellt wird, dass Daten nicht von einem einzelnen Server oder Standort abhängig sind. Durch die Nutzung eines Peer-to-Peer-Netzwerks verbessert MCP IPFS die Datenverfügbarkeit und die Widerstandsfähigkeit gegen Zensur.
Funktionen von MCP IPFS
- Dezentralisierung: Im Gegensatz zu traditionellen Dateispeichersystemen ist MCP IPFS nicht auf einen zentralen Server angewiesen. Dies verringert das Risiko von Datenverlust und Zensur.
- Inhaltsadressierung: Dateien werden durch ihren Inhalt und nicht durch ihren Standort identifiziert. Das bedeutet, dass eine Datei auch dann noch abgerufen werden kann, wenn sie verschoben wurde, indem man ihren einzigartigen Identifikator verwendet.
- Versionskontrolle: MCP IPFS unterstützt die Versionierung, sodass Benutzer Änderungen verfolgen und problemlos zu vorherigen Versionen von Dateien zurückkehren können.
- Effiziente Datenverteilung: Das Protokoll optimiert den Datentransfer, indem es Dateien gleichzeitig von mehreren Quellen abruft, was die Downloadgeschwindigkeit verbessert.
- Interoperabilität: MCP IPFS kann in verschiedene Anwendungen und Plattformen integriert werden, was es vielseitig für unterschiedliche Anwendungsfälle macht.
So verwenden Sie MCP IPFS
- Installation: Beginnen Sie mit der Installation der MCP IPFS-Software auf Ihrem Gerät. Dies kann in der Regel über Paketmanager oder durch Herunterladen der Binärdateien von der offiziellen Website erfolgen.
- Initialisierung: Nach der Installation initialisieren Sie Ihren IPFS-Knoten über die Befehlszeilenschnittstelle. Dies richtet Ihr lokales Repository ein und verbindet Sie mit dem IPFS-Netzwerk.
- Dateien hinzufügen: Verwenden Sie den Befehl
ipfs add <datei>
, um Dateien in das IPFS-Netzwerk hochzuladen. Dies generiert einen einzigartigen Hash für jede Datei, der später zum Abrufen verwendet werden kann. - Dateien abrufen: Um auf eine Datei zuzugreifen, verwenden Sie den Befehl
ipfs cat <hash>
, wobei Sie<hash>
durch den einzigartigen Identifikator der Datei ersetzen. - Dateien teilen: Teilen Sie den generierten Hash mit anderen, damit sie die Datei direkt aus dem IPFS-Netzwerk abrufen können.
Häufig gestellte Fragen
F: Was sind die Vorteile der Verwendung von MCP IPFS im Vergleich zu traditionellen Dateispeichern?
A: MCP IPFS bietet verbesserte Sicherheit, schnelleren Datenabruf und größere Widerstandsfähigkeit gegen Datenverlust und Zensur aufgrund seiner dezentralen Natur.
F: Ist MCP IPFS für große Dateien geeignet?
A: Ja, MCP IPFS ist darauf ausgelegt, große Dateien effizient zu verarbeiten, indem sie in kleinere Teile zerlegt und im Netzwerk verteilt werden.
F: Kann ich MCP IPFS für private Daten verwenden?
A: Während MCP IPFS hauptsächlich ein öffentliches Netzwerk ist, können Sie Ihre Dateien vor dem Hochladen verschlüsseln, um die Privatsphäre zu gewährleisten.
F: Wie geht MCP IPFS mit Datenredundanz um?
A: Datenredundanz wird durch die dezentrale Architektur erreicht, bei der mehrere Knoten Kopien derselben Datei speichern können, um die Verfügbarkeit sicherzustellen, selbst wenn einige Knoten offline gehen.
F: Gibt es Kosten, die mit der Nutzung von MCP IPFS verbunden sind?
A: Die Nutzung von MCP IPFS ist kostenlos, aber Sie können Kosten für die Infrastruktur haben, wenn Sie sich entscheiden, eigene Knoten zu betreiben oder Drittanbieterdienste für das Hosting zu nutzen.
Detail
🪐 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.
Serverkonfiguration
{
"mcpServers": {
"mcp-ipfs": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/metorial/mcp-container--alexbakers--mcp-ipfs--mcp-ipfs",
"npm run start"
],
"env": {}
}
}
}