Skip to content
  • System
  • Light
  • Dark
  • High contrast

MCP server

The Inntrig API exposes a Model Context Protocol (MCP) endpoint so that AI agents — Claude Code, Claude.ai, or any MCP-compatible client — can query audit data directly.

EnvironmentURL
Productionhttps://api-production-02d9.up.railway.app/mcp
Localhttp://localhost:3001/mcp

The server uses the Streamable HTTP transport (POST /mcp, GET /mcp).

The MCP endpoint uses the same session cookie auth as the rest of the API. There is no separate API key.

To authenticate, your MCP client must send the better-auth.session_token cookie that is set when you sign in through the web app. In Claude Code you pass this as a header:

{
"headers": {
"Cookie": "better-auth.session_token=<your-token>"
}
}
  1. Sign in at the web app
  2. Open DevTools → Application → Cookies
  3. Copy the value of better-auth.session_token

Add the server to .mcp.json in your project root (or ~/.claude/mcp.json for global use):

{
"mcpServers": {
"inntrig": {
"type": "http",
"url": "https://api-production-02d9.up.railway.app/mcp",
"headers": {
"Cookie": "better-auth.session_token=<your-token>"
}
}
}
}

For local development:

{
"mcpServers": {
"inntrig-local": {
"type": "http",
"url": "http://localhost:3001/mcp",
"headers": {
"Cookie": "better-auth.session_token=<your-token>"
}
}
}
}

All tools are scoped to the authenticated user — they only return data the signed-in account owns.

Returns all projects for the authenticated user.

No inputs required.

Returns all audits for a given project.

InputTypeDescription
projectIdstringID of the project

Returns report metadata plus conformance summary counts (pass / fail / na / todo).

InputTypeDescription
reportIdstringID of the report

Returns all criterion results for a report, including status and notes.

InputTypeDescription
reportIdstringID of the report

Returns full details for a single WCAG criterion (ref, name, level, summary, guidance).

InputTypeDescription
criterionIdstringID of the criterion

The MCP server is implemented in apps/api/src/routes/mcp.ts using @hono/mcp and @modelcontextprotocol/sdk. Each request creates a fresh server instance (stateless) so there are no session management concerns on the server side.