MCP server
Let Claude Code and other coding agents read production data while they work in your repo, and resolve issues once they've fixed them.
Raccoon runs an MCP server at https://raccoon.watch/mcp. A coding agent connected to it can find your slowest routes, spot N+1 queries, read stack traces and logs, and check whether its fix worked, without you pasting anything.
Connect an agent#
-
Create a token under Settings → Profile → API tokens. It sees the same organizations you do. Turn on Write access only if the agent should resolve, ignore or comment on issues.
-
Add the server to your agent. For Claude Code, the token dialog shows this command with your token filled in:
claude mcp add --transport http raccoon https://raccoon.watch/mcp --header "Authorization: Bearer <token>"
Other agents that support MCP over HTTP need the same URL and Authorization header.
Then ask, for example: "Use raccoon to find the routes with the most total time this week, check them for N+1 queries, and fix the worst one."
Tools#
Every tool takes environment, either its id or Application/Environment such as Shop/Production. You can leave it out when your token sees only one environment. Tools with a period take 1h, 24h (the default), 7d, 14d or 30d, limited to your plan's history.
| Tool | What it returns |
|---|---|
list_environments |
The applications and environments you can query, with their ids. |
environment_overview |
Requests, error rates, latency, jobs, exceptions, the slowest routes, open issues and recent deploys. |
slow_routes |
Routes ranked by total_time (default), p95, avg, count or errors. Takes search and limit. |
get_route |
One route's latency and status codes, its top queries with calls per request, and its slowest requests. Pass route, optionally with the method, such as POST /orders. |
get_request |
One request's full timeline, N+1 queries, exceptions, logs and dispatched jobs, by trace_id. |
slow_jobs |
Jobs ranked by total_time, p95, failures or count. |
get_job_attempt |
One job attempt, with the request that dispatched it, by attempt_id. |
top_queries |
Queries ranked by total_time, count, p95 or calls_per_execution, with where they run in your code. Sort by calls_per_execution to find N+1 queries. |
list_issues |
Issues by status (open by default, resolved, ignored, all) and type (exception, performance, all). |
get_issue |
One issue by ref, with its history, stack frames with source and recent occurrences. |
search_logs |
Log entries matching query (case-sensitive), at or above min_level. |
update_issue |
Sets an issue's status (open, resolved, ignored) and adds a comment. Needs a token with write access. |
Results are Markdown, with SQL, file:line locations and links back to the dashboard.