Connect
Add Stackpulse to your assistant once. It answers about any service right away, and asks you to sign in the first time a question needs your dashboards. The address is https://stackpulse.app/mcp, over Streamable HTTP.
A client that can’t sign in sends an API key instead, as Authorization: Bearer sp_live_…: Settings → API & MCP has the setup for Claude Code, Cursor and VS Code under “Show the key setup”. Keys come with Pro.
What to ask
- “Is anything on my stack down right now?”
- “Our API got slow around 3 pm. Is it us or one of our vendors?”
- “Which of our vendors was least reliable this month?”
More on the MCP page. When a URL monitor is down, the answers list what else on the dashboard started having problems around then: a clue, never a cause.
Tools
16 tools. Three answer anyone; the rest need you to sign in, and the eight that change things need Pro and your second yes. Dashboards and URL monitors can be named by name or id.
search_services Anyone Reads onlyFinds services in the catalog of 8,900+ status pages by name, with their status now. Use it to find a service’s slug.
query · A name, e.g. "github" or "aws"
get_service Anyone Reads onlyOne service’s status from its official status page: what’s wrong, its components, 90 days of history and recent incidents.
slug · The service’s slug, e.g. "github"; search_services finds it
list_outages Anyone Reads onlyServices reporting a problem right now, the newest first: the 25 best-known, unless all is true or a limit is given.
all · optional · Every service in the catalog with a problem (often around 300), not only the best-known
limit · optional · How many to list, the newest first; 25 by default
list_dashboards Signed in Reads onlyThe account’s dashboards (the ones this connection can see), with how many services and URL monitors each has and its worst status now.
get_stack_status Signed in Reads onlyWhat’s going on now on a dashboard: a summary, then every service and URL monitor with a problem, with when the problem began and when its current status did. A URL monitor that’s down lists what started around then. Without a dashboard, every dashboard.
dashboard · optional · A dashboard’s name or id; every dashboard when left out
include · optional · "all" for every item, not only the ones with problems
get_incident_history Signed in Reads onlyIncidents on a dashboard in a window: the ones that started in it (with what else started at the same time) and the ones already going on. As far back as the plan’s history goes.
dashboard · A dashboard’s name or id
from · optional · The window’s start, ISO 8601
to · optional · The window’s end, ISO 8601; now when left out
days · optional · Without from: how many days back from to, 7 by default
get_monitor Signed in Reads onlyOne of the account’s URL monitors: its status, its uptime over the last 30 days (or since it started) with the failed checks apart, response times, its certificate and its latest checks.
monitor · The monitor’s name, address or id
get_reliability Signed in Reads onlyHow reliable a dashboard’s services and URL monitors were over 7, 30 or 90 days: the least reliable first, with uptime, incidents and recovery, and what tends to break together.
dashboard · A dashboard’s name or id
days · optional · 7, 30 (the default) or 90
create_dashboard Pro Changes thingsMakes a dashboard with a name and, optionally, services by slug (search_services finds them), within the plan’s dashboards and services. Answers with its address.
name · The dashboard’s name, e.g. "Checkout"
services · optional · Slugs to start with, e.g. ["stripe", "shopify"]
rename_dashboard Pro Changes thingsRenames a dashboard. Its status page shares the name.
dashboard · A dashboard’s name or id
name · Its new name
add_services Pro Changes thingsAdds services to a dashboard by slug (search_services finds them), within the plan’s limit.
dashboard · A dashboard’s name or id
services · Slugs, e.g. ["github", "vercel"]
remove_services Pro Changes thingsTakes services off a dashboard. Their history stays; adding one back shows it again.
dashboard · A dashboard’s name or id
services · Slugs, e.g. ["heroku"]
add_monitor Pro Changes thingsWatches a website or API endpoint on a dashboard: checks the address once first, and refuses what the app refuses (private addresses, other ports, past the plan). Without a name, the page’s title names it. Headers and request bodies stay in the app.
dashboard · A dashboard’s name or id
url · The address to watch, e.g. "https://shop.example.com"
name · optional · What to call it; the page’s title when left out
check_monitor Pro Changes thingsChecks one of the account’s URL monitors now, as Check now does in the app, and says what it got.
monitor · The monitor’s name, address or id
pause_monitor Pro Changes thingsPauses a URL monitor, e.g. during a deploy: an open incident ends, and no alerts go out until it’s resumed.
monitor · The monitor’s name, address or id
resume_monitor Pro Changes thingsResumes a paused URL monitor: it’s checked at once and starts fresh.
monitor · The monitor’s name, address or id
Free and Pro
- Anyone can search the catalog, read a service’s status and list what’s down, without an account.
- Every account, Free included, can connect an assistant that reads its dashboards: 7 days of history on Free, 90 on Pro.
- Changes (making a dashboard, adding services, adding, checking or pausing a URL monitor) come with Pro, and only after you allow them: the first change asks you to sign in again. When Pro ends, a connected assistant keeps reading and its changes pause.
Signing in
For client developers: OAuth 2.1 with PKCE (S256), as the MCP specification describes. A call to an account tool without a token gets 401 with WWW-Authenticate pointing at /.well-known/oauth-protected-resource/mcp, whose authorization server is https://stackpulse.app (/.well-known/oauth-authorization-server). ChatGPT gets the same challenge in the tool’s answer, as _meta["mcp/www_authenticate"].
- Who the client is. A client names itself with a client ID metadata document: its
client_idis the document’s https address, which lists where people may be sent back to. One that can’t registers first athttps://api.stackpulse.app/oauth/register(RFC 7591) and gets an id: a public client, no secret, sent back to https, to http on this computer, or to its own scheme. - Scopes are
readandwrite. A read token asking for a change gets 403insufficient_scope, which has the client ask for more. - Tokens. Access tokens last an hour and work only at
/mcp; refresh tokens rotate on every use, and a connection unused for 90 days is signed out.
Troubleshooting
- “This app can’t sign in”: the page says why. Remove Stackpulse from the assistant and add it again; an app Stackpulse forgot (one that registered and never connected for a week) registers again.
- It only reads. Changes need Pro, and allowing them when the assistant asks. In Settings → API & MCP, a connection says when its changes are paused.
- It doesn’t see a dashboard. It was allowed some dashboards only. Disconnect it under Connected apps and connect again with that one ticked.
- 429. 60 requests a minute per connection: the answer says when to try again.