Skip to content
Maple Docs
Open app

Maple MCP server

Connect Claude, Cursor and other AI agents to your Maple telemetry over the Model Context Protocol: endpoints, authentication, and every tool the server exposes.

Maple runs a Model Context Protocol (MCP) server. Each connection works inside one organization. From there an agent can query services, traces, logs and infrastructure, triage error issues, edit dashboards, manage alert rules, SLOs, uptime monitors and ingest rules, update status pages, read security audit runs, and query the databases and APIs the organization connected as data sources.

Endpoint (US)https://api.maple.dev/mcp
Endpoint (EU)https://api.eu.maple.dev/mcp
TransportStreamable HTTP
Manifest (server.json)maple.dev/.well-known/mcp.json · api.maple.dev/.well-known/mcp.json
Registry namedev.maple/maple
AuthMaple API key as Bearer token, or OAuth 2.1
Rate limit120 requests per 10 seconds per key or user; over it, 429 with Retry-After: 10

Use the endpoint of your organization’s region. The examples below use the US endpoint; for an EU organization replace api.maple.dev with api.eu.maple.dev.

Connecting a client

Any MCP client that speaks Streamable HTTP can connect. Settings → MCP in the dashboard shows the endpoint for your region and ready-made configuration for common clients. There are two ways to authenticate. Both are described in more detail on Authentication.

API key. Create a key under Settings → MCP or Settings → Keys and pass it as a Bearer token:

{
	"mcpServers": {
		"maple": {
			"type": "http",
			"url": "https://api.maple.dev/mcp",
			"headers": { "Authorization": "Bearer maple_ak_…" }
		}
	}
}

For Claude Code: claude mcp add --transport http maple https://api.maple.dev/mcp --header "Authorization: Bearer maple_ak_…".

OAuth. Clients that support the MCP authorization flow need no key. The server publishes its protected-resource metadata at https://api.maple.dev/.well-known/oauth-protected-resource/mcp and its authorization server metadata at https://api.maple.dev/.well-known/oauth-authorization-server. Dynamic client registration and PKCE (S256) are supported, so the client needs only the endpoint URL. It opens a browser sign-in on first use.

Requests are scoped to the organization the key belongs to, or the one chosen at sign-in. A user in several organizations picks one during the OAuth consent step.

Tools

The server exposes the tools below. Read-only tools are marked read; the rest change data in your organization. tools/list returns the current set with full parameter schemas.

Tools that take an alert rule, alert destination, dashboard or error issue ID accept either its UUID or its REST API ID (alrt_…, dest_…, dash_…, iss_…). list_alert_destinations, list_dashboards, get_dashboard and create_dashboard return both. The REST API also accepts the UUID in place of its prefixed ID.

Services and discovery

ToolAccessWhat it does
list_servicesreadActive services with throughput, error rate and P95 latency
diagnose_servicereadOne service’s health, top errors, recent traces and logs, and the platform resources behind it
get_service_top_operationsreadA service’s top operations (endpoints or spans), ranked by a chosen metric
service_mapreadService-to-service dependencies with call counts, error rates and latency per edge
compare_periodsreadError rate, throughput and P95 across two periods, overall and per service, with regressions flagged
explore_attributesreadAttribute keys and their values for filtering; source=services lists environments and commit SHAs
list_metricsreadCustom metrics with type, unit, monotonicity and data volume
describe_warehouse_tablesreadTables and columns available to raw SQL, with sorting keys and notes on units and casing
service_deploymentsreadVersions (commit SHAs) each service ran, with traffic, error rate and P95 per version
route_usagereadHTTP endpoints per service with request count, error rate, P95 and first and last seen, up to 90 days
db_query_volumereadDatabase query shapes ranked by call volume per service and database, with errors and latency

Traces, logs and queries

