Skip to content
WATCHTOWER

AI agents / Model Context Protocol

Connect to
the evidence.

A dedicated starting point for AI agents and the people configuring them. Discover Watchtower’s reviewed datasets, read source-linked observations and carry the dates and coverage into your work.

From account to connection.

01 / Authorize

Create a scoped token.

Sign in to Watchtower, open Advanced, and find AI Agent MCP — Hosted Agent Access. Create a token using an eligible API-capable account. The full token is shown at creation.

02 / Configure

Set the endpoint.

Choose a client that supports remote HTTP MCP and custom headers. Use the HTTPS endpoint above and Authorization: Bearer YOUR_WATCHTOWER_MCP_TOKEN.

03 / Discover

Read the live schemas.

Initialize the MCP connection, then request tools/list. Start with watchtower.list_data_routes to discover the datasets available to your token.

Store credentials in your client’s secret controls or environment. This guide never asks you to paste a token into the website. Never include a token in a prompt, URL, screenshot or committed configuration.

Eligible Pro access is currently US$29/month or US$250/year. Confirm your account’s API capability and current plan terms. Report generation and optional provider usage have separate access and cost conditions.

Make the first read.

Use your MCP client’s connection flow. For a raw HTTP client, initialize with protocol version 2024-11-05, send notifications/initialized, and retrieve tools/list. Keep the authorization header on authenticated requests.

curl https://watchtower.technology/agent/mcp \
  -H "Authorization: Bearer $WATCHTOWER_MCP_TOKEN" \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  --data '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"your-client","version":"1.0"}}}'

Next, discover a relevant route. These are request examples, not observations or current-event claims.

{
  "jsonrpc": "2.0", "id": 2, "method": "tools/call",
  "params": {
    "name": "watchtower.list_data_routes",
    "arguments": {"category": "weather-hazards", "query": "earthquakes"}
  }
}

Use a path returned by discovery, then request a bounded page:

{
  "jsonrpc": "2.0", "id": 3, "method": "tools/call",
  "params": {
    "name": "watchtower.read_data_route",
    "arguments": {"path": "/agent/api/earthquakes", "limit": 20}
  }
}

The reader returns dataset metadata, JSON Pointer/value records, a snapshot identity and pagination fields. Tool results may be wrapped in MCP content blocks; inspect the returned content and error flags before using it.

Keep the snapshot. Follow the pages.

  1. Discover a route with watchtower.list_data_routes. Follow its page.nextOffset when listing more routes.
  2. Read the selected path. Preserve its snapshot, capturedAt, snapshotExpiresAt, source dates and coverage fields.
  3. If page.hasMore is true, repeat the same path, query and selector with the returned snapshot and offset: page.nextOffset.
  4. For long-string continuations, use the returned text continuation pointer/offset fields with the current tool schema. A selector can focus on a JSON subtree.
  5. If the snapshot expires, start a new read. Do not silently combine pages from different snapshots.
{
  "name": "watchtower.read_data_route",
  "arguments": {
    "path": "/agent/api/earthquakes",
    "snapshot": "COPY_THE_RETURNED_SNAPSHOT",
    "offset": 20,
    "limit": 20
  }
}

Use the actual returned offset rather than assuming it is 20. Dataset pagination may be separate from reader pagination: finishing a JSON snapshot does not establish complete upstream coverage. Respect source scope, stale/degraded flags and missing values.

Discover, read, investigate.

Checked 9 October 2026: public MCP metadata advertised 12 tools; the authenticated reviewed catalogue reported 178 routes for the checking account. Counts and entitlements can change. The live schemas are authoritative.

watchtower.list_data_routes

Find reviewed paths, categories, entitlement tiers and available query hints.

watchtower.read_data_route

Read bounded JSON Pointer/value pages from a selected dataset.

watchtower.search

Search the canonical corpus with provenance and freshness context.

watchtower.get_data_points

Retrieve normalized evidence points and source packs.

watchtower.get_osint_observations

Read normalized public-source observations.

watchtower.get_cross_domain_alerts

Read cross-domain evidence assessments and conditions.

watchtower.get_country_risk

Retrieve country-risk rows and summaries.

watchtower.get_crypto_intel

Retrieve crypto intelligence and its evidence context.

watchtower.get_global_bond_intel

Explore sovereign, curve and credit evidence.

watchtower.get_military_air

Inspect military, aviation and early-warning signals.

watchtower.get_reports

Read the available report manifest when entitled.

watchtower.deep_analysis

Generate a bounded report only when requested and separately entitled.

Use the evidence within its scope.

The reviewed dataset reader is read-only. It excludes account records, credentials, API connections, billing, admin operations, raw tokens, private workspaces and portfolios, private reports/settings, streams and mutation routes. Optional report generation is a separate tool, not a dataset-reader capability.

When a request needs attention.

ResponseNext step
401Check the bearer header and whether the token expired or was revoked.
403Check account entitlement and the tool or route’s scope.
400 / invalid argumentsRefresh tools/list and check parameter names and types.
Snapshot expired or mismatchedStart a fresh read and keep its pages together.
429Respect Retry-After where returned; use bounded backoff.
Unavailable / degraded sourceReport the source condition and clock. Do not replace missing evidence with invented values.