@seenty/mcp
v0.2.0
Published
Seenty MCP server — query your monitors, uptime and security findings (secrets, cloud misconfigs, CVEs) from AI clients
Readme
@seenty/mcp
Seenty MCP server — query your uptime monitors, check history and security findings from AI clients (Claude Desktop, Claude Code, Cursor, VS Code).
Ask things like:
- "Did any of my monitors go down today?"
- "What's the uptime of my landing page this month?"
- "Is my security ok? Anything critical?"
- "Do I have exposed secrets in my repos?"
- "Which AWS users are missing MFA?"
Read-only by design. The server only exposes read tools with scoped API keys — it cannot create, modify or delete anything. Secret values, code snippets and cloud account IDs are masked or removed by the API before reaching the AI client.
Setup
1. Create an API key
In Seenty, go to Settings → API Keys → Generate New Key and select the permissions you want: "Read monitors & uptime" (monitors:read) and/or "Read security findings" (findings:read). Copy the sk_live_... key (shown only once). API access requires the Starter plan or above.
Treat the key like a password. It is read-only and revocable at any time from the same screen.
2. Configure your AI client
Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"seenty": {
"command": "npx",
"args": ["-y", "@seenty/mcp"],
"env": { "SEENTY_API_KEY": "sk_live_..." }
}
}
}Claude Code:
claude mcp add seenty -e SEENTY_API_KEY=sk_live_... -- npx -y @seenty/mcpCursor (.cursor/mcp.json): same shape as Claude Desktop.
VS Code (.vscode/mcp.json — prompts for the key instead of storing it in plaintext, recommended):
{
"inputs": [
{
"id": "seenty-key",
"type": "promptString",
"password": true,
"description": "Seenty API key (monitors:read)"
}
],
"servers": {
"seenty": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@seenty/mcp"],
"env": { "SEENTY_API_KEY": "${input:seenty-key}" }
}
}
}Tools
| Tool | Scope | What it does |
|---|---|---|
| list_monitors | monitors:read | List monitors with current status (filter by status, search by name/URL) |
| get_monitor | monitors:read | Detail for one monitor + active incident + 5 recent incidents |
| get_check_history | monitors:read | Raw check logs in a time range, with a failure summary |
| get_uptime_stats | monitors:read | Aggregated uptime % and response time series (24h/7d/30d/12mo) |
| get_security_summary | findings:read | Security posture overview: open findings by severity, source and type + top critical |
| list_findings | findings:read | Security findings across domains, AWS, Azure and repos (secrets, misconfigs, CVEs...) |
| get_finding | findings:read | Full detail for one finding with redacted evidence and remediation data |
Environment variables
| Variable | Required | Description |
|---|---|---|
| SEENTY_API_KEY | yes | API key with the monitors:read and/or findings:read scopes (sk_live_...) |
| SEENTY_API_URL | no | API base URL override (defaults to https://engineapi.seenty.com) |
Development
npm install
npm run build
npx @modelcontextprotocol/inspector node dist/index.js