|
1 | 1 | --- |
2 | | -title: "待翻译" |
3 | | -description: "此页面待翻译" |
4 | | -source: "developer/mcp.md" |
| 2 | +title: "RustFS MCP" |
| 3 | +description: "RustFS MCP Verwendungsanleitung" |
5 | 4 | --- |
6 | 5 |
|
7 | | -# 待翻译 |
| 6 | +# RustFS MCP |
8 | 7 |
|
9 | | -此页面内容尚未翻译,请参考[中文版本](../../zh/developer/mcp.md)。 |
| 8 | +**RustFS MCP Server** ist ein hochperformanter [Model Context Protocol (MCP)](https://www.anthropic.com/news/model-context-protocol) Server, der AI/LLM-Tools nahtlosen Zugriff auf S3-kompatible Objektspeicher-Operationen bietet. Der Server ist in Rust gebaut für maximale Leistung und Sicherheit und ermöglicht es AI-Assistenten wie Claude Desktop, über ein standardisiertes Protokoll mit Cloud-Speicher zu interagieren. |
10 | 9 |
|
11 | | ---- |
| 10 | +### Was ist MCP? |
| 11 | + |
| 12 | +Das Model Context Protocol ist ein offener Standard, der es AI-Anwendungen ermöglicht, sichere, kontrollierte Verbindungen zu externen Systemen herzustellen. Dieser Server fungiert als Brücke zwischen AI-Tools und S3-kompatiblen Speicherdiensten und bietet strukturierten Zugriff auf Dateioperationen bei gleichzeitiger Wahrung von Sicherheit und Beobachtbarkeit. |
| 13 | + |
| 14 | +## ✨ Funktionen |
| 15 | + |
| 16 | +### Unterstützte S3-Operationen |
| 17 | + |
| 18 | +- **Speicher-Buckets auflisten**: Listet alle zugänglichen S3-Speicher-Buckets auf |
| 19 | +- **Objekte auflisten**: Durchsucht Speicher-Bucket-Inhalte mit optionalem Präfix-Filter |
| 20 | +- **Dateien hochladen**: Lädt lokale Dateien hoch mit automatischer MIME-Typ- und Cache-Control-Erkennung |
| 21 | +- **Objekte abrufen**: Ruft Objekte aus S3-Speicher ab, unterstützt Lese- oder Download-Modus |
| 22 | + |
| 23 | +## 🔧 Installation |
| 24 | + |
| 25 | +### Voraussetzungen |
| 26 | + |
| 27 | +- Rust 1.88+ (zum Bauen aus Quellcode) |
| 28 | +- Konfigurierte AWS-Anmeldedaten (über Umgebungsvariablen, AWS CLI oder IAM-Rollen) |
| 29 | +- Zugriff auf S3-kompatible Speicherdienste |
| 30 | + |
| 31 | +### Aus Quellcode bauen |
| 32 | + |
| 33 | +```bash |
| 34 | +# Repository klonen |
| 35 | +git clone https://github.com/rustfs/rustfs.git |
| 36 | +cd rustfs |
| 37 | + |
| 38 | +# MCP Server bauen |
| 39 | +cargo build --release -p rustfs-mcp |
| 40 | + |
| 41 | +# Binärdatei wird unter folgendem Pfad verfügbar sein |
| 42 | +./target/release/rustfs-mcp |
| 43 | +``` |
| 44 | + |
| 45 | +## ⚙️ Konfiguration |
| 46 | + |
| 47 | +### Umgebungsvariablen |
| 48 | + |
| 49 | +Der Server verwendet Standard-AWS-Umgebungsvariablen für die Authentifizierung: |
| 50 | + |
| 51 | +```bash |
| 52 | +export AWS_ACCESS_KEY_ID="your-access-key" |
| 53 | +export AWS_SECRET_ACCESS_KEY="your-secret-key" |
| 54 | +export AWS_DEFAULT_REGION="us-east-1" |
| 55 | +export AWS_ENDPOINT_URL="https://your-s3-endpoint.com" |
| 56 | +``` |
| 57 | + |
| 58 | +### Claude Desktop Konfiguration |
| 59 | + |
| 60 | +Fügen Sie den folgenden Eintrag zu Ihrer `claude_desktop_config.json` hinzu: |
| 61 | + |
| 62 | +```json |
| 63 | +{ |
| 64 | + "mcpServers": { |
| 65 | + "rustfs": { |
| 66 | + "command": "/path/to/rustfs-mcp", |
| 67 | + "args": [], |
| 68 | + "env": { |
| 69 | + "AWS_ACCESS_KEY_ID": "your-access-key", |
| 70 | + "AWS_SECRET_ACCESS_KEY": "your-secret-key", |
| 71 | + "AWS_DEFAULT_REGION": "us-east-1", |
| 72 | + "AWS_ENDPOINT_URL": "https://your-s3-endpoint.com" |
| 73 | + } |
| 74 | + } |
| 75 | + } |
| 76 | +} |
| 77 | +``` |
| 78 | + |
| 79 | +## 🚀 Verwendung |
| 80 | + |
| 81 | +### Verfügbare Tools |
| 82 | + |
| 83 | +#### 1. `list_buckets` |
| 84 | +Listet alle verfügbaren S3-Speicher-Buckets auf. |
| 85 | + |
| 86 | +**Parameter**: Keine |
| 87 | + |
| 88 | +**Beispiel**: |
| 89 | +``` |
| 90 | +Liste alle verfügbaren Speicher-Buckets auf |
| 91 | +``` |
| 92 | + |
| 93 | +#### 2. `list_objects` |
| 94 | +Listet Objekte in einem Speicher-Bucket auf. |
| 95 | + |
| 96 | +**Parameter**: |
| 97 | +- `bucket_name` (string): Name des Speicher-Buckets |
| 98 | +- `prefix` (string, optional): Präfix zum Filtern von Objekten |
| 99 | + |
| 100 | +**Beispiel**: |
| 101 | +``` |
| 102 | +Liste alle Objekte im Speicher-Bucket "mein-bucket" auf |
| 103 | +``` |
| 104 | + |
| 105 | +#### 3. `upload_file` |
| 106 | +Lädt eine lokale Datei in einen S3-Speicher-Bucket hoch. |
| 107 | + |
| 108 | +**Parameter**: |
| 109 | +- `bucket_name` (string): Name des Ziel-Speicher-Buckets |
| 110 | +- `object_key` (string): Schlüssel für das Objekt im Speicher-Bucket |
| 111 | +- `file_path` (string): Pfad zur lokalen Datei |
| 112 | +- `content_type` (string, optional): MIME-Typ der Datei |
| 113 | + |
| 114 | +**Beispiel**: |
| 115 | +``` |
| 116 | +Lade die Datei "/pfad/zur/datei.txt" als "dokumente/datei.txt" in den Speicher-Bucket "mein-bucket" hoch |
| 117 | +``` |
| 118 | + |
| 119 | +#### 4. `get_object` |
| 120 | +Ruft ein Objekt aus S3-Speicher ab. |
| 121 | + |
| 122 | +**Parameter**: |
| 123 | +- `bucket_name` (string): Name des Speicher-Buckets |
| 124 | +- `object_key` (string): Schlüssel des Objekts |
| 125 | +- `mode` (string): "read" für Inhalt anzeigen oder "download" für Datei herunterladen |
| 126 | +- `output_path` (string, optional): Pfad für Download-Modus |
| 127 | + |
| 128 | +**Beispiel**: |
| 129 | +``` |
| 130 | +Lade das Objekt "dokumente/datei.txt" aus dem Speicher-Bucket "mein-bucket" herunter |
| 131 | +``` |
| 132 | + |
| 133 | +## 🔒 Sicherheit |
| 134 | + |
| 135 | +### Authentifizierung |
| 136 | +- Unterstützt AWS IAM-Rollen, Umgebungsvariablen und AWS CLI-Konfiguration |
| 137 | +- Sichere Übertragung von Anmeldedaten über Umgebungsvariablen |
| 138 | +- Keine Speicherung von Anmeldedaten in Konfigurationsdateien |
| 139 | + |
| 140 | +### Berechtigungen |
| 141 | +- Minimal erforderliche Berechtigungen für S3-Operationen |
| 142 | +- Unterstützt Bucket-spezifische Richtlinien |
| 143 | +- Audit-freundliche Operationen |
| 144 | + |
| 145 | +## 🐛 Fehlerbehebung |
| 146 | + |
| 147 | +### Häufige Probleme |
| 148 | + |
| 149 | +#### 1. Authentifizierungsfehler |
| 150 | +``` |
| 151 | +Error: AWS credentials not found |
| 152 | +``` |
| 153 | +**Lösung**: Stellen Sie sicher, dass AWS-Anmeldedaten korrekt konfiguriert sind. |
| 154 | + |
| 155 | +#### 2. Endpoint-Fehler |
| 156 | +``` |
| 157 | +Error: Unable to connect to S3 endpoint |
| 158 | +``` |
| 159 | +**Lösung**: Überprüfen Sie die `AWS_ENDPOINT_URL` und Netzwerkkonnektivität. |
| 160 | + |
| 161 | +#### 3. Berechtigungsfehler |
| 162 | +``` |
| 163 | +Error: Access denied |
| 164 | +``` |
| 165 | +**Lösung**: Überprüfen Sie IAM-Berechtigungen für S3-Operationen. |
| 166 | + |
| 167 | +### Debug-Modus |
| 168 | + |
| 169 | +Aktivieren Sie detaillierte Protokollierung: |
| 170 | + |
| 171 | +```bash |
| 172 | +export RUST_LOG=debug |
| 173 | +./rustfs-mcp |
| 174 | +``` |
| 175 | + |
| 176 | +## 📚 API-Referenz |
| 177 | + |
| 178 | +### S3-Operationen |
| 179 | + |
| 180 | +Alle Operationen verwenden die AWS SDK für Rust und sind vollständig kompatibel mit: |
| 181 | +- Amazon S3 |
| 182 | +- MinIO |
| 183 | +- RustFS |
| 184 | +- Andere S3-kompatible Dienste |
| 185 | + |
| 186 | +### Unterstützte Regionen |
| 187 | + |
| 188 | +Der Server unterstützt alle AWS-Regionen und benutzerdefinierte Endpoints für S3-kompatible Dienste. |
| 189 | + |
| 190 | +## 🤝 Beitragen |
| 191 | + |
| 192 | +Wir freuen uns über Beiträge! Bitte lesen Sie unsere [Contributing Guidelines](https://github.com/rustfs/rustfs/blob/main/CONTRIBUTING.md). |
| 193 | + |
| 194 | +### Entwicklung |
| 195 | + |
| 196 | +```bash |
| 197 | +# Repository klonen |
| 198 | +git clone https://github.com/rustfs/rustfs.git |
| 199 | +cd rustfs |
| 200 | + |
| 201 | +# Abhängigkeiten installieren |
| 202 | +cargo build |
| 203 | + |
| 204 | +# Tests ausführen |
| 205 | +cargo test -p rustfs-mcp |
| 206 | + |
| 207 | +# Linting |
| 208 | +cargo clippy -p rustfs-mcp |
| 209 | +``` |
| 210 | + |
| 211 | +## 📄 Lizenz |
| 212 | + |
| 213 | +Dieses Projekt ist unter der Apache License 2.0 lizenziert. Siehe [LICENSE](https://github.com/rustfs/rustfs/blob/main/LICENSE) für Details. |
| 214 | + |
| 215 | +## 🔗 Links |
12 | 216 |
|
13 | | -*This page is pending translation. Please refer to the [Chinese version](../../zh/developer/mcp.md).* |
| 217 | +- [Model Context Protocol](https://www.anthropic.com/news/model-context-protocol) |
| 218 | +- [Claude Desktop](https://claude.ai/desktop) |
| 219 | +- [AWS SDK für Rust](https://docs.rs/aws-sdk-s3/) |
| 220 | +- [RustFS Dokumentation](https://docs.rustfs.com) |
0 commit comments