ToolAccessWhat it does
search_tracesreadFind traces by service, duration, error status, HTTP method, span name or one span attribute
find_slow_tracesreadThe slowest traces with p50, p95, min and max for context
inspect_tracereadSpan tree and logs for one trace
inspect_spanreadFull attribute set for one span; decodes messages and tool calls on AI agent spans
search_logsreadLog entries, newest first, filtered by service, severity, body text, trace or span
mine_log_patternsreadCluster log messages into templates with counts and a severity and service breakdown
compare_log_patternsreadLog templates that are new, gone, or whose share doubled or halved between two windows, such as before and after a deploy
compare_operationsreadA service’s operations that are new, gone, or whose share, error rate or p95 changed between two windows, such as before and after a deploy
query_datareadAggregate traces, logs, metrics or product events into a time series or top-N breakdown
run_sqlreadRun one read-only ClickHouse SELECT. The model sees the first 100 rows and the full row count; see the SQL reference

Errors

ToolAccessWhat it does
find_errorsreadErrors grouped by type with counts, affected services and a stable fingerprint
error_detailreadSample traces and correlated logs for one error fingerprint
list_error_issuesreadError issues with workflow state, counts, assignee and lease holder
list_error_issue_eventsreadAn issue’s audit log: state changes, claims, comments, agent notes and fix proposals
get_investigationreadOne investigation by inv_… id: its subject, status and the AI diagnosis with evidence
list_error_incidentsreadTime-bounded flare-ups under an error issue (first seen and regressions)
claim_error_issuewriteTake a lease on an issue so other agents do not duplicate the work
release_error_issuewriteGive up your lease, optionally moving the issue to another state
transition_error_issuewriteMove an issue to another workflow state
transition_error_issueswriteMove up to 200 issues to one workflow state, with a note on each
merge_error_issueswriteFold up to 50 duplicate issues into one; each merged issue is archived pointing at the kept one
set_issue_severitywriteSet or clear an issue’s triage severity
comment_on_error_issuewriteAdd a comment or agent note to an issue’s timeline
propose_fixwriteRecord a proposed fix and move the issue to in_review
link_pull_requestwriteAttach a GitHub pull request to an issue; Maple verifies the fix after it merges
register_agentwriteRegister an LLM agent so it can claim and transition issues. Needs a signed-in user, not an API key
get_error_notification_policyreadThe error notification policy: destinations, toggles, and when the first notification goes out
update_error_notification_policywriteChoose whether error incidents notify alert destinations, and which ones. Org admins only

Alerting

ToolAccessWhat it does
list_alert_rulesreadAlert rules with severity, signal type and condition
get_alert_rulereadOne rule’s full configuration: thresholds, filters, evaluation settings and destinations
list_alert_destinationsreadNotification destinations with id, type and delivery health
list_alert_incidentsreadTriggered alert incidents, open and resolved, with the last observed value
acknowledge_alert_incidentwriteAcknowledge an open incident, which pauses its reminders, or clear the acknowledgement
get_incident_timelinereadTrigger, notification and resolution times for one rule’s incidents, or all rules’
list_alert_checksreadA rule’s recent evaluations with observed value, threshold and sample count
preview_alert_rulereadReplay a saved or draft rule over past data: each window’s verdict and skip reason
create_alert_rulewriteCreate an alert rule from a template or from signal type, comparator and threshold
update_alert_rulewriteChange the fields you pass on an alert rule
delete_alert_rulewriteDelete an alert rule and its incident history. Requires confirm=true
list_escalation_chainsreadEscalation chains with their steps, repeats and the rules using them
create_escalation_chainwritePage destinations step by step, waiting for an acknowledgement between steps
update_escalation_chainwriteChange a chain’s name, steps, repeats or description
delete_escalation_chainwriteDelete a chain no rule uses
list_maintenance_windowsreadOne-off and weekly maintenance windows with their schedule, matchers and next occurrence
create_maintenance_windowwriteSilence matching rules once or every week; can keep those hours out of anomaly baselines
delete_maintenance_windowwriteDelete a maintenance window and end an occurrence in progress. Requires confirm=true
list_oncall_schedulesreadOn-call schedules with their layers and who is on call now
who_is_on_callreadWho is on call for a schedule at an instant, why, and who is next
create_oncall_schedulewriteRotate workspace members daily, weekly or every N hours, in layers
update_oncall_schedulewriteChange a schedule’s name, time zone, layers or description
delete_oncall_schedulewriteDelete a schedule and its overrides
create_oncall_overridewritePut one member on call for a window, over every layer
delete_oncall_overridewriteDelete an override so the layers decide again
list_alert_silencesreadActive and scheduled alert silences, or ended ones, with their matchers and window
create_alert_silencewriteHold back notifications for matching rules for a duration or until a time
end_alert_silencewriteEnd a silence now so notifications resume; cancels a scheduled one

