Web Analytics

mcp-chat

⭐ 116 stars German by Flux159

mcp-chat

🌐 Sprache

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 --web

Im 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

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 test

Gebäude:

bun run build

Veröffentlichung:

bun run publish

Veröffentlichung von Docker:

bun run dockerbuild

Projektstruktur

├── 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 parsing

Verö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

MIT-Lizenz

--- Tranlated By Open Ai Tx | Last indexed: 2025-09-16 ---