project_id — use set_active_project once at the start of a session to avoid repeating it on every call.
Telemetry-only tokens (scope
superlog:telemetry) can only access the Telemetry and Project tools. Incident, Dashboard, Alert, and Agent Config tools require a full-access token. See MCP Overview for token setup.Telemetry Tools
query_logs
Search OpenTelemetry log records stored in the active project. Error-level rows automatically include flattenedexception_type, exception_message, and exception_stacktrace fields when the log carries an exception attribute.
Parameters
Parameters
uuid
Project to query. Defaults to the session’s active project.
object
Time window. Both fields accept an ISO-8601 timestamp or a ClickHouse time expression such as
now() - INTERVAL 1 HOUR. Defaults to the last hour.since— start of the window (inclusive)until— end of the window (inclusive)
string
Filter by
service.name. Exact match.string
Filter by severity text, e.g.
ERROR, WARN, INFO. Case-insensitive.string
Case-insensitive substring match on the log body.
array
Filters on OTel resource attributes. Each entry is
{ key, value, op? } where op is eq (default), neq, or not_contains.Example: [{ "key": "deployment.environment", "value": "prod" }]array
Equality filters on per-record log attributes (
LogAttributes). Each entry is { key, value }.Example: [{ "key": "event.name", "value": "auth.failure" }]integer
Maximum rows to return. Range: 1–500. Default:
50.query_traces
Search OpenTelemetry spans stored in the active project. Spans with exception events automatically include flattenedexception_type, exception_message, and exception_stacktrace fields.
Parameters
Parameters
uuid
Project to query. Defaults to the session’s active project.
object
Time window with
since and until. Same format as query_logs.string
Filter by
service.name. Exact match.string
Filter by span name. Exact match.
string
OTel span-level status:
STATUS_CODE_OK, STATUS_CODE_ERROR, or STATUS_CODE_UNSET.Note: By the OTel HTTP semantic conventions, only 5xx server responses automatically set STATUS_CODE_ERROR on a span — 4xx responses (including 410, 404, etc.) remain STATUS_CODE_UNSET. To filter spans by HTTP status code, use span_attrs with key: "http.response.status_code" instead.number
Only return spans whose duration is at least this many milliseconds.
array
Filters on resource attributes. Same format as
query_logs.array
Equality filters on per-span attributes (
SpanAttributes). Each entry is { key, value }.Use this to filter by HTTP status code, route template, database statement, etc. — those live in SpanAttributes, not in the span’s OTel status_code.Example: [{ "key": "http.response.status_code", "value": "410" }]integer
Maximum rows to return. Range: 1–500. Default:
50.query_metrics
Fetch metric data points across gauge, sum, histogram, and summary tables. Gauge and sum points carry a scalarvalue. Histogram and summary points carry count and sum (plus min and max for histograms) instead, because they have no single scalar value.
Parameters
Parameters
uuid
Project to query. Defaults to the session’s active project.
string
Filter by metric name. Exact match.
string
Filter by
service.name. Exact match.object
Time window with
since and until. Same format as query_logs.array
Filters on resource attributes. Same format as
query_logs.integer
Maximum rows to return. Range: 1–500. Default:
100.list_services
List distinctservice.name values that have emitted telemetry in the given time window.
Incident Tools
Incident tools require a full-access token. Telemetry-only tokens cannot access these tools.
get_incident
Fetch one incident by its UUID and everything needed to explain it. Noproject_id is required — the project is resolved from the incident record itself. The response includes the incident summary with the agent’s findings (root_cause_text, agent_summary, estimated_impact_text), every linked issue with its stored telemetry sample (trace ID, span ID, stacktrace, attributes), and a pointer to the latest investigation run.
To pull live telemetry, take a sample’s trace_id and call query_traces, or filter query_logs / query_traces by the issue’s service and exception type — passing the returned project_id.
Parameters
Parameters
uuid
required
The UUID from the incident’s URL:
https://superlog.sh/incidents/<id>.search_incidents
Search incidents in the active project, sorted by most recent activity first. By default, agent-classified noise (status: autoresolved_noise) is hidden. Pass status: "all" to include it, or status: "autoresolved_noise" to inspect only the noise pile.
Parameters
Parameters
uuid
Project to search. Defaults to the session’s active project.
string
Filter by incident status:
open, resolved, autoresolved_noise, merged, or all. Omitting this hides auto-classified noise.string
Filter by assigned severity:
SEV-1, SEV-2, or SEV-3.string
Exact match on the incident’s primary
service.name.string
Case-insensitive substring matched against the incident title and codename.
string
ISO-8601 timestamp. Only incidents with
last_seen >= since are returned.string
ISO-8601 timestamp. Only incidents with
last_seen <= until are returned.integer
Maximum rows to return. Range: 1–200. Default:
50.Project Tools
list_projects
List every project the authenticated user can access, across all of their organizations. The currently active project is marked withactive: true.
No parameters.
get_active_project
Return the project that all tools default to whenproject_id is omitted. Useful for confirming the active project at the start of a session.
No parameters.
set_active_project
Change the default project for subsequent tool calls in this session. The new default persists for the lifetime of the access token.Parameters
Parameters
uuid
required
The project to make active. Use
list_projects to discover valid IDs.Dashboard Tools
Dashboard tools require a full-access token.
list_dashboards
List all dashboards in the active project (orproject_id).
Parameters
Parameters
uuid
Defaults to the session’s active project.
get_dashboard
Fetch a dashboard with all of its widgets.create_dashboard
Create a new dashboard, optionally seeding template variables. Dashboard template variables are named picklists that drive widget filters. Define a variable here and reference it in widget filter values with the token$name or ${name} — for example, { "key": "deployment.environment", "value": "$env" }. At view time, the dashboard shows a dropdown per variable and substitutes the selected option into every filter that references it.
Parameters
Parameters
uuid
Defaults to the session’s active project.
string
required
Dashboard display name (max 120 characters). A URL slug is generated automatically.
array
Template variable definitions. Each entry is
{ name, options[], defaultValue?, label?, attributeKey? }. Variable names must start with a letter and contain only letters, digits, or underscores.update_dashboard
Rename a dashboard.add_dashboard_widget
Append a widget to an existing dashboard. Widget types:
Omit
layout to use the standard size for the widget type. The grid is 12 columns wide (x is 0–11, w is 1–12).
Filter values may reference dashboard template variables with $name or ${name}.
Parameters
Parameters
uuid
Defaults to the session’s active project.
uuid
required
Dashboard to add the widget to.
string
required
Widget type. One of:
timeseries_count, timeseries_metric, trace_table, log_table, markdown.string
required
Widget display title (max 200 characters).
object
required
Widget configuration object. Shape depends on
type.object
Grid placement
{ x, y, w, h }. Omit to use the standard size for the widget type.update_dashboard_widget
Patch a widget’s title, config, or layout. Provide only the fields you want to change.delete_dashboard_widget
Remove a widget from a dashboard.set_dashboard_variables
Replace a dashboard’s entire template-variable list. This overwrites the existing list — callget_dashboard first and edit the returned variables if you want to keep any existing ones.
delete_dashboard
Delete a dashboard and all of its widgets. This action is permanent.Alert Tools
Alert tools require a full-access token.
list_alerts
List all alerts in the active project.Parameters
Parameters
uuid
Defaults to the session’s active project.
get_alert
Fetch a single alert plus its 50 most recent firings.create_alert
Create a new alert rule. Forlogs and traces sources, aggregation must be count. For metric source, aggregation must be sum or avg and metric_name is required.
Parameters
Parameters
uuid
Defaults to the session’s active project.
string
required
Display name for the alert (max 200 characters).
string
required
Telemetry source:
logs, traces, or metric.string
required
How to aggregate the data:
count (logs/traces) or sum/avg (metric).string
required
Comparison direction:
gt fires when value > threshold; lt fires when value < threshold.number
required
The numeric threshold to compare against.
string
Required when
source is metric.object
Equality filters that narrow the data the alert evaluates.
string
Resource attribute to group by, e.g.
service.name. When set, use group_mode to control how groups fire.string
single rolls all groups up into one evaluation; per_group fires independently per distinct group_by value.integer
Evaluation window in minutes. Range: 1–1440. Default:
5.integer
How often the alert is evaluated, in seconds. Range: 15–3600.
boolean
Whether the alert is active. Defaults to
true.update_alert
Patch an existing alert. Provide only the fields you want to change. Validation runs on the merged result.Parameters
Parameters
uuid
Defaults to the session’s active project.
uuid
required
Alert to update.
string
New display name.
string
logs, traces, or metric.string
count, sum, or avg.string
gt or lt.number
New threshold value.
boolean
Enable or disable the alert.
string
Required when changing
source to metric.object
Replacement filter definition.
string
Replacement group-by attribute.
string
single or per_group.integer
Replacement evaluation window in minutes.
integer
How often the alert is evaluated, in seconds. Range: 15–3600.
delete_alert
Permanently delete an alert.preview_alert
Evaluate a draft alert specification against current data without saving it. Returns whether the alert would breach right now.Parameters
Parameters
uuid
Defaults to the session’s active project.
string
required
Display name for the draft alert (max 200 characters).
string
required
Telemetry source:
logs, traces, or metric.string
required
How to aggregate the data:
count (logs/traces) or sum/avg (metric).string
required
gt fires when value > threshold; lt fires when value < threshold.number
required
The numeric threshold to compare against.
string
Required when
source is metric.object
Equality filters that narrow the data the alert evaluates.
string
Resource attribute to group by, e.g.
service.name.string
single rolls all groups into one evaluation; per_group fires independently per distinct group_by value.integer
Evaluation window in minutes. Range: 1–1440. Default:
5.integer
How often the alert is evaluated, in seconds. Range: 15–3600.
boolean
Whether the alert is enabled in the preview evaluation.
test_alert
Re-evaluate a saved alert against current data and return the result.Agent Config Tools
These tools let you tune how Superlog’s investigation agent works for a project — its issue filter, project context, and durable memories.Agent config tools require a full-access token.
get_issue_filter
Read the project’s issue filter: per-kind include/exclude attribute clauses that decide which ERROR events become issues and incidents. Exclude clauses win. A non-empty include list means an event must match at least one include clause to become an issue.Parameters
Parameters
uuid
Defaults to the session’s active project.
update_issue_filter
Update the project’s issue filter. Each bucket you provide replaces that bucket; omit a bucket to leave it unchanged; pass[] to clear it.
Call get_issue_filter first if you want to add to existing rules rather than overwrite them. Call preview_issue_filter before saving to verify the effect.
Parameters
Parameters
uuid
Defaults to the session’s active project.
array
Log events must match at least one of these clauses (if non-empty) to become an issue. Each clause is
{ key, value }.array
Span events must match at least one of these clauses (if non-empty) to become an issue.
array
Log events matching any of these clauses are dropped and never become issues.
array
Span events matching any of these clauses are dropped and never become issues.
preview_issue_filter
Preview which recent ERROR events (last 24 hours) would still become issues under a candidate filter, without saving. The buckets you pass are merged over the project’s current filter — same semantics asupdate_issue_filter. Omit all buckets to preview the currently saved filter.
get_project_context
Read the project’s freeform context — the human-written description of the system (architecture, conventions, key services) that the investigation agent reads on every run.Parameters
Parameters
uuid
Defaults to the session’s active project.
set_project_context
Overwrite the project’s freeform context (max 8000 characters; longer input is truncated). This replaces the whole field. Callget_project_context first and edit the returned text if you want to preserve existing content. Use this for durable, system-level facts that apply to every investigation; for narrower learnings, prefer create_agent_memory.
create_agent_memory
Store a durable, reusable learning so future investigations inherit it. Record a memory whenever you uncover something worth remembering across investigations — a root-cause pattern, an infra or architecture fact, a domain term, or a correction about how to investigate. Keep the title a short handle and the body the specific, reusable fact — not a one-off incident narrative. Checklist_agent_memories first to avoid creating duplicates.
Parameters
Parameters
uuid
Defaults to the session’s active project.
string
required
Memory category:
feedback— a correction or preference for how the agent should behaveterminology— a domain term or acronyminfra— how the system is deployed or operatesproject— general project facts
string
required
Short handle for the memory (max 200 characters).
string
required
The specific, reusable fact or instruction (max 4000 characters).
list_agent_memories
List all active (and archived) memories stored for the project.Parameters
Parameters
uuid
Defaults to the session’s active project.
update_agent_memory
Patch a stored memory. Provide only the fields you want to change. Setstatus: "archived" to retire a memory without deleting it — archived memories stop being injected into investigations but remain visible in list_agent_memories.
delete_agent_memory
Permanently delete a stored memory by ID. To retire a memory reversibly, preferupdate_agent_memory with status: "archived" — archived memories stop being injected into investigations but remain visible in list_agent_memories.
Related
- MCP Overview — authentication setup, client configuration, and token management