Vivere

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

ToolWhat it does
list_pagesYour pages, then the pages shared with you, with the access you have on each.
list_monitorsMonitors on every page you can see, or on one page_id, with status, page and access.
get_monitorOne monitor by id, including its ping URL, or by page_id and slug.
create_monitorNew heartbeat (name, period or cron, grace) or HTTP check (url, interval), on your first page or on page_id.
check_inReport 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_monitorWhat they say.
update_monitor, delete_monitorChange a monitor (only the fields given), or delete it with its history.
list_runs, get_run, list_monitor_eventsA monitor's runs, one run's output, and its status changes.
get_accountThe account, its plan and usage, and what this key may do.
get_page, create_page, update_page, delete_page, make_page_privateYour pages.
share_page, unshare_pageShare 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_memberTeams, on the Team plan.
list_channels, create_channel, update_channel, delete_channel, test_channelAlert channels. Secret settings are never shown.
list_pixels, get_pixel, create_pixel, delete_pixelTracking pixels and their loads.
list_eventsStatus 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.

Give an agent its own key from API keys with only the permissions it needs, limited to the pages it works on, so it can be changed or revoked on its own. An agent that only checks in needs monitors:read on its own page.