spikesh
Server Details
Read Spike.sh incidents, on-call, escalations and services; acknowledge, resolve, set priority.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- m190/usefulapi-mcp
- GitHub Stars
- 0
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.2/5 across 16 of 16 tools scored.
Each tool targets a distinct resource and action (e.g., incidents, escalations, on-calls, services, teams) with no overlap. Incident tools are further subdivided by status and action, making misselection unlikely.
All tools follow a 'spike_verb_noun' pattern with snake_case. Verbs are consistently action-oriented (list, get, acknowledge, resolve, set), with only one longer name (spike_who_is_on_call_next) that still fits the pattern.
16 tools is well-scoped for an incident management server. It covers listing, fetching, and mutating incidents, plus supporting resources (escalations, on-calls, services, teams) without being overwhelming.
The tool surface covers the core incident lifecycle (trigger, acknowledge, resolve, priority) and provides read access to related resources. Minor gaps exist (no create/update/delete for non-incident resources), but the set is complete for typical incident response workflows.
Available Tools
16 toolsspike_acknowledge_incidentsAcknowledge incidentsADestructiveInspect
ACKNOWLEDGES one or more incidents — this CHANGES live incident state (stops escalation and marks them as being worked on). Spike: POST /incidents/acknowledge with {ids:[...]}.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | Incident ids (the incident `_id` values) to acknowledge. | |
| teamId | No | The 24-char hex team _id to scope this request to (x-team-id). Omit to use the configured default (SPIKE_TEAM_ID). List ids with spike_list_teams. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint: true. The description adds specifics: it changes live incident state, stops escalation, and marks as worked on, plus the HTTP endpoint. No contradictions; the description enriches understanding beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loaded with the core action. The two sentences are efficient, though the capitalized words are somewhat stylized but not detrimental.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description explains the effect (state change, stops escalation) and the HTTP method. It provides enough context for a mutation tool with good annotations and schema coverage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema covers both parameters with descriptions (100% coverage). The description adds the API endpoint format but does not elaborate on parameter details beyond what's in the schema. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'ACKNOWLEDGES' and resource 'incidents', clearly stating it acknowledges one or more incidents and changes live state. This distinguishes it from siblings like spike_resolve_incidents or spike_set_incident_priority.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains that acknowledging stops escalation and marks incidents as being worked on, providing clear context for when to use. It lacks explicit 'when not to use' or alternative tool names, but the purpose is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spike_get_escalationGet escalation policyARead-onlyInspect
Get one escalation policy by id — {escalation, integrations:[...], isPinned, alertRules}. Spike: GET /escalations/{escalationId} (team-scoped).
| Name | Required | Description | Default |
|---|---|---|---|
| teamId | No | The 24-char hex team _id to scope this request to (x-team-id). Omit to use the configured default (SPIKE_TEAM_ID). List ids with spike_list_teams. | |
| escalationId | Yes | The escalation policy's _id (from spike_list_escalations). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate a read-only operation. The description adds value by specifying returned fields and team-scoped behavior, which is beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, informative sentence covering core purpose and endpoint. Could be slightly more structured but is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Sufficient for a simple get tool with no output schema; lists return fields and parameter context is clear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear parameter descriptions. The description adds minimal extra value beyond the schema, justifying a baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get one escalation policy by id' and lists specific fields returned, distinguishing it from list tools like spike_list_escalations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions team-scoped context and the endpoint, implying use for detailed retrieval, but lacks explicit when-to-use versus siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spike_get_incidentGet incidentARead-onlyInspect
Get a single incident's full detail by its counterId — {incident, duration, metadata, comments, repeatedIncidents}. Spike: GET /incidents/{counterId} (team-scoped).
| Name | Required | Description | Default |
|---|---|---|---|
| teamId | No | The 24-char hex team _id to scope this request to (x-team-id). Omit to use the configured default (SPIKE_TEAM_ID). List ids with spike_list_teams. | |
| counterId | Yes | The incident's counterId (its human-facing incident number/id). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, and the description adds the HTTP method/path and team scoping, providing fuller context without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences that are efficient and front-loaded with key action and return fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with no output schema, the description sufficiently explains return fields and scoping, making it self-contained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters with descriptions. The description adds little beyond schema, only restating the counterId as human-facing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states it gets a single incident's full detail by counterId, lists the returned fields, and distinguishes from list tools that provide summaries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by specifying 'by its counterId' and 'team-scoped', and mentions the optional teamId parameter. It contrasts with sibling list tools through 'full detail', but lacks explicit alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spike_get_incident_activity_logGet incident activity logARead-onlyInspect
Get the chronological activity log for an incident — {incident, activities:[...]} (who acknowledged/resolved/commented and when). Spike: GET /incidents/{counterId}/activity-log (team-scoped).
| Name | Required | Description | Default |
|---|---|---|---|
| teamId | No | The 24-char hex team _id to scope this request to (x-team-id). Omit to use the configured default (SPIKE_TEAM_ID). List ids with spike_list_teams. | |
| counterId | Yes | The incident's counterId. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true. The description adds that the log is chronological and shows actions and timestamps, but does not disclose any additional behavioral traits (e.g., rate limits, pagination). It is consistent with annotations, not contradictory.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two focused sentences: one explaining purpose and output structure, the other providing the API path and team scope. No redundant information, every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has two parameters (one required) and no output schema, the description adequately compensates by outlining the return object shape and what activities contain. It covers the essential information for an agent to understand the tool's inputs and output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters well-described. The description adds marginal value by mentioning the API path includes counterId, but does not enhance understanding beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves a chronological activity log for an incident, specifying the content (who acknowledged/resolved/commented and when) and the return structure. It is distinct from sibling tools like spike_get_incident which retrieves incident details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for getting an incident's activity log but does not explicitly state when to use this tool over alternatives. It does not provide exclusions or prerequisites, leaving the agent to infer from context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spike_get_on_callGet on-call scheduleARead-onlyInspect
Get one on-call schedule by id — {oncall:{_id, name, timezone, teams, users, activeShift, renderedShifts}}. from optionally sets the window start for rendered shifts. Spike: GET /on-calls/{oncallId} (team-scoped).
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | ISO timestamp to render upcoming shifts from (e.g. "2026-07-19T00:00:00Z"). | |
| teamId | No | The 24-char hex team _id to scope this request to (x-team-id). Omit to use the configured default (SPIKE_TEAM_ID). List ids with spike_list_teams. | |
| oncallId | Yes | The on-call schedule's id (from spike_list_on_calls). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true. Description adds useful behavioral context: response shape, optional `from` effect, team-scoping, and API endpoint. No contradictions. Could mention idempotency but not necessary.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two focused sentences plus a code snippet. Front-loaded with purpose and primary output. Every element earns its place; no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, but description lists response fields. All 3 parameters are documented in schema and description covers key behaviors. Complete for a simple read tool with full schema coverage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage with descriptions. Description adds meaning by explaining response fields and how `from` influences rendered shifts, exceeding baseline schema info.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Get one on-call schedule by id' with specific verb and resource, and lists the response fields. Distinguishes from siblings like spike_list_on_calls and spike_who_is_on_call_next by focusing on a single schedule retrieval by id.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage context (retrieving a specific schedule by id) and hints at optional parameter behavior (`from` for window start). Does not explicitly say when to use this tool versus alternatives, but the purpose is clear enough for an agent to differentiate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spike_get_serviceGet serviceARead-onlyInspect
Get one service by its counterId — {service, org, openIncidentsCountForService, incidents, badgeURL}. Spike: GET /services/{counterId} (team-scoped).
| Name | Required | Description | Default |
|---|---|---|---|
| teamId | No | The 24-char hex team _id to scope this request to (x-team-id). Omit to use the configured default (SPIKE_TEAM_ID). List ids with spike_list_teams. | |
| counterId | Yes | The service's counterId (from spike_list_services). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true. Description adds that it is a GET request and team-scoped, and specifies the return shape, providing useful context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence plus API endpoint note. Extremely concise and well-structured, no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool, the description is complete enough. It explains the return fields and scoping. Lacks explicit usage alternatives but overall adequate for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. Description adds no extra information about parameters beyond what the schema already provides; it mentions counterId and team-scoped but the schema already documents both.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it retrieves a single service by counterId, lists returned fields, and specifies the HTTP method and scope. Distinguishes from sibling tools like spike_list_services.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Mentions team-scoped, but does not explicitly state when to use this versus other tools like spike_list_services or alternatives. Usage guidance is implied but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spike_list_acknowledged_incidentsList acknowledged incidentsARead-onlyInspect
List currently ACKNOWLEDGED (being worked on, not yet resolved) incidents for a team. Spike: GET /incidents/acknowledged (team-scoped).
| Name | Required | Description | Default |
|---|---|---|---|
| teamId | No | The 24-char hex team _id to scope this request to (x-team-id). Omit to use the configured default (SPIKE_TEAM_ID). List ids with spike_list_teams. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, and the description aligns by describing a read operation (list). Adds HTTP endpoint and default team behavior—no contradictions, and sufficient transparency for a simple list tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: first states purpose, second adds endpoint detail. No filler, front-loaded with essential info.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool is simple (one optional parameter, no output schema). Description covers purpose, endpoint, and parameter. Lacks details on response format, but acceptable given low complexity and sibling tool descriptions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and description adds extra meaning: explains teamId format, default behavior, and references spike_list_teams for ID lookup, going beyond the schema's description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'List currently ACKNOWLEDGED incidents' with verb, resource, and scope (team). Distinguishes from siblings like spike_list_triggered_incidents and spike_list_incidents by specifying the 'acknowledged' status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides when to use (list acknowledged incidents) and how to pass teamId or use default. Does not explicitly state when not to use or compare with alternatives, but the sibling context makes it clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spike_list_escalationsList escalation policiesARead-onlyInspect
List a team's escalation policies — {totalEscalations, escalations:[{_id, name, teams, org}], pagination}. Spike: GET /escalations (team-scoped).
| Name | Required | Description | Default |
|---|---|---|---|
| teamId | No | The 24-char hex team _id to scope this request to (x-team-id). Omit to use the configured default (SPIKE_TEAM_ID). List ids with spike_list_teams. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, so safety is covered. Description adds team-scoping and response structure context. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose and response shape. No unnecessary words; each sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite missing output schema, description includes the response shape inline. Team scoping and default behavior are covered. No gaps for this simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with description for teamId. The description adds context about team scoping and default usage, enhancing understanding beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'List a team's escalation policies' with specific verb and resource. The response shape is mentioned, and the tool is distinct from sibling spike_get_escalation (singular).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parameter description explains how to use teamId, including default behavior and alternative tool for listing teams. However, no explicit when-to-use vs alternatives like spike_get_escalation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spike_list_incidentsList incidentsARead-onlyInspect
List incidents for a team — {incidents:[...], totalIncidents, totalOpenIncidents, pagination}. Each incident carries title, status, priority, severity, and timing. Spike: GET /incidents (team-scoped).
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | 1-based page number for pagination. | |
| teamId | No | The 24-char hex team _id to scope this request to (x-team-id). Omit to use the configured default (SPIKE_TEAM_ID). List ids with spike_list_teams. | |
| perPage | No | Results per page. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true. The description adds that it's a GET request and team-scoped, but does not significantly expand beyond annotations. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: one for output structure, one for HTTP endpoint and scope. No waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, description covers key output fields and per-incident attributes. It could mention pagination behavior explicitly, but schema covers that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline applies. Description does not add extra meaning beyond the schema's parameter descriptions, though it reinforces team scope.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists incidents for a team, specifies the output fields (incidents array, totalIncidents, etc.), and distinguishes from sibling tools like spike_get_incident. It uses specific verb and resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for team-scoped incident listing but does not explicitly state when to use this vs. alternatives like spike_list_triggered_incidents. No exclusions or when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spike_list_on_callsList on-call schedulesARead-onlyInspect
List a team's on-call schedules — {oncalls:[...]}. Each on-call has an id, name, timezone, and layers. Use the id with spike_get_on_call / spike_who_is_on_call_next. Spike: GET /on-calls (team-scoped).
| Name | Required | Description | Default |
|---|---|---|---|
| teamId | No | The 24-char hex team _id to scope this request to (x-team-id). Omit to use the configured default (SPIKE_TEAM_ID). List ids with spike_list_teams. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description reinforces that by describing a list operation. It adds value beyond annotations by detailing the return structure (id, name, timezone, layers) and the endpoint, providing useful behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose, and contains no superfluous information. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with no output schema, the description adequately covers the return structure (id, name, timezone, layers) and mentions the endpoint. It is complete given the tool's simplicity and the presence of annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage for the single parameter 'teamId' is 100% with a thorough description. The description mentions 'team-scoped' but does not add new information beyond what the schema already provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists a team's on-call schedules, using the verb 'list' and specifying the resource. It distinguishes itself from siblings like spike_get_on_call by mentioning using the returned id with those tools, providing clear differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly tells when to use this tool (to list on-call schedules) and provides alternatives for further actions (spike_get_on_call, spike_who_is_on_call_next). This gives clear context and guidance on tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spike_list_servicesList servicesARead-onlyInspect
List a team's services — {totalServices, services:[{_id, counterId, name, desc, teams, org}], pagination}. Spike: GET /services (team-scoped).
| Name | Required | Description | Default |
|---|---|---|---|
| teamId | No | The 24-char hex team _id to scope this request to (x-team-id). Omit to use the configured default (SPIKE_TEAM_ID). List ids with spike_list_teams. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true; description adds GET method, team-scoping, and response structure. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence containing response shape, endpoint, and scoping info. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Provides response structure and pagination in lieu of output schema. Complete for a list tool with given annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Description explains parameter semantics (header equivalent, default behavior, how to get values), adding value beyond 100% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it lists a team's services with response shape and API endpoint. Distinguishes from sibling incident-related tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States team-scoping and default team behavior, references spike_list_teams for IDs. Lacks explicit when-not-to-use but context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spike_list_teamsList teamsARead-onlyInspect
List all teams in the Spike.sh organization — {teams:[{_id, name, uid, private, org}]}. NOT team-scoped (no x-team-id needed). The _id values here are what you pass as teamId (x-team-id) to every other tool. Spike: GET /teams/get-all-teams.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, and the description adds non-obvious behavior: the tool does not require a team-scoped header (x-team-id). This provides extra transparency beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise (three short sentences) with key information front-loaded. Every sentence adds value: purpose, response format, scoping, and usage guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only list tool with no output schema, the description provides the response shape and important context (no team-scoping, relation to other tools), making it sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters are defined, so the baseline is 4. The description adds meaning about the output structure, but no parameter-specific details are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists all teams in the organization and specifies the response structure with array of objects including _id, name, etc. It distinguishes from other tools by noting it is not team-scoped.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says when to use this tool (list all teams) and mentions that the _id values are used as teamId for other tools, providing clear usage context and relationship to siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spike_list_triggered_incidentsList triggered incidentsARead-onlyInspect
List currently TRIGGERED (open, unacknowledged) incidents for a team — the active fire-fighting queue. Spike: GET /incidents/triggered (team-scoped).
| Name | Required | Description | Default |
|---|---|---|---|
| teamId | No | The 24-char hex team _id to scope this request to (x-team-id). Omit to use the configured default (SPIKE_TEAM_ID). List ids with spike_list_teams. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already include readOnlyHint=true, so the description adds value by stating the endpoint and clarifying that it returns currently triggered incidents. It does not contradict annotations and provides additional context beyond the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no fluff. The purpose is front-loaded, the endpoint hint is brief, and every word adds value. No wasted characters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description should ideally mention what fields or structure the returned incidents have. It only says 'list' without specifying return format or pagination. For a simple tool with one optional parameter, this is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear description for teamId. The description adds nuance by noting the optionality and the default behavior, as well as referencing spike_list_teams for listing team IDs. This goes beyond the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists 'TRIGGERED (open, unacknowledged) incidents' for a team, specifying the exact resource and verb. It distinguishes from siblings like spike_list_acknowledged_incidents and spike_list_incidents by emphasizing the 'active fire-fighting queue'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context (the active fire-fighting queue) and the parameter hint for teamId helps scope. However, it does not explicitly state when not to use it or name alternatives, though sibling tool names provide implicit differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spike_resolve_incidentsResolve incidentsADestructiveInspect
RESOLVES (closes) one or more incidents — this CHANGES live incident state and marks them done. Spike: POST /incidents/resolve with {ids:[...]}.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | Incident ids (the incident `_id` values) to resolve. | |
| teamId | No | The 24-char hex team _id to scope this request to (x-team-id). Omit to use the configured default (SPIKE_TEAM_ID). List ids with spike_list_teams. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explicitly states that it CHANGES live incident state and marks them done, adding behavioral context beyond the destructiveHint annotation. It also provides the HTTP method and endpoint, enhancing transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences. The first sentence states the action clearly, and the second adds the API call detail. No redundant or unnecessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 params, no output schema), the description covers the essential purpose and behavior. However, it does not specify return values or error handling, which would be beneficial but not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add significant parameter-level detail beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses strong verbs 'RESOLVES (closes)' and clearly specifies the resource 'one or more incidents'. It distinguishes from siblings by noting it marks incidents done, which contrasts with spike_acknowledge_incidents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lacks guidance on when to use this tool versus alternatives like spike_acknowledge_incidents. No when-to-use or when-not-to-use context is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spike_set_incident_prioritySet incident priorityADestructiveInspect
Sets the PRIORITY (p1..p5) on one or more incidents — this CHANGES live incident state. Spike: POST /incidents/priority with {ids:[...], priority}.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | Incident ids (the incident `_id` values) to update. | |
| teamId | No | The 24-char hex team _id to scope this request to (x-team-id). Omit to use the configured default (SPIKE_TEAM_ID). List ids with spike_list_teams. | |
| priority | Yes | Priority level: p1 (highest) .. p5 (lowest). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true. The description adds that it changes live incident state and shows the API endpoint, which is useful but does not detail side effects, idempotency, or required permissions beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences with no fluff, front-loading the key action and priority range, then providing the API detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with destructiveHint and full schema coverage, the description covers the core purpose and endpoint. Missing output details are acceptable as no output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are fully described in the schema. The description does not add substantial meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool sets priority on incidents with specific levels (p1..p5) and highlights it changes live state, differentiating it from read-only sibling tools like spike_get_incident.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies mutation but does not explicitly contrast with sibling mutation tools (e.g., spike_resolve_incidents, spike_acknowledge_incidents) or provide when to use priority setting over other actions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spike_who_is_on_call_nextWho is on call nextARead-onlyInspect
Get the NEXT scheduled shift for an on-call schedule — {nextShift:{userId, startTimeInUTC, endTimeInUTC}} (or {} if none). Spike: GET /on-calls/{oncallId}/who-is-on-call-next (team-scoped).
| Name | Required | Description | Default |
|---|---|---|---|
| teamId | No | The 24-char hex team _id to scope this request to (x-team-id). Omit to use the configured default (SPIKE_TEAM_ID). List ids with spike_list_teams. | |
| oncallId | Yes | The on-call schedule's id. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only. The description adds behavioral context by detailing the return object shape and the team-scoped nature, and specifies the endpoint, without contradicting annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that efficiently conveys purpose, return format, and endpoint with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with full schema and annotations, the description is complete: it explains what it returns and that it is team-scoped. No output schema is needed as the return is described inline.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% so the schema fully documents parameters. The description adds minimal extra value by noting the payload is team-scoped and displaying the return format, but does not explain parameter values beyond what's in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the verb 'Get' with the specific resource 'NEXT scheduled shift' and includes the return format, distinguishing it from sibling tools like spike_list_on_calls that list all shifts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when needing the next shift but does not explicitly state when not to use or mention alternatives like spike_get_on_call for current shift.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Alicense-qualityCmaintenanceEnables PagerDuty incident response operations including listing incidents, acknowledging and resolving incidents, looking up on-call schedules, and listing services.MIT

StackWitnessofficial
Flicense-qualityCmaintenanceLet agents read and manage your org’s independent monitors, incidents, status pages, and alerts (honest measured state, no false greens).- Flicense-qualityDmaintenanceEnables AI agents to interact with PagerDuty services, incidents, schedules, and on-call management through natural language.
- Flicense-qualityAmaintenanceMCP server for the Rootly incident management platform — alerts, incidents, on-call schedules