SLOs and uptime monitors

ToolAccessWhat it does
list_slosreadEvery SLO with its current SLI, error budget left and worst burn rate, breaching ones first
inspect_sloreadOne SLO in full: config, error budget, the burn rate of each window and its burn-rate alerting
create_slowriteDefine an availability or latency SLO on one service, with burn-rate alerts
update_slowriteChange an SLO’s service, SLI, target, window or burn-rate alerting
delete_slowriteDelete an SLO and its burn-rate alert rule. Requires confirm=true
list_uptime_monitorsreadHTTP, TCP and DNS checks and heartbeats with their status, last check and recent pass rate, down first
create_uptime_monitorwriteStart an HTTP, TCP or DNS check, or a heartbeat; returns a heartbeat’s ping URL
update_uptime_monitorwritePause, resume or change a monitor’s target, assertions, schedule or destinations
delete_uptime_monitorwriteDelete a monitor and its alert rule. Requires confirm=true

The write tools here need the org admin or engineer role.

Status pages

ToolAccessWhat it does
get_status_pagereadEvery status page, or one page as visitors see it, with component status and open incidents
post_status_page_updatewriteOpen a public incident or maintenance notice, or post its next update; new ones start as drafts
apply_status_page_configwriteReplace a page’s settings, theme and components in one write. Org admins and engineers only

Dashboards

ToolAccessWhat it does
list_dashboardsreadDashboards with widget counts and timestamps
get_dashboardreadOne dashboard’s full configuration, every widget included
describe_dashboard_schemareadWhat a widget can be: panel types, data sources, units, aggregations and display options
inspect_chart_datareadRun a widget’s query and report row counts, series statistics and a health verdict
create_dashboardwriteCreate a dashboard from a template, simplified widget specs or full JSON
update_dashboardwriteChange a dashboard’s name, description or time range
add_dashboard_widgetwriteAdd one widget, from the query builder, raw SQL or a funnel
update_dashboard_widgetwriteReplace one widget with a full widget object
remove_dashboard_widgetwriteRemove one widget
reorder_dashboard_widgetswriteMove or resize widgets
replace_dashboard_widgetswriteReplace every widget in one validated write

Session replays and product events

ToolAccessWhat it does
search_sessionsreadFind browser session replays by user, client, errors, duration or what happened in them
get_session_transcriptreadA session replay as a text transcript of navigation, clicks, console, network and errors
get_session_tracesreadThe backend traces a browser session produced
list_product_eventsreadProduct event names with how often each fired and how many sessions and people it reached
query_funnelreadConversion funnel over product events, with step counts, conversion and drop-off
list_usersreadThe end users your apps identified, with sessions, requests, errors and their busiest route
inspect_userreadOne end user: sessions, MCP sessions, the issues they hit and their failed requests

Agent sessions

