MCP reference
Connect to the hosted Prilog MCP endpoint with OAuth and use project-scoped tools to inspect errors, request fixes, and create pull requests.
Connect
The Prilog hosted MCP server uses Streamable HTTP at:
https://prilog.ai/api/mcp
Add this URL to an OAuth-capable remote MCP client, sign in to Prilog, and authorize one organization, selected projects, and the capabilities you need. Use the client's remote MCP connection flow; the endpoint is not a public unauthenticated REST API.
The hosted connector works with existing projects and repositories. Complete repository setup in the dashboard or CLI first. You do not need to run a local MCP server or pass a monitoring DSN.
Authorization
Every tool is limited to the connection's selected projects and scopes:
prilog:read— list projects, inspect project status, list and read errors, and read diffs.prilog:ingest— upload supplied telemetry text.prilog:issues— import a public GitHub issue for the connected fork.prilog:fix— request analysis and fix generation.prilog:pr— create a pull request for an existing fix.
Reconnect from your client to add projects or permissions. Revoke access in Prilog Settings → Account → Connected apps.
Read tools
Call list_projects first and use the returned project UUID on every other tool. Do not infer IDs from names or reuse IDs from another connection.
list_projects— no arguments. Returns authorized projects and organization identity.get_status— required:project_id. Returns project identity and error/fix counts.list_errors— required:project_id. Optional:status,search,page,page_size. Status isall,pending,processing,completed,failed, orskipped. Pages start at 1; page size defaults to 20 and accepts 1–100.get_error— required:project_id,error_id. Returns the full error and current analysis state.get_diff— required:project_id,error_id. Returns a generated diff or the current analysis state when it is not ready.
Example list_errors arguments, replacing PROJECT_UUID with a returned ID:
{
"project_id": "PROJECT_UUID",
"status": "pending",
"page": 1,
"page_size": 20
}
Tool results contain http_status and data. Error-list messages longer than 1,000 characters are truncated and marked message_truncated; use get_error for full details.
Write tools
Every write requires project_id and a unique idempotency_key of 8–128 characters, such as a UUID. The requested action also needs these fields:
ingest_logs—text; optionalfilename. Accepts 1 byte to 1 MiB of supplied text. It cannot read a local path or download a remote URL.import_github_issue—issue_url. The issue must be open and public, and match the project's connected fork and upstream base branch.request_fix—error_id. Queues asynchronous analysis following the project's automation settings and billing allowance.create_pull_request—error_id. Creates or returns a PR for an existing generated fix. Reviewget_difffirst and publish only when the user requested it.
Example request_fix arguments:
{
"project_id": "PROJECT_UUID",
"error_id": "ERROR_UUID",
"idempotency_key": "a039ab19-63a8-46ba-b394-5f6052d11137"
}
Generate a new key for a new requested action. Reuse the original key and identical arguments when retrying that same action. Changing arguments with an existing key is rejected. Do not rotate keys to repeat an operation with an uncertain outcome.
Asynchronous workflow
- Call
list_projects, thenlist_errorsandget_errorfor the selected project. - Call
request_fixif the user requested analysis. - Report the returned error ID and review URL. Check state with
get_error; avoid tight polling. The shared skill allows up to six checks about ten seconds apart when waiting is available. - When analysis completes, call
get_diffand review the changes. - Call
create_pull_requestwhen publication is requested. Return the actual PR URL fromdata.pr_url,data.resolution_url, or resolution metadata.
An empty diff can mean analysis is pending, processing, failed, skipped, or completed without code changes. An interrupted mutation can require support to reconcile its state; check the project/error before retrying. MCP does not provide merge or deployment tools.
