# Usefulapi Spikesh MCP server

Source: https://glimind.com/server/mcp-registry%2Fio.usefulapi%2Fspikesh
Registry id: `mcp-registry/io.usefulapi/spikesh`
Status: auth-required (checked 2026-10-27T03:48:26.796Z)

## Verdict

Usefulapi Spikesh MCP server answered 100% of Glimind's liveness checks over 30 days, better than 42% of MCP servers, with 63 ms median handshake and 0 outages in 90 days. Its agent-readiness grade is A (96/100) across 16 tools, costing an agent about 2,677 tokens to load. Checked every few minutes; no tool is ever called.

## Measurements (30 days)

| Metric | Value | Better than |
|---|---|---|
| Uptime, 30 days | 100% | 42% of MCP servers |
| Median handshake latency | 63 ms | 88% of MCP servers |
| p95 handshake latency | 257 ms | — |
| Checks in 30 days | 218 | — |
| Outages, 90 days | 0 | — |
| Median recovery | — | — |
| Agent-readiness score | 96/100 (A) | 82% of MCP servers |
| Tools | 16 | — |
| Tool-list size for an agent | ~2,677 tokens | 48% of MCP servers |
| Days observed | 28 | — |

## Install

```json
{
  "mcpServers": {
    "usefulapi-spikesh-mcp-server": {
      "type": "http",
      "url": "https://spikesh.usefulapi.io/mcp"
    }
  }
}
```

Claude Code:

```sh
claude mcp add --transport http usefulapi-spikesh-mcp-server https://spikesh.usefulapi.io/mcp
```

## Tools (16)

- `spike_acknowledge_incidents`: ACKNOWLEDGES one or more incidents — this CHANGES live incident state (stops escalation and marks them as being worked on). Spike: POST /incidents/acknowledge w
- `spike_get_escalation`: Get one escalation policy by id — {escalation, integrations:[...], isPinned, alertRules}. Spike: GET /escalations/{escalationId} (team-scoped).
- `spike_get_incident`: Get a single incident's full detail by its counterId — {incident, duration, metadata, comments, repeatedIncidents}. Spike: GET /incidents/{counterId} (team-scop
- `spike_get_incident_activity_log`: Get the chronological activity log for an incident — {incident, activities:[...]} (who acknowledged/resolved/commented and when). Spike: GET /incidents/{counter
- `spike_get_on_call`: Get one on-call schedule by id — {oncall:{_id, name, timezone, teams, users, activeShift, renderedShifts}}. `from` optionally sets the window start for rendered
- `spike_get_service`: Get one service by its counterId — {service, org, openIncidentsCountForService, incidents, badgeURL}. Spike: GET /services/{counterId} (team-scoped).
- `spike_list_acknowledged_incidents`: List currently ACKNOWLEDGED (being worked on, not yet resolved) incidents for a team. Spike: GET /incidents/acknowledged (team-scoped).
- `spike_list_escalations`: List a team's escalation policies — {totalEscalations, escalations:[{_id, name, teams, org}], pagination}. Spike: GET /escalations (team-scoped).
- `spike_list_incidents`: List incidents for a team — {incidents:[...], totalIncidents, totalOpenIncidents, pagination}. Each incident carries title, status, priority, severity, and timi
- `spike_list_on_calls`: 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_
- `spike_list_services`: List a team's services — {totalServices, services:[{_id, counterId, name, desc, teams, org}], pagination}. Spike: GET /services (team-scoped).
- `spike_list_teams`: 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 yo
- `spike_list_triggered_incidents`: List currently TRIGGERED (open, unacknowledged) incidents for a team — the active fire-fighting queue. Spike: GET /incidents/triggered (team-scoped).
- `spike_resolve_incidents`: RESOLVES (closes) one or more incidents — this CHANGES live incident state and marks them done. Spike: POST /incidents/resolve with {ids:[...]}.
- `spike_set_incident_priority`: Sets the PRIORITY (p1..p5) on one or more incidents — this CHANGES live incident state. Spike: POST /incidents/priority with {ids:[...], priority}.
- `spike_who_is_on_call_next`: Get the NEXT scheduled shift for an on-call schedule — {nextShift:{userId, startTimeInUTC, endTimeInUTC}} (or {} if none). Spike: GET /on-calls/{oncallId}/who-i

Measured by Glimind (https://glimind.com): MCP handshake + tool list only, no tool is ever called. CC BY 4.0.
