# MCP

> Connect Claude or any MCP client to Pulse with an API key or OAuth, and the tools it gets.

Pulse's MCP server is at `https://pulse.nightroll.app/mcp` (Streamable HTTP). Your agent can query logs and metrics, manage checks and monitors, and create ingest keys. Pulse sells no AI: bring your own agent.

## Connect

With an API key (Settings → API keys):

```sh
claude mcp add --transport http pulse https://pulse.nightroll.app/mcp --header "Authorization: Bearer $KEY"
```

Or add `https://pulse.nightroll.app/mcp` as a custom connector in claude.ai or Claude Desktop: Pulse asks you to sign in, pick the org and choose the scopes (OAuth). Step by step: [QuickStart](/quickstart) and [AI & MCP](/ai).

## Tools

| Scope | Tools |
| --- | --- |
| `read` | `query_logs`, `query_metrics`, `list_metric_names`, `list_services`, `list_checks`, `get_check`, `list_monitors`, `archive_status` |
| `write` | `create_check`, `update_check` (also pauses and resumes), `delete_check`, `create_monitor`, `update_monitor`, `delete_monitor` |
| `admin` | `create_ingest_key` (returns the key and a ready-to-paste `OTEL_EXPORTER_OTLP_*` block), `revoke_ingest_key` |

Plus the platform tools every Nightroll app has: `whoami`, `list_members`, `invite_members`, `list_invites`, `revoke_invite`, `get_usage`, `list_audit_events`. Every tool call is in the org's audit log.

## Try asking

- "Show error logs from service checkout in the last hour"
- "Graph p95 of http.server.duration by route for today"
- "Create a heartbeat for my nightly backup cron `0 3 * * *` Europe/London with 30 minutes grace"
- "Alert me in Shift if `queue.depth` averages above 1000 for 5 minutes"
- "Invite alex@example.com and sam@example.com to our org as members"
