Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SP_DB_DIRNoDirectory where the SQLite database file lives; set it to a volume./data (docker image) or . (bare binary)
SP_DB_URLNoPostgreSQL connection string (required when SP_DB_TYPE=postgres).
SP_DB_TYPENoDatabase type: 'sqlite' or 'postgres'.sqlite
SP_BASE_URLNoPublic URL used in links and notifications.http://localhost:4000
SP_LOG_LEVELNoLog level: debug, info, warn, error.info
SP_NODE_NAMENoWorker name, must match ^[a-z][a-z0-9-]{2,20}$; defaults to the hostname. Alternatively, pass --hostname to the server command.
SP_SERVER_LISTENNoListen address for the server.:4000

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{}
prompts
{}
resources
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_checksA

List monitoring checks for the organization, optionally filtered by name/slug substring, labels, or check group. Use this for browsing or filtering a fleet of checks. To investigate a single check's current health, use diagnose_check instead.

get_checkA

Get a single check's metadata by UID or slug. For a full triage briefing (current status + recent results + active incidents), prefer diagnose_check instead.

create_checkA

Create a new monitoring check. If you don't know what config shape a given type expects, call get_check_type_samples first to fetch a working starting config, then use validate_check to dry-run before creating.

update_checkA

Update an existing check by UID or slug. PATCH semantics — only the fields you pass are modified, others stay as-is.

delete_checkA

Soft-delete a monitoring check by UID or slug. The check stops running immediately; historical results are kept.

list_resultsA

Query monitoring results (raw or aggregated) with filtering by check, type, status, region, period type, and time range. Use this for trend analysis or to inspect a specific window. For investigating a single check's current state, use diagnose_check instead. Defaults: if periodType is omitted it falls back to "hour". If periodStartAfter is omitted it falls back to a window matched to the finest periodType requested (raw=1h, hour=24h, day=30d, month=365d). The response includes effectiveFilter so you can see exactly what filter actually ran.

list_incidentsA

List incidents (past or active) for the org, optionally filtered by check, state, or time range. For triaging a specific check's incidents in one call, prefer diagnose_check.

get_incidentA

Get a single incident by UID. Pass with="events" to also include the timeline of state transitions and notifications.

incident_notifications_listA

List who was notified for a given incident, with delivery status.

list_integrationsA

List integrations (Slack, webhook, email, …) configured for the organization. Use this to discover what notification channels are available before attaching them to a check.

create_integrationA

Create a new integration (webhook, email, msteams, …) that can be attached to checks for incident notifications. Slack cannot be created here — install it via the dashboard OAuth flow instead.

list_check_groupsA

List all check groups for the organization. Check groups bundle related checks together for shared incident handling and dashboard organization.

list_regionsA

List monitoring regions available to the organization (e.g. eu-west-1, us-east-1). Returns the slug, label, and any per-region metadata. Use these slugs in the regions array of create_check or update_check.

diagnose_checkA

Return everything an operator would want to look at to diagnose a single check's current state in one call: current status, recent raw results across regions, any active incident, and the most recent resolved incident. Use this instead of chaining list_results + list_incidents when a human asks "what's wrong with check X?".

list_status_pagesA

List all status pages for the organization.

get_status_pageA

Get a single status page by UID or slug.

create_status_pageC

Create a new status page for the organization. A status page is the public-facing dashboard that displays the current health of selected checks.

update_status_pageA

Update an existing status page (PATCH semantics — only provided fields change).

delete_status_pageA

Soft-delete a status page by UID or slug.

list_status_page_sectionsA

List sections within a status page. Sections group resources (pinned checks) on the public-facing page.

create_status_page_sectionC

Create a new section within a status page.

update_status_page_sectionC

Update a section within a status page (PATCH semantics — only provided fields change).

delete_status_page_sectionA

Delete a section from a status page. Resources in the section are removed too.

list_status_page_resourcesA

List resources (checks pinned to a section) within a status page section.

create_status_page_resourceA

Pin a check — or a whole check group, rendered as one aggregated component that never lists its members — to a status-page section as a publicly-displayed resource.

update_status_page_resourceC

Update a status page resource (display name, explanation, position).

delete_status_page_resourceA

Remove a resource (pinned check) from a status-page section.

list_status_page_incidentsA

