Spike.sh MCP server
Spike.sh in any MCP client, through Memtro: Spike.sh does not publish this server. Memtro's Spike.sh connector reads Spike.sh through its API with the credentials you connect, and one endpoint hands those tools, every other system you connect and Memtro's memory tools to Claude Code, Cursor, Claude Desktop or anything else that speaks Streamable HTTP, as you.
What the model can do
Spike.sh incident management and on-call: teams, open (triggered and acknowledged) incidents or every incident in a date range with priority, severity, service and escalation, one incident with its activity log and notes, who is on call now in every schedule, services and integrations, users by name, and status pages with their incidents and components; when you ask, can create an incident (paging the on-call), add or pin a note, acknowledge, unacknowledge, resolve or escalate incidents, set priority or severity, add or remove a responder, add an on-call override, and post or update a public status page incident.
Reads
spikesh_list_teamsTeams in the Spike organisation, with the _id that team-scoped tools take as team_id.spikesh_list_incidentsSpike incidents.spikesh_get_incidentOne Spike incident by counterId (e.g. eng-116): its details, how long it has run, metadata, the activity log…spikesh_on_callWho is on call right now in each Spike on-call schedule (name only), with the shift's start and end…spikesh_list_servicesThe team's services (with which are affected by open incidents) and its integrations (alert sources) with the service and escalation each routes to.spikesh_list_usersPeople in the Spike organisation by name, with the user _id that responder and override actions take, their role and timezone.spikesh_status_pagesSpike status pages; with status_page_id, that page's incidents and its components (id, name, current status), which status page actions need.
Acts, when you ask
These change something in Spike.sh. The model is told to use them only when you ask for exactly that, and each one is granted by name: per team on a shared connection, by the owner on a personal one.
spikesh_create_incidentCreates a Spike incident through one of the team's integrations, which pages that integration's escalation policy straight away (phone, SMS, Slack…spikesh_add_noteWrites a note on a Spike incident, shown to everyone on it as written by the API key ("<key name> (API)")…spikesh_pin_notePins a note so the Spike incident leads with it as its current state, replacing any earlier pin.spikesh_acknowledgeAcknowledges Spike incidents (by counterId), stopping their escalation; an acknowledge timeout on the integration can re-open them.spikesh_unacknowledgePuts acknowledged Spike incidents back to triggered, so escalation resumes and people can be paged again.spikesh_resolveResolves Spike incidents (by counterId), ending their escalation; there is no un-resolve.spikesh_escalateEscalates Spike incidents to the next level of their escalation policy, paging the people there now.spikesh_set_prioritySets the priority (p1 highest to p5) of Spike incidents in a team; alert rules may act on it.spikesh_set_severitySets the severity (sev1 worst to sev3) of Spike incidents in a team; alert rules may act on it.spikesh_add_responderAdds a person as a responder on Spike incidents, which pages them.spikesh_remove_responderRemoves a person from the responders of Spike incidents.spikesh_add_overridePuts a person on call in a Spike schedule for a period (an override), so they are the one paged then instead of the rota…spikesh_create_status_incidentPosts an incident on a Spike status page, publicly visible to anyone who opens the page, and sets the named components' status.spikesh_add_status_updatePosts a public update (investigating, identified, update, resolved or postmortem) on a status page incident and sets the named components' status.
Connect it
First connect Spike.sh on Dashboard → Connections, then add Memtro to your client once. The Spike.sh tools appear alongside the tools of everything else you have connected; nothing is configured per connector.
Claude Code
The Memtro plugin registers the server and a skill for when to use it; the tools are then available in every session.
claude plugin marketplace add memtro-org/claude-memtro
claude plugin install memtro@memtro --config api_key=sk-memtro-...Cursor
Add the server to .cursor/mcp.json in the project, or to the global file under ~/.cursor/.
{
"mcpServers": {
"memtro": {
"url": "https://platform.memtro.com/api/mcp",
"headers": {
"Authorization": "Bearer sk-memtro-..."
}
}
}
}Claude Desktop
Create a personal API key on Dashboard → Profile → API keys. In Claude Desktop add an MCP server of type HTTP with URL https://platform.memtro.com/api/mcp and the header Authorization: Bearer sk-memtro-…
OpenCode
A remote server in opencode.json.
{
"mcp": {
"memtro": {
"type": "remote",
"url": "https://platform.memtro.com/api/mcp",
"headers": {
"Authorization": "Bearer sk-memtro-..."
}
}
}
}Pi
One command: pi mcp add memtro --url https://platform.memtro.com/api/mcp --bearer-token-env-var MEMTRO_API_KEY. Tools arrive as mcp__memtro__*. The pi-memtro extension registers it for you, alongside Memtro as the model.
Any other client
Add an MCP server of type HTTP (Streamable HTTP, stateless) at https://platform.memtro.com/api/mcp with the header Authorization: Bearer sk-memtro-.... Codex, Zed, Windsurf, Cline and the SDKs all take a remote server this way.
Who may use it
The key identifies the person, and the server offers that person the tools they may use everywhere else in Memtro. A shared Spike.sh connection is used by the teams an administrator granted it to, tool by tool, on the Permissions page; a personal connection is used by its owner alone, and its tools that act stay off until the owner allows them. See Teams and permissions and Connectors.
Ask it like this
- › Who is on call for payments right now?
- › Which incidents are open and still unacknowledged?
- › What happened on incident eng-116?
- › Which sev1 incidents did we have last month?
- › Acknowledge incident eng-116.
Questions
- Is this an official Spike.sh MCP server?
- No. It is Memtro's MCP server with Memtro's Spike.sh connector behind it: the connector reads Spike.sh through its API with the credentials you connect on Dashboard → Connections, and Spike.sh publishes nothing here. The same endpoint carries every other system you connect and Memtro's memory tools.
- What does it cost?
- Nothing on top of Memtro. One price per organisation by its number of users, from $50 a month for up to 10 users after a 7-day free trial, with every connector, the MCP server, jobs and memory included. You bring your own model keys.
- Can it change anything in Spike.sh?
- Only when you ask, and only what it has been granted: create an incident, paging the integration's escalation policy; add a note to an incident; pin a note as the incident's current state; acknowledge incidents; unacknowledge incidents; resolve incidents; escalate incidents to the next level, paging it; set the priority of incidents; set the severity of incidents; add a responder to incidents, paging them; remove a responder from incidents; add an on-call override, putting someone on call for a period; post an incident on a public status page; post a status update on a status page incident. Every other tool reads, searches or lists. An administrator grants each acting tool by name per team, and a personal connection acts only after its owner allows it.
- Which clients work?
- Any MCP client that speaks Streamable HTTP: Claude Code, Cursor, Claude Desktop, OpenCode, Codex, Zed, Windsurf, Cline and the Anthropic and OpenAI SDKs. There is no local process to run; the server is remote and authenticated with your key.