MCP Server

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

Claude 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

ToolArgumentsWhat 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 variableDefaultPurpose
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.

Next