Skip to content

MCP tools

All tools are served through the single endpoint described in MCP. Your agent sees every tool your role allows; tools marked admin return a clear “requires the ADMIN role” message to other callers.

Query your monitoring data: the same surface as the Logs and Metrics pages, tool-shaped.

ToolWhat it does
logssearch logs with filters (service, level, trace id, time range, text) and cursor pagination
get_logfetch one complete log record by its log_id
get_log_neighborsthe logs immediately before/after a given log, for context around a suspicious line
spanssearch spans (service, operation name, status, kind, minimum duration, trace id, time range)
get_traceevery span of one trace, plus a summary
aggregate_spansrequest count, error rate, and latency percentiles, grouped by service or operation
list_metricsdiscover which metrics exist per service
metricsquery one metric’s time series (with step, grouping, filters)
correlateone-shot pivot for a trace id: its spans, its logs, and related metric exemplars
describe_schemawhat’s queryable: fixed fields and your own dynamic attribute keys, per table
run_sqlrun a read-only QuerySQL statement

run_sql and metrics return an explorerUrl alongside their results: a link that opens the same query in the app, so an agent’s answer can be handed to a person.

A run_sql statement whose WHERE clause carries no lower bound on timestamp is limited to the last 7 days. Add timestamp >= '<iso instant>' or timestamp >= now() - INTERVAL n DAY to look further back. A statement that bounds itself is left alone.

Compose a dashboard from queries and get back a stable link. See Debugging for when to reach for one.

ToolWhat it does
describe_dashboardsthe composition guide: the definition format, the panel kinds, how to pick a chart form from the measure, grid layout, units, and what mint_dashboard validates. Call it once before composing
mint_dashboardvalidate a definition, run every panel against your live data, store it, and return the link and id. Errors block the link; warnings ship with it
update_dashboardreplace the definition behind an existing dashboard. Same id, same link, so everyone holding it sees the new version
get_dashboardthe stored definition, for editing and handing straight back to update_dashboard
list_dashboardsdashboards stored for your account, newest first, with ids and links; filterable by titleContains
delete_dashboardremove a stored dashboard. The link stops working for everyone holding it

mint_dashboard refuses a title that already exists, so two dashboards cannot end up answering the same question. Links are https://app.fixter.dev/chart/<id>; the definition lives server-side, not in the URL.

Read tracked exceptions and their investigation briefs: the tool shape of the Issues page. See Issues for what an issue is.

ToolWhat it does
list_issueslist issues, filtered by status (NEW, ONGOING, REGRESSED, RESOLVED), service, kind (EXCEPTION or LOG), or free text; sorted by EVENTS or LAST_SEEN. Each result flags whether an investigation brief exists
get_issueone issue by fingerprint, including its latest investigation brief (root cause, evidence, likely area)

Issues are addressed by fingerprint, the id list_issues returns, not by a number.

Author and manage alert rules: the tool shape of the Alerts pages.

ToolWhat it does
describe_alertinghow Fixter alert rules work: the shapes and options, self-describing for agents
get_alert_ruleslist your alert rules
save_alert_rulecreate or update a rule (thresholds or anomaly conditions over a QuerySQL-filtered signal)
preview_alert_ruledry-run a rule against recent data before saving it
set_alert_rule_statusenable or disable a rule
delete_alert_ruleremove a rule
suppress_signal / unsuppress_signal / list_suppressionstemporarily silence matching alerts
create_ignore_rule / delete_ignore_rule / list_ignore_rulespermanently ignore known-noise signals

A rule does not carry channels. Where its alerts go is set with set_notification_destinations under Notifications, addressing either the whole alerting source or one rule id as a subject. A check tree holds at most 20 metric checks, and the number of rules you can have active at once comes from your plan.

Synthetic probes against your HTTP endpoints and MCP servers: the tool shape of the API Tests page.

ToolWhat it does
create_api_test / update_api_test / delete_api_testdefine probes, with assertions on status, latency, headers, body, or MCP handshake/tools
list_api_tests / get_api_testinspect configured tests
enable_api_test / disable_api_testpause and resume a test
get_api_test_runsrun history with outcomes, filterable by time and status
get_uptimeuptime percentage over a window
create_api_test_credential / list_api_test_credentials / delete_api_test_credentialmanage the credentials probes authenticate with (basic, bearer, API key, OAuth2); values are write-only and never echoed back

A test does not carry channels either. Route the whole e2e-monitoring source, or one test id as a subject, under Notifications.

Work investigations and configure how they run. Setup changes require the admin role; reads are open to any role.

ToolWhat it does
list_investigationsrecent investigations, newest first
get_investigation_briefthe full transcript of one investigation, read-only
start_investigationclaim an investigation (by id or its pick-up slug) and continue it in your editor with its complete context
ToolWhat it does
list_alert_channelsyour notification channels. Each entry’s id is the UUID set_notification_destinations takes; channelId is the Slack-side id, shown for recognition only. Your email channel appears here too, named “All active users”
add_alert_channel / remove_alert_channel (admin)add or remove a Slack channel by its Slack channel id. Every bot-posted alert in a registered channel is investigated automatically; there is no per-alert rule to configure
list_investigation_agent_context_credentialswhich monitoring-provider credentials are configured (names only; values are never readable)
set_investigation_datadog_credentials (admin)store Datadog keys so investigations can run against your existing monitoring during migration
set_investigation_cloudwatch_credentials (admin)store AWS CloudWatch credentials, same purpose
get_issue_digest_config / set_issue_digest_config (admin, set only)the issue digest’s mode, schedule, timezone, and delivery channel

Where alerts, new issues, and API test state changes are delivered. See Alerts.

ToolWhat it does
get_notification_destinationswhich channels a source’s notifications go to. Pass subject to read one alert rule’s or one API test’s own destinations instead
set_notification_destinations (admin)choose those channels, by channel id from list_alert_channels. Omit channelIds to clear and fall through to the next step down; pass [] to turn notifications off entirely for whatever was addressed
list_notification_opt_outs / clear_notification_opt_outwho has unsubscribed from a source’s emails, and putting them back on

There are three routable sources: alerting, issues, and e2e-monitoring. Anything else is rejected with the valid set named in the error. A subject addresses one thing inside a source: an alert rule id (the id from get_alert_rules) or an API test id. Delivery reads the subject row first, then the source row, then your default, which is your email channel plus your default Slack channel. So reading a source alone will not tell you where a routed rule’s alerts actually go.

  • Results are capped for agent-friendliness (long strings and large result sets are truncated); every search tool takes limits and filters for precise paging.
  • Destructive setup tools (channel removal, rule deletion) act immediately.
  • The channel tools were once named list_investigation_alert_channels, add_investigation_alert_channel and remove_investigation_alert_channel. Those aliases have been removed; a script still calling them gets an unknown-tool error. Use the names above.
  • set_alert_rule_delivery has been removed. Routing moved off the rule and onto the source and subject model under Notifications.
  • This page is hand-maintained against the current tool surface; your agent’s live tool list is always authoritative, so ask it to list its Fixter tools.