AI & MCP Integration

Give the agent the same tools you use

The MCP server exposes the product's own queries — find_slow_traces, diagnose_service, search_logs — over an open protocol. Read-only by default, and scoped to one org.

The surface

One endpoint, any MCP client

Point Claude Code, or anything else that speaks MCP, at the endpoint on this page. Tools are the same queries the dashboard runs, against the same warehouse.

The MCP server page showing the endpoint and client setup
/mcp api.maple.dev/mcp
protocol
MCP / HTTP
clients
Claude Code · any MCP client
default
read-only
scope
OrgId
reads
traces · logs · metrics · sessions · issues
writes
issues · alert rules

In motion

An agent working the incident

Five tool calls from list_services to propose_fix. Every step is a query you could have run yourself, which is why the answer is checkable.

mcp · agent session LIVE
> ask maple
list services that errored in the last 15m
→ list_services { window: "15m", filter: "errors > 0" }
← 3 services
paymentserrors142p992.4s recoserrors38p99840ms shippingerrors6p99320ms
> investigate payments
→ find_errors { service: "payments", window: "15m" }
← 1 issue
stripe.charge declined  ·  142 events  ·  98 users
→ error_detail { issue_id: "iss_8a91" }
← root cause: idempotency key collision
sample trace: trace_9f3c · order 8421
→ propose_fix { issue: "iss_8a91", fix: "scope idempotency_key by user_id" }
← fix attached. opened pr#412.
4 tool calls · 4.2s open mcp protocol

What it does

What an agent can actually do

diagnose_service()
Ask about a service
diagnose_service reads p99 by service.version, error rate and throughput over a window and returns what changed, not a chart image the model has to squint at.
find_slow_traces()
Pull the traces behind it
find_slow_traces and inspect_trace return real spans with real attributes. The agent reads db.statement, not a summary of it.
read_source_file()
Read the source that ran
Link a repository and search_source_code plus read_source_file let the agent get from a stack frame to the function, so its proposal cites a line rather than a guess.
claim_error_issue()
Write, when you allow it
Claiming an issue, setting a severity or opening an alert rule are separate write tools. Read-only is the default posture, and mutations need approval.
OrgId filter
Scoped to one org
Every tool call is filtered by the org on the key, in the query itself. An agent cannot read across a tenant boundary because the query it runs cannot express it.

Keep going

Surfaces that share this data

Point OTLP at Maple.

One endpoint, one key. Traces, logs, metrics and sessions land on the same trace id from the first request.