List the incident publications on a status page — the customer-facing incidents, distinct from the internal incidents the monitoring system opens.

create_status_page_incidentA

Publish a hand-written incident on a status page. The title and body are shown to CUSTOMERS: never paste probe output, error strings, internal hostnames or IPs into them.

update_status_page_incidentA

Update a published incident's title, severity or state (PATCH semantics). Any edit marks the publication as human-authored, which stops the auto-resolve pipeline from closing it.

create_status_page_incident_updateA

Append a narrative update to a published incident. Updates are APPEND-ONLY — there is no edit or delete. The body is shown to customers: never include probe output or internal names.

create_incident_publicationB

Publish an EXISTING internal incident onto a status page. The public title is templated from the page's own public resource name — the incident's internal title, which is built from the check slug, is never exposed.

delete_incident_publicationA

Unpublish an incident from a status page. The publication row is kept for audit but disappears from the public page, and the same incident can be published again later.

list_maintenance_windowsA

List maintenance windows for the organization, optionally filtered by status. Each window includes a server-computed status (active/upcoming/past) and nextOccurrences (the next concrete activations).

get_maintenance_windowA

Get a single maintenance window by UID, including title, schedule, recurrence rule, server-computed status (active/upcoming/past), and nextOccurrences (the next concrete activations).

create_maintenance_windowA

Schedule a new maintenance window. Optionally attach checks in the same call by passing checkUids — the underlying service does this in two steps but the tool handles it for you.

update_maintenance_windowB

Update a maintenance window (PATCH semantics — only provided fields change).

delete_maintenance_windowA

Delete a maintenance window by UID (soft delete).

set_maintenance_window_checksA

Replace the set of checks (and/or check groups) attached to a maintenance window. Pass empty arrays to clear. To leave one of the two collections untouched, pass it with its current contents — partial updates are not supported by this endpoint.

list_check_typesA

List all monitoring check types supported by this server (e.g. http, tcp, dns, icmp, ssl). Use this first when you don't know what type to use. Then call get_check_type_samples for the chosen type to get a starting config.

get_check_type_samplesA

Return ready-made sample configs for the given check type. Each sample is a complete, valid config you can clone and modify. Use this to learn the config shape for a type — much more reliable than guessing field names.

validate_checkA

Dry-run validate a check config without creating the check. Returns {valid: true} on success or {valid: false, fields: [...]} listing the specific fields with errors. Use this before create_check when you've assembled a config from scratch or modified a sample, to catch problems early.

Prompts

Interactive templates invoked by user choice

NameDescription
triage_incidentReview an incident and produce a triage summary. The model fetches the incident, its event timeline, the affected check's recent results, and returns a paragraph summarizing what's happening, the likely cause, and what to check next.
summarize_org_healthProduce a one-paragraph status summary of the organization's monitoring posture: which checks are failing, which incidents are active, overall posture.
draft_status_updateDraft a customer-facing status page update for an incident. The output is a draft for human review, not auto-published.

Resources

Contextual data attached and managed by the client

NameDescription
OrganizationCurrent organization metadata (slug, name).
RegionsAvailable monitoring regions.

TDQS

A3.5/5.0

Scored across 42 tools

Disambiguation4/5

Most tools follow clear resource+action CRUD patterns and are easy to tell apart. The incident family (list_incidents, list_status_page_incidents, create_incident_publication, incident_notifications_list) is the only real source of confusion, but the descriptions explicitly separate internal incidents from customer-facing status-page publications. With careful attention to resource names, an agent can select the right tool.

Naming Consistency4/5

The dominant verb_noun snake_case pattern is consistent across checks, status pages, sections, resources, and maintenance windows. Minor deviations like incident_notifications_list instead of list_incident_notifications and imperative verbs such as diagnose, validate, and set are predictable and do not undermine the overall pattern.

Tool Count2/5

With 42 tools, this is a large surface that exceeds the 25-tool threshold where agent selection becomes difficult. The broad scope means each tool has a purpose, but the count is still heavy for a single MCP server and would benefit from consolidation or tighter scoping.

Completeness4/5

The server provides thorough lifecycle coverage for checks, status pages, sections, resources, maintenance windows, and status-page incidents. Minor gaps exist—integrations lack update/delete, and check groups are read-only—but core monitoring and status-page workflows can be completed without dead ends.