ChatWithMCP
ChatWithMCP
Ein Kommandozeilen-Chat-Client für Claude (Anthropic) mit Anbindung an eigene und externe MCP-Server. Der Chat läuft direkt im Terminal, ruft Tools automatisch (oder nach Rückfrage) auf und bringt ein eingebautes System zum Generieren und Bewerten von Prompt-Varianten mit.
Features
Interaktiver Chat im Terminal (OpenAI-kompatible API,
openai-SDK gegen Anthropic-Endpoint)Anbindung eines lokalen MCP-Servers (
mcp-server/) mit eigenen ToolsOptionale Anbindung des offiziellen GitHub MCP Servers über Docker
Drei Ausführungs-Modi für Tool-Aufrufe:
auto,approve(Rückfrage) undplan(nur Plan, keine Ausführung)Streaming-Antworten und Extended Thinking (optional zuschaltbar)
Tools einzeln oder komplett de-/aktivierbar
Dateien per
/attachin den Chat-Kontext ladenEigene Tools für Netzwerk-Diagnose und (passive) Security-Checks (Port-Scan, TLS-Konfiguration, HTTP-Security-Header)
Prompt-Generierung und -Evaluierung über eigene MCP-Tools (siehe PROMPT_EVALUATION.md)
Related MCP server: MCP Chat
Voraussetzungen
Node.js (ESM/
type: module, siehepackage.json)Ein Anthropic API-Key
Optional: Docker (nur für den GitHub-MCP-Server) und ein GitHub Personal Access Token
Optional: ein Tavily API-Key (für das
web_search-Tool)Optional: SSH-Key(s), falls das
ssh_execute-Tool genutzt werden soll
Installation
npm installKonfiguration
Lege eine .env-Datei im Projektwurzelverzeichnis an (wird von .gitignore ausgeschlossen):
ANTHROPIC_API_KEY=dein-anthropic-api-key
BASE_URL=https://api.anthropic.com/v1
TAVILY_API_KEY=dein-tavily-api-key
GITHUB_PERSONAL_ACCESS_TOKEN=dein-github-tokenANTHROPIC_API_KEY/BASE_URL— werden für den Chat-Client und dasgenerate_prompts-Tool benötigtTAVILY_API_KEY— nur nötig für dasweb_search-ToolGITHUB_PERSONAL_ACCESS_TOKEN— nur nötig, wenn der GitHub-MCP-Server (via Docker) genutzt werden sollFür
ssh_executewerden je nach Zielhost zusätzliche, serverseitig konfigurierte Variablen benötigt (z. B. private SSH-Keys, Standard-User je Host) — Zugangsdaten werden nie als Tool-Parameter übergeben
Allgemeine Einstellungen (Modell, Token-Limits, Basisverzeichnis für /attach, GitHub-Toolsets) stehen in config.mjs.
Nutzung
Chat starten:
npm startDer lokale MCP-Server (mcp-server/server.mjs) wird dabei automatisch als Subprozess gestartet. Der GitHub-MCP-Server wird optional über Docker verbunden — schlägt das fehl, läuft der Chat ohne GitHub-Tools weiter.
Den MCP-Server lässt sich auch unabhängig starten (z. B. zum Testen mit einem MCP-Inspector):
npm run mcp-serverBefehle im Chat
Allgemein
/system TEXT— System-Prompt setzen/nosystem— System-Prompt entfernen/clear— Chat-Verlauf löschenexit— Chat beenden
Tool-Verwaltung
/tools— verfügbare Tools mit Status anzeigen/disable-tool <name>//enable-tool <name>— einzelnes Tool de-/aktivieren/disable-all-tools//enable-all-tools— alle Tools de-/aktivieren
Chat-Optionen
/options— aktuelle Einstellungen anzeigen/enable-streaming//disable-streaming— Streaming umschalten (deaktiviert währenddessen alle Tools)/enable-thinking//disable-thinking— Extended Thinking umschalten
Ausführungs-Modus
/plan-mode— Modell liefert nur einen Plan, führt keine Tools aus/auto-mode— Tools werden ohne Rückfrage ausgeführt (Standard)/auto-approve— vor jedem Tool-Aufruf muss bestätigt werden/mode— aktuellen Modus anzeigen
Dateien
/attach <pfad>— Datei einlesen und dem Chat-Verlauf hinzufügen (relative Pfade werden gegenconfig.attachBaseDiraufgelöst)
Prompt Evaluation
/generate-prompts <count> <prompt> [--style=formal|casual|technical|creative|concise]/evaluate-prompts/prompts/clear-prompts
Details dazu in PROMPT_EVALUATION.md.
Verfügbare MCP-Tools
Der lokale MCP-Server (mcp-server/tools/) stellt folgende Tools bereit:
Tool | Beschreibung |
| Liefert das aktuelle Datum des Systems |
| Liefert die aktuelle Uhrzeit |
| Wetterabfrage für einen Ort (Koordinaten) |
| Websuche über die Tavily-API (benötigt |
| Lädt eine Webseite und wandelt sie in lesbaren Text um |
| Dateien einlesen bzw. Inhalte im |
| Verzeichnisinhalt auflisten (optional rekursiv) |
| Einzelnen Befehl per SSH auf einem entfernten Server ausführen (Auth über serverseitig konfigurierten Key) |
| Netzwerkschnittstellen, Subnetze, MAC-Adressen und DNS-Server des lokalen Rechners anzeigen |
| Aktive Hosts im lokalen IP-Netzwerk per TCP-Connect-Scan finden |
| TCP-Ports eines externen Hosts prüfen und passiv Banner auslesen (kein Payload, kein aktives Ausnutzen) |
| TLS-/Zertifikatskonfiguration eines Hosts prüfen (Protokollversionen, Cipher, HSTS, Redirects) |
| HTTP-Security-Header und Cookie-Flags einer URL passiv analysieren (CSP, HSTS, X-Frame-Options, CORS, Cookies …) |
| Prompt-Varianten mit Claude erzeugen |
| Prompts gegen Test-Cases evaluieren und scoren |
Die Netzwerk- und Security-Tools (discover_network_hosts, scan_host_ports, check_tls_security, check_http_security_headers) sind rein passiv bzw. nutzen nur reguläre TCP-/TLS-Verbindungsversuche ohne Payloads — trotzdem gilt: nur für eigene bzw. ausdrücklich autorisierte Hosts/Netzwerke verwenden.
Über den optionalen GitHub-MCP-Server stehen zusätzlich Tools für Repos, Issues, Pull Requests und Actions zur Verfügung (siehe config.mjs → github.toolsets).
Projektstruktur
chat.mjs CLI-Chat-Client
config.mjs Konfiguration (Modell, Token-Limits, GitHub-Optionen)
mcp-server/
server.mjs MCP-Server (stdio)
tools/
date.mjs get_current_date
time.mjs getTime
weather.mjs get_weather
web-search.mjs web_search
fetch-page.mjs fetch_page
read-file.mjs read_file
save-file.mjs save_to_file
list-directory.mjs list_directory
ssh.mjs ssh_execute
network-info.mjs get_network_info
network-scan.mjs discover_network_hosts
host-port-scan.mjs scan_host_ports
tls-security-check.mjs check_tls_security
http-security-headers.mjs check_http_security_headers
prompt-generator.mjs generate_prompts
prompt-evaluator.mjs evaluate_prompts
lib/ gemeinsame Hilfsfunktionen (Netzwerk-Utils, URL-Safety-Checks)
output/ Ablage für generierte Dateien (z. B. über save_to_file)
PROMPT_EVALUATION.md Dokumentation des Prompt-Evaluation-SystemsThis server cannot be deployed
Maintenance
Related MCP Connectors
Real-time chat for AI agents. Claude Code, Cursor, Cline and Codex join channels over MCP.
- QuallaaOAuthcom.quallaa
Talk to your public-facing AI from any MCP client — Claude, ChatGPT, Cursor, Cline, Windsurf.
Real-time chat hub for AI agents — Claude Code, Cursor, Cline, Codex over MCP or REST.
- mcpOAuthai.butlerbrain
Persistent memory for AI assistants. Save once; recall from Claude, ChatGPT, or any MCP client.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA command-line interface application for interactive chat with AI models via the Anthropic API. It supports document retrieval, command-based prompts, and extensible tool integrations through the MCP architecture.-
- FlicenseAqualityDmaintenanceA command-line interface application enabling interactive chat with AI models via the Anthropic API. It supports document retrieval, command-based prompts, and extensible tool integrations through the MCP architecture.2-
- FlicenseNot gradedqualityDmaintenanceA CLI chat application enabling interactive conversations with AI models via the Anthropic API, with document retrieval and command-based prompt support through the MCP architecture.-
- FlicenseNot gradedqualityCmaintenanceMCP server enabling Claude chat, image analysis, live web search, and model listing through Anthropic's Messages API. Allows any MCP client to consult Claude as a tool via stdio JSON-RPC.-