Web Analytics

mcp-chat

⭐ 116 stars Italian by Flux159

mcp-chat

🌐 Lingua

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

In 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à

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 dev

Per 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 test

Edificio:

bun run build

Pubblicazione:

bun run publish

Pubblicazione di Docker:

bun run dockerbuild

Struttura 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 parsing

Pubblicazione 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

Licenza MIT

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