MCP Server
Connect Claude, ChatGPT, Cursor, and any other Model Context Protocol client to your workspace — chat-shaped AI access with audit-logged mutations and explicit notify semantics.
The openstatus MCP server connects Claude Desktop, ChatGPT, Cursor, and any other Model Context Protocol client to your workspace — so an AI assistant can read monitors, response logs, and audit history, and drive status pages, status reports, and maintenance windows directly from a conversation.
Quickstart
{
"mcpServers": {
"openstatus": {
"type": "http",
"url": "https://api.openstatus.dev/mcp",
"headers": {
"x-openstatus-key": "os_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
}
}
}
Drop the snippet into your client's MCP config (claude_desktop_config.json, Cursor settings, ChatGPT custom connector), restart, and the openstatus tools appear in the picker. The server is stateless Streamable HTTP and scales horizontally.
What you can do
The server exposes 17 tools scoped to your workspace, grouped by entity:
- Status pages —
list_status_pages - Status reports —
list_status_reports·create_status_report·add_status_report_update·update_status_report·resolve_status_report - Maintenance —
list_maintenances·create_maintenance - Monitors —
list_monitors·get_monitor·get_monitor_status·get_monitor_summary - Response logs —
list_response_logs·get_response_log - Notifications —
list_notifications - Audit log (workspaces on the audit-log plan only) —
list_audit_logs·get_audit_log
The four publishing tools (create_status_report, add_status_report_update, resolve_status_report, create_maintenance) require notify: true | false — the assistant must explicitly choose whether to notify subscribers, so an LLM cannot quietly fan out an alert. update_status_report is metadata-only and cannot notify.
The same tool registry powers the in-app assistant — every tool you see in /chat is the same tool you call over MCP, kept in sync by shape-equivalence tests.
Auth & scopes
Authentication is the x-openstatus-key header — the same API key the CLI, API, and Terraform use. We don't implement the MCP OAuth flow: no separate credential to manage, no consent screen, just one key from Settings → API Tokens.
API keys carry a read or write scope. Read-only keys never see write tools in tools/list — they don't exist for that session. Write tools throw a clean error if a read-only key somehow attempts them.
Every mutation lands in the audit log under actor_type = 'mcp', so you can trace any change back to a key, a user, and a transport.
Other surfaces
- Want chat inside the dashboard instead of an external client? See the in-app assistant.
- Want a terminal interface for AI agents (Claude Code, etc.)? See skills on the CLI page.
- Building an in-app integration? Call the API directly.
- Want Slack instead of Claude or ChatGPT? See the Slack agent.
Reference
Full tool schema, error codes, and per-client config in the MCP reference.