Developers

MCP server

Spectate has a hosted Model Context Protocol (MCP) server. Connect an AI assistant to it. The assistant can then answer questions about your incidents, alerts, monitors and status pages, and work in Spectate for you. The assistant always has the same access as you: your role in each team, nothing more.

Code
https://api.spectate.net/mcp

There is nothing to install and no API key to copy. The assistant registers itself, and you sign in to Spectate in your browser.

Before you connect

  • You need a Spectate account with a verified email address.
  • At least one of your teams must allow AI assistants. This is on by default. See Team setting.
  • Your AI client must support remote MCP servers over Streamable HTTP with OAuth.

Team API tokens (spct_...) do not work with the MCP server. The MCP connection does not work with the public API.

Connect your client

ClientHow to connect
Claude (web and desktop)Open Settings → Connectors → Add custom connector. Type the name Spectate and the URL https://api.spectate.net/mcp. Select Connect and sign in.
Claude CodeRun claude mcp add --scope user --transport http spectate https://api.spectate.net/mcp. Then run /mcp, select Spectate and sign in.
CursorAdd {"mcpServers": {"spectate": {"url": "https://api.spectate.net/mcp"}}} to ~/.cursor/mcp.json. Restart Cursor and sign in when Cursor asks.
VS CodeRun code --add-mcp '{"name":"spectate","type":"http","url":"https://api.spectate.net/mcp"}'. Start the server from the MCP list and sign in.
CodexRun codex mcp add spectate --url https://api.spectate.net/mcp. Then run codex mcp login spectate.
Other clientsUse the transport Streamable HTTP, the URL https://api.spectate.net/mcp and OAuth with automatic client registration.

Your client opens Spectate in your browser:

  1. Sign in, if you are not signed in.
  2. Read the consent screen.
  3. Select Allow access.

The consent screen shows two things:

  • The application. Claude, ChatGPT, Cursor and VS Code have a Verified mark. Other clients show the name that they registered, a warning, and the address that receives the authorization. Allow access only for an assistant that you connected yourself.
  • The teams. The teams that the assistant can use, with your role in each team. Teams that do not allow AI assistants are not on the list.

Check the connection

Start with a request that changes nothing:

Use Spectate to list my teams and tell me what is going on in each team. Do not change anything.

The assistant first calls list_teams. This tool returns your teams and your role in each team. It also returns the AI assistant access of each team (full or read_only) and the tools that you can use there.

What the assistant can do

AreaTools
Overviewget_overview: open incidents, firing alerts, monitors that are down, certificates, hosts that need attention, domains that expire soon, and who is on call. It leaves out sections that your role cannot read.
Incidentslist_incidents, get_incident, get_incident_timeline, declare_incident, update_incident, post_incident_update, acknowledge_incident, resolve_incident, assign_incident_role, get_incident_postmortem, save_incident_postmortem, publish_incident_to_status_page, delete_incident
Alertslist_alerts, get_alert, acknowledge_alert, resolve_alert. Read only: list_escalation_paths, get_escalation_path, list_channels, list_alert_sources
On-calllist_on_call_schedules, get_on_call_now, get_on_call_timeline, create_on_call_override, delete_on_call_override
Monitorslist_monitors, get_monitor (with recent failed checks and the checks of the last 24 hours), create_monitor, update_monitor, pause_monitor, resume_monitor, delete_monitor
Hosts, domains and projectslist_hosts, get_host, list_domains, get_domain, create_domain, delete_domain, list_projects
Status pageslist_status_pages, get_status_page, list_status_page_incidents, get_status_page_incident, create_status_page_incident, post_status_page_incident_update, update_status_page_incident, delete_status_page_incident, list_scheduled_maintenances, schedule_maintenance, update_scheduled_maintenance, delete_scheduled_maintenance, list_status_page_issue_reports
Teamlist_teams, list_team_members (names and roles, no email addresses)

Example requests:

  • "What is going on in production now?"
  • "Summarize INC-42 for the weekly report: what happened, when, and who did what."
  • "The checkout monitor is down. Look at its recent checks and tell me why."
  • "Declare a high-severity incident for slow API responses and make me the commander."
  • "Write a postmortem for yesterday's incident from its timeline and save it."
  • "Post on our status page that we are investigating slow API responses. Show me the text first."
  • "Who is on call this weekend? Put Sam on call for me on Saturday from 09:00 to 17:00."

How access works

  • The connection belongs to you, not to a team. Each tool call names one team.
  • On every call, Spectate checks that you are still a member of the team, the permissions of your current role, that the team is not being deleted or suspended, and the team's AI assistant setting. A change to any of these applies to the next call.
  • The assistant acts as you. Changes show under your name in timelines, Slack and notifications. The activity log marks them as made through an AI assistant, with the assistant's name.
  • The roles work as in the dashboard. Owners, managers and admins can use all tools. Members can read everything, work on incidents, change monitors, and acknowledge and resolve alerts. Members cannot delete things, add domains, or change on-call schedules or status pages. The billing role cannot read monitoring data, so it has no tools.

Some things are never available through the MCP server:

  • API tokens, secrets of alert sources and channels, and status page access keys.
  • Billing, members and invites, and team settings.
  • Team deletion and status page subscribers.

Confirmations

Some actions run only after you approve them in the chat:

  • Deleting: an incident, a monitor, a domain, an on-call override, a public incident or a maintenance window.
  • Public actions and emails to people outside your team: all changes to a status page and to its incidents and maintenance, and emails to subscribers.

The assistant first shows you what it will do. For a status page, it shows the exact public text and if subscribers get an email. Spectate refuses the action if the assistant does not send your approval with it. Your client can also ask you before each change. That is a setting of the client.

Team setting

Owners and managers set the AI assistant access of each team in Team → Settings → AI assistants:

SettingEffect
Full (default)Assistants can read and change what each member's role allows.
Read onlyAssistants can read. Spectate refuses all tools that change something.
OffAssistants cannot use the team. The team is not on the consent screen and not in list_teams.

A change applies to existing connections immediately. You can change this setting only in the dashboard, not through MCP or the API.

Manage your connections

Account → AI assistants shows the assistants that you connected. For each assistant, it shows when you connected it and when it was last used. Disconnect removes the access of an assistant immediately. To use it again, connect it again. A password reset disconnects all your assistants.

Limits

  • 120 requests a minute for each connection. Of these, 30 can change something.
  • A connection stays signed in while you use it. After 30 days without use, you must approve it again. Access tokens are valid for one hour, and the client renews them.

Safety

  • Incident titles, alert data from other tools, monitor responses and status page issue reports can contain text from other people. Issue reports can come from anyone on the internet. Spectate tells assistants never to follow instructions in this text. Read what an assistant proposes before you approve it.
  • For teams where assistants only answer questions, use Read only.

Troubleshooting

ProblemWhat to do
The consent screen says that no team allows AI assistantsAn owner or manager turns them on in Team → Settings → AI assistants.
A team is not in the listCheck that you are a member and that the team allows AI assistants.
"Your role in this team does not allow this"Your role does not have the permission that the message names.
"This team allows AI assistants to read only"The team setting is Read only.
"Not done yet. Show the member exactly what this will do..."The action needs your approval in the chat. Approve it, and the assistant tries again.
The client asks you to sign in again and againRemove the Spectate server from the client. Then add it again with the URL above.