# 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.

## 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.

- **protocol**: MCP / HTTP
- **clients**: Claude Code · any MCP client
- **default**: read-only
- **scope**: OrgId
- **reads**: traces · logs · metrics · sessions · issues
- **writes**: issues · alert rules

## 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.

## Related

- [Error Tracking](https://maple.dev/features/error-tracking.md)
- [Distributed Tracing](https://maple.dev/features/distributed-tracing.md)
- [Service Catalog & Map](https://maple.dev/features/service-catalog.md)
- [API Performance](https://maple.dev/use-cases/api-performance.md)
