mcp-chat
Client MCP generico Open Source per il testing e la valutazione di server e agenti MCP
Avvio rapido
Assicurati di aver esportato ANTHROPIC_API_KEY nel tuo ambiente o in un file .env nella radice del progetto. Puoi ottenere una chiave API registrandoti alla pagina chiavi della Anthropic Console.
Caso d'uso semplice che avvia un prompt di chat interattivo con il server MCP del filesystem dalla CLI:
npx mcp-chat --server "npx -y @modelcontextprotocol/server-filesystem /Users/$USER/Desktop"Questo aprirà una finestra di chat che puoi utilizzare per interagire con i server e chattare con un LLM.
Configurazione
Puoi anche semplicemente specificare il tuo claude_desktop_config.json (Mac):
npx mcp-chat --config "~/Library/Application Support/Claude/claude_desktop_config.json"Oppure (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 --webIn modalità web, puoi avviare nuove chat, inviare messaggi al modello e configurare dinamicamente i server mcp tramite l'interfaccia utente - non è necessario specificare nulla da linea di comando. Inoltre, le chat create tramite Web UI vengono salvate in ~/.mcpchats/chats proprio come quelle create tramite CLI.
Funzionalità
- [x] Esecuzione tramite CLI in modalità interattiva o passaggio diretto di prompt con
-p - [x] Modalità web per chattare con i modelli tramite interfaccia web
--web - [x] Connessione a qualsiasi server MCP (JS, Python, Docker) in produzione o durante lo sviluppo
- [x] Scelta tra i modelli con
-m - [x] Personalizzazione del prompt di sistema con
--system - [x] Salva la cronologia delle chat con impostazioni in
~/.mcpchat/chats, incluse le chat web - [x] Salva e ripristina i comandi in
~/.mcpchat/history - [x] Visualizza output e argomenti delle chiamate agli strumenti direttamente in chat per aiutare a fare debug dei server mcp
Utilizzo CLI
Esegui prompt tramite CLI con il flag -p:
npx mcp-chat --server "npx mcp-server-kubernetes" -p "List the pods in the default namespace"Questo esegue il prompt con il mcp-server di kubernetes ed esce dopo che la risposta è stata ricevuta su stdout.
Scegli un modello con cui chattare tramite CLI utilizzando il flag -m:
npx mcp-chat --server "npx mcp-server-kubernetes" -m "claude-3.5"Utilizza il modello claude-3.5 per la conversazione. Nota che attualmente sono supportati solo i modelli Anthropic.
Prompt di sistema personalizzato:
Il flag --system può essere utilizzato per specificare un prompt di sistema:
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"Variabili ENV
Mcp-chat supporta il passaggio di variabili d'ambiente ai server mcp. Tuttavia, questo non è standardizzato nelle specifiche mcp e altri client potrebbero non farlo con valori dinamici delle variabili d'ambiente - leggi di più qui sui client mcp stdio standard.
KUBECONFIG="~/.kube/config" npx mcp-chat --server "npx mcp-server-kubernetes"Per gli sviluppatori di mcp-server
È possibile utilizzare una build locale di un mcp-server Python o Node per testarlo con mcp-chat:
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"Sviluppo
Installa le dipendenze ed esegui la CLI:
git clone https://github.com/Flux159/mcp-chat
bun install
bun run devPer sviluppare mcp-chat mentre si è connessi a un mcp-server, crea una build ed esegui la CLI con il flag server:
npm run build && node dist/index.js --server "npx mcp-server-kubernetes" -p "List the pods in the default namespace"Test:
bun run testEdificio:
bun run buildPubblicazione:
bun run publishPubblicazione di Docker:
bun run dockerbuildStruttura del Progetto
├── 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 parsingPubblicazione di una nuova release
Vai alla pagina delle release, clicca su "Draft New Release", clicca su "Choose a tag" e crea un nuovo tag digitando un nuovo numero di versione utilizzando il formato semver "v{major}.{minor}.{patch}". Quindi, scrivi un titolo per la release "Release v{major}.{minor}.{patch}" e aggiungi una descrizione / changelog se necessario, poi clicca su "Publish Release".
Questo creerà un nuovo tag che attiverà una nuova build della release tramite il workflow cd.yml. Una volta completata con successo, la nuova release verrà pubblicata su npm. Nota che non è necessario aggiornare manualmente la versione in package.json, poiché il workflow aggiornerà automaticamente il numero di versione nel file package.json e invierà una commit su main.
Licenza
--- Tranlated By Open Ai Tx | Last indexed: 2025-09-16 ---