incident-assistant
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@incident-assistantare there any critical alerts? If so, try to fix them and let me know the result"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
incident-assistant — MCP "Hello World"
A test MCP (Model Context Protocol) server, built following the "incident response" exercise from the MCP book/course — with the difference that here it's wired up to Claude Code as the client instead of Gemini CLI.
The server simulates an alert dashboard for a production system and exposes:
A resource (
resource://incidents/active) with the list of active alerts (mock data).A tool (
resolve_incident) that "restarts" a service to resolve an alert, with an 80% simulated success rate (so you can also see the failure path).
Source: src/index.ts
Stack
@modelcontextprotocol/sdk— official MCP SDK for TypeScript/Node.stdio transport (the client spawns the server as a subprocess and they talk over stdin/stdout).
TypeScript compiled to
dist/(see tsconfig.json).
1. Install and build
npm install
npx tscThis compiles src/index.ts → dist/index.js (the entry point that
starts the server).
Note:
console.erroris used for logging inside the server on purpose —stdoutis reserved for the MCP JSON-RPC protocol, so anyconsole.logthere would break communication with the client.
2. Register the server with Claude Code
Unlike the book (which uses Gemini CLI's settings.json), in Claude Code a local MCP
server is registered with the claude mcp add command:
cd /absolute/path/to/incident-assistant
claude mcp add --scope project incident-assistant -- node /absolute/path/to/incident-assistant/dist/index.jsKey points:
The
--separatesclaude mcp add's own flags from the actual command that starts the server.An absolute path to
dist/index.jsis used (a relative path would resolve against the directoryclaudewas launched from, not against.mcp.json's location).--scope projectstores the config in .mcp.json at the repo root (version-controllable in git). Alternatives:--scope local(private to me, not shared) or--scope user(available across all my projects, stored in~/.claude.json).
This generates a local .mcp.json with your machine's absolute path baked in. Since
that path is specific to your setup, .mcp.json itself is gitignored — the repo ships
.mcp.json.example instead, showing the expected shape with a
placeholder path:
{
"mcpServers": {
"incident-assistant": {
"type": "stdio",
"command": "node",
"args": ["/absolute/path/to/incident-assistant/dist/index.js"]
}
}
}3. Approve the server
Since .mcp.json is a project file (it could come from a shared repo), Claude Code
asks for explicit approval the first time:
claudeOn startup it shows a trust prompt for incident-assistant — accept it once per
project (unless the server's command/args later change).
4. Verify
claude mcp list
claude mcp get incident-assistantExpected output once approved:
incident-assistant: node /absolute/path/to/incident-assistant/dist/index.js - ✔ ConnectedInside a claude session, /mcp lists the server's available tools/resources.
5. Demo — real result
Prompt to the agent: "are there any critical alerts? If so, try to fix them and let me know the result"
The agent:
Listed the available MCP resources (
listMcpResources) and foundresource://incidents/active.Read that resource (
readMcpResource) and got the mock alerts:ID
Service
Status
Message
ALRT-001
auth-api
🔴 CRITICAL
Memory leak detected
ALRT-002
payment-gateway
🟡 WARNING (not critical)
Latency > 500ms
Identified that only
ALRT-001is critical and called theresolve_incidenttool withserviceName: "auth-api".Result:
✅ Fixed: auth-api was gracefully restarted to clear the memory leak (ALRT-001, CRITICAL). Restart succeeded.
⚠️ Not touched: payment-gateway still shows a WARNING (latency > 500ms), but that's not critical, so it was left as-is.
Agent's note: a restart clears the symptom, not necessarily the root cause — worth keeping an eye on
auth-apimemory to confirm the leak doesn't recur.When explicitly asked "restart payment-gateway too", the agent calls
resolve_incidentagain withserviceName: "payment-gateway"(the exact outcome isn't recorded here since it depends on the 80% simulated success rate — it can come back ✅ or ❌ FAILURE).
This confirms the full loop: MCP client (Claude Code) → resource/tool discovery → reading a resource → decision → tool invocation → result.
Credits
This exercise is based on / learned from maliksahil/mcp-incident-assistant. The original walkthrough uses Gemini CLI as the MCP client; this repo adapts the same server to be used with Claude Code instead.
Notes / gotchas
The server runs under WSL; since Claude Code is also launched from a WSL terminal in this setup, paths in
.mcp.jsonare native Linux paths (e.g./home/<user>/...), not Windows UNC paths (\\wsl.localhost\...).If src/index.ts is edited, it needs to be rebuilt (
npx tsc) before the change takes effect — the server starts fromdist/index.js, not the.tsfile directly.resolve_incidenthas a deliberately simulated 80% success rate (Math.random() > 0.2), so you can observe how the agent handles both the success and the failure (isError: true) case.
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