incident-assistant
incident-assistant — MCP „Hallo Welt“
Ein Test-MCP-Server (Model Context Protocol), der der Übung „Incident Response“ aus dem MCP-Buch/-Kurs folgt – mit dem Unterschied, dass er hier an Claude Code als Client angebunden ist, statt an Gemini CLI.
Der Server simuliert ein Alert-Dashboard für ein Produktionssystem und stellt Folgendes bereit:
Eine Ressource (
resource://incidents/active) mit der Liste aktiver Alerts (Mock-Daten).Ein Tool (
resolve_incident), das einen Dienst „neu startet“, um einen Alert aufzulösen, mit einer simulierten Erfolgsrate von 80 % (damit man auch den Fehlerpfad sehen kann).
Quelle: src/index.ts
Stack
@modelcontextprotocol/sdk– offizielles MCP-SDK für TypeScript/Node.stdio-Transport (der Client startet den Server als Unterprozess und sie kommunizieren über stdin/stdout).
TypeScript kompiliert nach
dist/(siehe tsconfig.json).
1. Installieren und Builden
npm install
npx tscDies kompiliert src/index.ts → dist/index.js (den Einstiegspunkt, der den Server startet).
Hinweis:
console.errorwird absichtlich für Logging im Server verwendet –stdoutist für das MCP-JSON-RPC-Protokoll reserviert, sodass jedesconsole.logdort die Kommunikation mit dem Client stören würde.
2. Server bei Claude Code registrieren
Anders als im Buch (das Gemini CLIs settings.json verwendet), wird ein lokaler MCP-Server in Claude Code mit dem Befehl claude mcp add registriert:
cd /absolute/path/to/incident-assistant
claude mcp add --scope project incident-assistant -- node /absolute/path/to/incident-assistant/dist/index.jsWichtige Punkte:
Das
--trennt die eigenen Flags vonclaude mcp addvom eigentlichen Befehl, der den Server startet.Ein absoluter Pfad zu
dist/index.jswird verwendet (ein relativer Pfad würde relativ zum Verzeichnis aufgelöst, aus demclaudegestartet wurde, nicht relativ zum Speicherort von.mcp.json).--scope projectspeichert die Konfiguration in .mcp.json im Repository-Stamm (in git versionierbar). Alternativen:--scope local(privat für mich, nicht geteilt) oder--scope user(verfügbar in allen meinen Projekten, gespeichert in~/.claude.json).
Dies erzeugt eine lokale .mcp.json mit dem absoluten Pfad deiner Maschine. Da dieser Pfad spezifisch für dein Setup ist, ist .mcp.json selbst gitignored – das Repository enthält stattdessen .mcp.json.example, das die erwartete Form mit einem Platzhalterpfad zeigt:
{
"mcpServers": {
"incident-assistant": {
"type": "stdio",
"command": "node",
"args": ["/absolute/path/to/incident-assistant/dist/index.js"]
}
}
}3. Server genehmigen
Da .mcp.json eine Projektdatei ist (sie könnte aus einem geteilten Repository stammen), fragt Claude Code beim ersten Mal nach expliziter Genehmigung:
claudeBeim Start zeigt es einen Vertrauenshinweis für incident-assistant – akzeptiere ihn einmal pro Projekt (es sei denn, die Befehle/Argumente des Servers ändern sich später).
4. Überprüfen
claude mcp list
claude mcp get incident-assistantErwartete Ausgabe nach der Genehmigung:
incident-assistant: node /absolute/path/to/incident-assistant/dist/index.js - ✔ ConnectedInnerhalb einer claude-Sitzung listet /mcp die verfügbaren Tools/Ressourcen des Servers auf.
5. Demo – echtes Ergebnis
Prompt an den Agenten: „Gibt es kritische Alerts? Wenn ja, versuche sie zu beheben und lass mich das Ergebnis wissen“
Der Agent:
Listete die verfügbaren MCP-Ressourcen auf (
listMcpResources) und fandresource://incidents/active.Las diese Ressource (
readMcpResource) und erhielt die Mock-Alerts:ID
Service
Status
Message
ALRT-001
auth-api
🔴 KRITISCH
Speicherleck erkannt
ALRT-002
payment-gateway
🟡 WARNUNG (nicht kritisch)
Latenz > 500ms
Erkannte, dass nur
ALRT-001kritisch ist, und rief das Toolresolve_incidentmitserviceName: "auth-api"auf.Ergebnis:
✅ Behoben: auth-api wurde sauber neu gestartet, um das Speicherleck zu beseitigen (ALRT-001, KRITISCH). Neustart erfolgreich.
⚠️ Nicht angefasst: payment-gateway zeigt weiterhin eine WARNUNG (Latenz > 500ms), aber das ist nicht kritisch, also wurde es so gelassen.
Hinweis des Agenten: Ein Neustart beseitigt das Symptom, nicht unbedingt die Ursache – es lohnt sich, den Speicher von
auth-apiim Auge zu behalten, um zu bestätigen, dass das Leck nicht wieder auftritt.Wenn explizit „payment-gateway auch neu starten“ gefragt wird, ruft der Agent
resolve_incidenterneut mitserviceName: "payment-gateway"auf (das genaue Ergebnis wird hier nicht festgehalten, da es von der simulierten Erfolgsrate von 80 % abhängt – es kann ✅ oder ❌ FEHLER zurückkommen).
Dies bestätigt den vollständigen Kreislauf: MCP-Client (Claude Code) → Ressourcen-/Tool-Erkennung → Lesen einer Ressource → Entscheidung → Tool-Aufruf → Ergebnis.
Danksagungen
Diese Übung basiert auf / wurde gelernt von maliksahil/mcp-incident-assistant. Die ursprüngliche Anleitung verwendet Gemini CLI als MCP-Client; dieses Repository passt denselben Server an, um ihn stattdessen mit Claude Code zu verwenden.
Hinweise / Stolperfallen
Der Server läuft unter WSL; da Claude Code in diesem Setup ebenfalls aus einem WSL-Terminal gestartet wird, sind Pfade in
.mcp.jsonnative Linux-Pfade (z. B./home/<user>/...), keine Windows-UNC-Pfade (\\wsl.localhost\...).Wenn src/index.ts bearbeitet wird, muss es neu gebaut werden (
npx tsc), bevor die Änderung wirksam wird – der Server startet vondist/index.js, nicht direkt von der.ts-Datei.resolve_incidenthat absichtlich eine simulierte Erfolgsrate von 80 % (Math.random() > 0.2), sodass du beobachten kannst, wie der Agent sowohl den Erfolgs- als auch den Fehlerfall (isError: true) behandelt.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Operate smplkit from your agent: feature flags, config, logging, audit, and scheduled jobs.
Investigate errors, track deployments, analyze performance, and manage application monitoring
Hosted MCP endpoint with realistic fake data for prototyping agents. 12 tools, no setup.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/gmgalvan/hello-world-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server