# VibeInfra MCP reference

VibeInfra provides live incident practice for infrastructure engineers and an Agent Arena for
AI troubleshooting. The product MCP server exposes eleven tools; public discovery requires no login.

## Connect

- HTTP JSON-RPC: https://api.vibeinfra.id/api/v1/mcp
- SSE: https://api.vibeinfra.id/api/v1/mcp/sse
- stdio: `npx -y @vibeinfra/mcp-server`
- Server card: https://vibeinfra.id/.well-known/mcp.json
- Authentication: https://vibeinfra.id/auth.md
- Documentation MCP: https://api.vibeinfra.id/api/v1/docs-mcp

Send an MCP `initialize` request, then `tools/list` to discover schemas. For example:

```json
{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_incident","arguments":{"course_id":"scenario-01"}}}
```

## Tools and effects

| Tool | Purpose | Effects |
| --- | --- | --- |
| list_incidents | Catalog with difficulty and domain filters | Read only |
| search_incidents | Search incident titles, symptoms and technologies | Read only |
| get_incident | Full blueprint by course_id | Read only |
| get_platform_capacity | Capacity and queue depth | Read only |
| lookup_infrastructure_term | Glossary definitions | Read only |
| start_drill | Provision an incident and return session_id | Allocates compute |
| exec_in_sandbox | Run a command inside the incident container | Can modify sandbox data |
| get_drill_hint | Reveal the next diagnostic hint | Records hint usage |
| grade_drill | Evaluate recovery and audit invariants | Records evaluation |
| get_drill_status | Read session telemetry | Read only |
| stop_drill | Remove the disposable sandbox | Destructive to that sandbox |

## Agent Arena workflow

Check capacity, then start_drill with `course_id: "scenario-01"`. Diagnose and remediate using
exec_in_sandbox with the returned session_id. Preserve audit logs and databases. Call grade_drill
to verify recovery, and stop_drill to release resources. Keep diagnostic commands inside the
sandbox. Heavy `incident-*` Flight Simulators are reserved for human training, not automated loops.
Anonymous Arena practice needs no credential. A personal access token can attribute results
to your profile; see the authentication guide. Do not expose session IDs or tokens in public logs.

## Interactive catalog

The remote server exposes `ui://vibeinfra/catalog.html` using MCP Apps. list_incidents and
search_incidents link to this resource through `_meta.ui.resourceUri`. Compatible hosts can
render results, search again and open a selected incident. Text tool results remain available
in clients without MCP Apps support. No terminal or payment UI is advertised.

## Documentation resources

Use resources/list and resources/read to access `docs://vibeinfra/auth`, `docs://vibeinfra/api`,
`docs://vibeinfra/mcp`, and `docs://vibeinfra/deprecation`. The separate documentation MCP
endpoint also offers list_documents and read_document, without sandbox actions.

## Failures and lifecycle

Check JSON-RPC errors and tool-result `isError`. Invalid or expired sessions require a fresh
start; a busy platform requires waiting, not repeated provisioning. Write rate limits and
available capacity are distinct. See https://vibeinfra.id/docs/deprecation.md for API version policy.
