Skip to content

MCP (read-only)

Patchrooms exposes a read-only Model Context Protocol endpoint so an AI agent (Claude, Cursor, and others) can list and read the feedback reports for a project. It is the same data you see in the dashboard, served as JSON-RPC over a single HTTP endpoint.

POST https://room.patchrooms.com/mcp

The endpoint speaks JSON-RPC 2.0. Send method, params, and an id in the request body; the response echoes the id.

Authenticate with a secret API key (prefix pr_sk_) created in the dashboard, sent as a Bearer token:

Authorization: Bearer pr_sk_xxxxxxxxxxxxxxxxxxxxxxxxxxxx

The project is resolved from the key — there is no project id in the URL. The key must carry the feedback:read scope, or the endpoint returns 403.

The server advertises two tools via tools/list.

Lists feedback reports for the project, newest first, in a compact form.

ArgumentTypeDescription
statusstringFilter by report status.
channelKeystringFilter by channel key.
artifactIdstringFilter by artifact id.
limitnumberMax results. Defaults to 50, capped at 200.

All arguments are optional.

Returns a single report rendered as Markdown. Screenshot images are not inlined.

ArgumentTypeDescription
idstringReport id. Required.

List the most recent reports:

Terminal window
curl -s https://room.patchrooms.com/mcp \
-H "Authorization: Bearer pr_sk_xxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_reports",
"arguments": { "limit": 2 }
}
}'

The result is a tool-call envelope whose text content is a JSON array of reports:

{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "[\n {\n \"id\": \"665f1a2b3c4d5e6f7a8b9c0d\",\n \"shortId\": \"9c0d\",\n \"title\": \"Checkout button misaligned on mobile\",\n \"status\": \"open\",\n \"channelKey\": \"bug\",\n \"url\": \"https://app.example.com/checkout\",\n \"artifactId\": null,\n \"createdAt\": \"2026-06-03T09:14:22.000Z\"\n }\n]"
}
]
}
}

Fetch one report as Markdown:

Terminal window
curl -s https://room.patchrooms.com/mcp \
-H "Authorization: Bearer pr_sk_xxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "get_report",
"arguments": { "id": "665f1a2b3c4d5e6f7a8b9c0d" }
}
}'

The result content is the report rendered as a Markdown string. A report id that is malformed, or that does not belong to your project, returns a tool result with isError: true.

  • initialize returns protocol version 2024-11-05 and advertises tool support.
  • tools/list returns the two tools above.
  • tools/call runs a tool. An unknown tool or method returns a JSON-RPC error with code -32601.