VibeInfra MCP Server
Give an AI agent direct access to the VibeInfra SRE incident catalog: search incidents by symptom, read a full blueprint, check live sandbox capacity, look up infrastructure terms. Every tool is read-only and needs no credentials.
Install
No install step — run it straight from npm.
Claude Code
claude mcp add vibeinfra -- npx -y @vibeinfra/mcp-serverClaude Desktop, or any client with a JSON config
{
"mcpServers": {
"vibeinfra": {
"command": "npx",
"args": ["-y", "@vibeinfra/mcp-server"]
}
}
}The server speaks stdio and requires Node 18 or newer. Its machine-readable server card is published at /.well-known/mcp.json and listed in /.well-known/ard.json.
Tools
| Tool | Arguments | What it does |
|---|---|---|
list_incidents |
locale |
Every incident and course in the catalog, with difficulty tier, tech stack, duration and a link to its landing page. |
search_incidents |
query, difficulty, category, domain, tech, free_only, locale |
Free-text search across title, description, category and tech stack, combined with structured filters. |
get_incident |
course_id, locale |
One incident's full blueprint, including learning objectives and chapters where the course is step-graded. |
get_platform_capacity |
— | Live sandbox usage and queue length. Worth checking before telling a user to start a lab. |
lookup_infrastructure_term |
term, lang |
The VibeInfra infrastructure and SRE glossary, with exact-match preferred over substring. |
Every tool is annotated readOnlyHint: none of them starts a sandbox, spends
credits or writes anything. Starting a lab stays a deliberate action a person takes on the
site, or an authenticated call to
POST /labs/start.
Try it
Once the server is connected, ask your agent:
- “Find me an expert-tier Kafka incident on VibeInfra and summarise what it teaches.”
- “My pods keep restarting after a deploy — which VibeInfra incident drills that?”
- “Is VibeInfra busy right now, or can I start a lab straight away?”
- “What does VibeInfra mean by nf_conntrack exhaustion?”
Configuration
| Environment variable | Default | Purpose |
|---|---|---|
VIBEINFRA_API_BASE_URL |
https://api.vibeinfra.id |
Point the server at a local backend during development. |
How it behaves
An API failure — a mistyped course ID, the backend being unreachable — comes back as a tool
result marked isError rather than as a transport error. The agent sees what went
wrong and can try something else, instead of the session dying mid-turn.
Everything the server reads is the same public data served at api.vibeinfra.id. If you would rather call the API directly, the OpenAPI description and the SDKs cover the same ground.