mcp-chat
Open Source generischer MCP-Client zum Testen & Bewerten von MCP-Servern und Agenten
Schnellstart
Stellen Sie sicher, dass Sie ANTHROPIC_API_KEY in Ihrer Umgebung oder in einer .env-Datei im Stammverzeichnis des Projekts exportiert haben. Einen API-Schlüssel erhalten Sie, indem Sie sich auf der Anthropic Console Schlüssel-Seite registrieren.
Ein einfacher Anwendungsfall, der über die CLI eine interaktive Chat-Eingabeaufforderung mit dem MCP-Dateisystemserver startet:
npx mcp-chat --server "npx -y @modelcontextprotocol/server-filesystem /Users/$USER/Desktop"Dadurch wird ein Chat-Prompt geöffnet, mit dem Sie mit den Servern interagieren und mit einem LLM chatten können.
Konfiguration
Sie können auch einfach Ihre claude_desktop_config.json angeben (Mac):
npx mcp-chat --config "~/Library/Application Support/Claude/claude_desktop_config.json"Oder (Windows):
npx mcp-chat --config "%APPDATA%\Claude\claude_desktop_config.json"Web mode
https://github.com/user-attachments/assets/b7e8a648-8084-4955-8cdf-fc6eb141572e
You can also run mcp-chat in web mode by specifying the --web flag (make sure to have ANTHROPIC_API_KEY exported in your environment):
npx mcp-chat --webIm Web-Modus können Sie neue Chats starten, Nachrichten an das Modell senden und die MCP-Server dynamisch über die Benutzeroberfläche konfigurieren – eine Angabe über die Kommandozeile ist nicht erforderlich. Zusätzlich werden Chats, die über die Web-Oberfläche erstellt werden, genauso wie über die CLI erstellte Chats unter ~/.mcpchats/chats gespeichert.
Funktionen
- [x] Ausführen über CLI im interaktiven Modus oder direkte Übergabe von Prompts mit
-p - [x] Web-Modus zum Chatten mit Modellen über eine Web-Oberfläche
--web - [x] Verbindung zu jedem MCP-Server (JS, Python, Docker) in Produktion oder während der Entwicklung
- [x] Auswahl zwischen Modellen mit
-m - [x] Anpassung des System-Prompts mit
--system - [x] Speichert Chatverläufe mit Einstellungen in
~/.mcpchat/chats, einschließlich Web-Chats - [x] Befehle speichern und wiederherstellen in
~/.mcpchat/history - [x] Anzeige der Tool-Call-Ausgaben und Argumente direkt im Chat zur Unterstützung beim Debuggen von MCP-Servern
CLI Verwendung
Führen Sie Prompts über die CLI mit dem -p-Flag aus:
npx mcp-chat --server "npx mcp-server-kubernetes" -p "List the pods in the default namespace"Dies führt den Prompt mit dem Kubernetes mcp-server aus und beendet sich, nachdem die Antwort auf stdout empfangen wurde.
Wählen Sie ein Modell für den Chat über die CLI mit dem Flag -m aus:
npx mcp-chat --server "npx mcp-server-kubernetes" -m "claude-3.5"Verwendet das Modell claude-3.5 für den Chat. Beachten Sie, dass derzeit nur Anthropic-Modelle unterstützt werden.
Benutzerdefinierte System-Aufforderung:
Das Flag --system kann verwendet werden, um eine System-Aufforderung anzugeben:
npx mcp-chat --system "Explain the output to the user in pirate speak." --server "npx mcp-server-kubernetes" -p "List the pods in the default namespace"ENV-Variablen
Mcp-chat unterstützt das Durchreichen von ENV-Variablen an mcp-Server. Dies ist jedoch nicht im mcp-Standard spezifiziert und andere Clients verarbeiten möglicherweise keine dynamischen ENV-Variablenwerte – lesen Sie mehr hier über standardmäßige stdio-mcp-Clients.
KUBECONFIG="~/.kube/config" npx mcp-chat --server "npx mcp-server-kubernetes"Für Entwickler von mcp-Servern
Sie können eine lokale Version eines Python- oder Node-mcp-Servers übergeben, um ihn mit mcp-chat zu testen:
Node JS:
# Directly executing built script
npx mcp-chat --server "/path/to/mcp-server-kubernetes/dist/index.js"
Using node / bun
npx mcp-chat --server "node /path/to/mcp-server-kubernetes/dist/index.js"Python:
# Python: Using uv
npx mcp-chat --server "uv --directory /path/to/mcp-server-weather/ run weather.py"
Using python / python3 - make sure to run in venv or install deps globally
npx mcp-chat --server "/path/to/mcp-server-weather/weather.py"Entwicklung
Installieren Sie die Abhängigkeiten und führen Sie die CLI aus:
git clone https://github.com/Flux159/mcp-chat
bun install
bun run dev
Um mcp-chat zu entwickeln und gleichzeitig eine Verbindung zu einem mcp-server herzustellen, erstellen Sie ein Build und führen Sie das CLI mit dem Server-Flag aus:npm run build && node dist/index.js --server "npx mcp-server-kubernetes" -p "List the pods in the default namespace"Testen:
bun run testGebäude:
bun run buildVeröffentlichung:
bun run publishVeröffentlichung von Docker:
bun run dockerbuildProjektstruktur
├── src/
│ ├── index.ts # Main client implementation & CLI params
│ ├── constants.ts # Default constants
│ ├── interactive.ts # Interactive chat prompt handling & logic
├── test/ # Test files
│ ├── cli.test.ts # Test CLI params
│ ├── config.test.ts # Test config file parsingVeröffentlichung einer neuen Version
Gehen Sie zur Releases-Seite, klicken Sie auf "Draft New Release", klicken Sie auf "Choose a tag" und erstellen Sie einen neuen Tag, indem Sie eine neue Versionsnummer im Format "v{major}.{minor}.{patch}" gemäß Semver eingeben. Schreiben Sie dann einen Veröffentlichungstitel "Release v{major}.{minor}.{patch}" und eine Beschreibung/Changelog falls nötig und klicken Sie auf "Publish Release".
Dadurch wird ein neuer Tag erstellt, der einen neuen Release-Build über den cd.yml-Workflow auslöst. Nach erfolgreichem Abschluss wird die neue Version auf npm veröffentlicht. Beachten Sie, dass ein manuelles Aktualisieren der package.json-Version nicht notwendig ist, da der Workflow die Versionsnummer in der package.json automatisch aktualisiert und einen Commit auf main pusht.
Lizenz
--- Tranlated By Open Ai Tx | Last indexed: 2025-09-16 ---