MCP server
Give Claude, Cursor or any MCP client tools to create monitors and check in.
Vivere is also an MCP server. Connect it and an agent can create its own monitor, then call check_in after each piece of scheduled work; when the check-ins stop, you are alerted like for any other monitor. The endpoint is https://vivere.dev/mcp (Streamable HTTP, stateless) and it authenticates with an API key as a bearer token.
Tools
| Tool | What it does |
|---|---|
list_pages | Your pages, then the pages shared with you, with the access you have on each. |
list_monitors | Monitors on every page you can see, or on one page_id, with status, page and access. |
get_monitor | One monitor by id, including its ping URL, or by page_id and slug. |
create_monitor | New heartbeat (name, period or cron, grace) or HTTP check (url, interval), on your first page or on page_id. |
check_in | Report success, start or fail for a monitor, with an optional message kept as the run log. Optional model, input_tokens, output_tokens, cache_read_tokens, cache_write_tokens, cost_usd and items record what the run used. |
pause_monitor, resume_monitor | What they say. |
update_monitor, delete_monitor | Change a monitor (only the fields given), or delete it with its history. |
list_runs, get_run, list_monitor_events | A monitor's runs, one run's output, and its status changes. |
get_account | The account, its plan and usage, and what this key may do. |
get_page, create_page, update_page, delete_page, make_page_private | Your pages. |
share_page, unshare_page | Share a page with a person (by login email) or a team, as viewer or editor, or stop. |
list_teams, get_team, create_team, rename_team, delete_team, add_team_member, remove_team_member | Teams, on the Team plan. |
list_channels, create_channel, update_channel, delete_channel, test_channel | Alert channels. Secret settings are never shown. |
list_pixels, get_pixel, create_pixel, delete_pixel | Tracking pixels and their loads. |
list_events | Status changes across your own monitors. |
Each tool needs the permission its HTTP API endpoint does, and tools/list with a key lists only the tools that key may call, so an agent given a narrow key is not offered the rest. check_in needs only monitors:read: whoever can read a monitor has its ping URL, which is enough to check in. The tools that delete are marked destructive, so a client can ask you before it calls one.
The tools see what your account sees in the dashboard, with the same rules as the HTTP API: on a page shared with you as an editor they work as on your own, and on a page shared with you to view, monitors have no id, so only list_pages, list_monitors and get_monitor by page and slug apply.
Claude Code
claude mcp add --transport http vivere https://vivere.dev/mcp --header "Authorization: Bearer vv_…"
Then, in a scheduled task's prompt: "When you have finished, call the Vivere check_in tool for monitor <id> with a one-line summary."
Claude Desktop, Cursor, other clients
{
"mcpServers": {
"vivere": {
"url": "https://vivere.dev/mcp",
"headers": { "Authorization": "Bearer vv_…" }
}
}
}
Raw JSON-RPC
curl -X POST https://vivere.dev/mcp \
-H "Authorization: Bearer vv_…" -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"check_in","arguments":{"monitor_id":"<id>","status":"success","message":"processed 14 tickets"}}}'
Notifications (requests without an id) are acknowledged with 202. There is no server-initiated stream, so GET /mcp returns 405; clients that require one fall back to plain request/response, which is all these tools need.
Without a key, initialize and tools/list still answer, so a client or a directory can see the tools before you connect it. Every tools/call needs the key and gets 401 without one, pointing at https://vivere.dev/.well-known/oauth-protected-resource/mcp.
monitors:read on its own page.