ToolAccessWhat it does
list_agent_sessionsreadAI agent sessions with agent, models, LLM and tool calls, failures, tokens and cost
get_agent_sessionreadOne agent session: verdict, checks, findings, timing, turns, tokens and cost
get_agent_session_transcriptreadOne agent session step by step: prompts, replies, tool calls and results, sub-agents
get_agent_tools_overviewreadCalls, failures and latency per agent tool, compared with the previous window
get_agent_tool_errorreadOne agent tool failure group with affected sessions and sample calls

Setup

ToolAccessWhat it does
audit_setupreadCheck the whole organization setup: alert routing, error notifications and per-service ingest coverage
get_instrumentation_recommendationsreadSpan and resource attribute problems found in your live data
list_integrationsreadConnected integrations, what each one feeds, and which resources are failing or stale
list_ingest_sourcesreadEverything that sends data to the organization, worst health first, and when each last sent data
ingest_freshnessreadNewest received timestamp per signal, with its lag
ingest_usagereadSpans, log records and metric data points ingested per service, with org totals

Ingest rules

ToolAccessWhat it does
list_ingest_rulesreadThe rules that drop or redact telemetry before Maple stores or bills it, in the order they run
preview_ingest_rulereadRun a saved or draft rule over recent traces or logs and count what it would drop or redact
create_ingest_rulewriteAdd a drop or redact rule; it applies to new data within 30 seconds
update_ingest_rulewriteTurn a rule on or off, rename or move it, or replace its signals, conditions or action
delete_ingest_rulewriteDelete a rule. Requires confirm=true

The write tools here need the org admin or engineer role.

Data sources

ToolAccessWhat it does
list_data_sourcesreadThe external databases and APIs the organization connected for Maple to query in place
search_data_sourcesreadFind which data source, table or field holds a topic, such as failed payments or signups
describe_data_sourcereadOne data source’s tables or resources, their fields and sample values, and its query language
query_data_sourcereadRun one read-only SQL or resource query against a data source; explain=true returns only the plan

Infrastructure

ToolAccessWhat it does
list_infrareadHosts, Kubernetes, Docker containers and integration resources, closest to a limit first
inspect_infrareadOne host, pod, node, workload, container or integration resource in depth

Security

ToolAccessWhat it does
list_security_findingsreadCode audit findings, vulnerable dependencies, scanner probes that got a 2xx and outdated runtimes, worst first, or one area in full
inspect_security_findingreadOne finding in full, or whether an advisory (CVE, GHSA) affects any repository or service
list_security_audit_runsreadCode security audit runs, newest first, with status, cost and findings, and this month’s audit spend against its limit
inspect_security_audit_runreadOne audit run in full: what it covered, every claim it reported, and its step log. Org admins and engineers only

Integrations

ToolAccessWhat it does
sync_railwaywritePoll Railway now and report each environment’s last sync
create_scrape_targetwriteStart scraping a Prometheus endpoint that needs no credentials
update_scrape_targetwritePause, resume or change a Prometheus scrape target
delete_scrape_targetwriteDelete a Prometheus scrape target and its check history; its stored metrics stay

These are admin-only. Connecting a provider, and adding a scrape credential, stay in the dashboard, under Sources or Settings → Integrations.

Search Console

ToolAccessWhat it does
search_console_queriesreadGoogle search queries from the connected Search Console: clicks, impressions, CTR and position, against the previous period
search_console_pagesreadSearch landing pages joined with Maple web analytics: sessions, bounce rate and, optionally, conversions

Feedback

ToolAccessWhat it does
send_maple_feedbackwriteTell the Maple team about a bug, a missing capability or a misleading doc: its kind, the agent, and why
list_maple_feedbackreadMaple team only: read the feedback agents sent. Refused for any other organization

The same feedback can be sent over the REST API with POST /v2/agent_feedback.

Prompts and resources

The server also provides three prompts (incident_triage, latency_analysis, debug_errors) and two resources: maple://instructions, which explains Maple’s data model to the model, and maple://data-sources, which lists the organization’s connected data sources.