Skip to content

MCP server

Connect an AI assistant to your AyeWatch monitors using your existing API key.

Connect your assistant

The MCP endpoint is https://ayewatch.ai/api/mcp. It uses Streamable HTTP and accepts your existing AyeWatch API key in the Authorization: Bearer aw_live_... header on every request.

Generate a key in API access settings. API and MCP access are available on every paid plan.

For Cursor, add this entry to your MCP configuration. Other clients need the same URL, Streamable HTTP transport, and Authorization header. Replace the placeholder with your key and keep the configuration private.

{
  "mcpServers": {
    "ayewatch": {
      "url": "https://ayewatch.ai/api/mcp",
      "headers": {
        "Authorization": "Bearer aw_live_YOUR_API_KEY"
      }
    }
  }
}

Connect with OAuth

Supported registered apps can offer an AyeWatch sign-in flow when OAuth connections are enabled. Use the MCP endpoint above, sign in to AyeWatch, and review the requested access before selecting Allow access. You do not need to share an API key with the app.

Review the permissions shown before connecting: read access lets the app view your monitors; write access lets it create, change, pause, and delete them. Active monitors use your plan's monitoring credits. A paid plan is required. Access expires after 30 days, or sooner if you disconnect. OAuth connections are limited to registered integrations; this does not mean AyeWatch is already listed in an app directory.

To stop an app's access, open Connected apps and select Disconnect. Future MCP requests are rejected after disconnection. Existing monitors keep their current schedules, and copies already saved by the app are not deleted.

Available tools

  • list_topics: list monitors with optional page, page_size, is_active, interval, created_after, and created_before filters. Page numbers and sizes are integers. The default page size is 20, with a maximum of 100. Responses include pagination.has_more.
  • get_topic: get a monitor by numeric topic_id.
  • create_topic: create a monitor using the same fields as the REST API. Supply a name, web-page URLs, or a template, plus an interval for custom monitoring or monitoring_mode: "auto".
  • update_topic: supply topic_id and a changes object with only the fields you want to update. Set changes.is_active to false to pause or true to resume.
  • delete_topic: permanently delete a monitor and its schedule by topic_id.
  • get_webhook: get the account's webhook URL and whether delivery is on. data is null when none is configured.
  • set_webhook: create the webhook with webhook_url, or change only the fields you supply. Set is_active to false to pause delivery or true to resume.
  • rotate_webhook_secret: replace the signing secret. The old secret stops working immediately.

The webhook tools are available only when you connect with an API key. OAuth connections cannot read or change your webhook, because it receives every alert and its secret signs them.

The webhook tools never return the signing secret, so it stays out of AI conversations. Read it in Notification settings or with GET /api/v1/webhook. AyeWatch emails the account owner whenever the webhook URL is set or changed.

See Topics API for monitor fields and supported intervals.

Example create_topic arguments:

{
  "name": "https://example.com/releases",
  "description": "Alert me when a new version is released.",
  "monitoring_mode": "auto",
  "is_active": false
}

This example creates a paused monitor. Review it, then call update_topic with its returned ID and changes: {"is_active": true} to start monitoring.

Access and limits

MCP manages the same monitors as the website, mobile app, and REST API. Existing plan limits, monitoring credits, ownership checks, and API-key revocation apply. Active monitors consume credits as checks run.

MCP and REST share the API key's rate limit, 120 requests per minute by default. Each MCP POST, including initialization and tool discovery, counts once. Send one MCP message per POST; batches are rejected. Responses include X-Request-Id and RateLimit-* headers. A 429 response includes Retry-After. OAuth connections have the same default limit, counted per AyeWatch account and connected app. OAuth tokens work only on the MCP endpoint; the REST API continues to require an API key.

Authentication failures return HTTP 401 or 403. Tool failures return an MCP result with isError: true; monitor-service failures include an error message and HTTP-equivalent status. Tool results include both text and structured JSON.

The endpoint is stateless. It returns JSON over Streamable HTTP and requires no session ID. GET and DELETE return 405 because it does not offer a persistent event stream or sessions to delete. Browser requests must use the same origin as the endpoint.

Updates continue to arrive through your configured notifications and webhooks. These tools manage monitors and the webhook; they do not provide an alert-history feed.