Tatami MCP Server
OfficialTatami MCP Server
Customer-facing remote MCP server for Tatami. It runs as a stateless Cloudflare Worker at:
https://mcp.tatamimonitor.com/mcpThe Worker is a thin proxy over the customer API documented in Tatami at /account/teams/:team_id/api. Customers bring their own Tatami platform access token. The Worker does not store tokens.
Tools
search_events
Search delivery events for concrete examples. Wraps:
POST /api/v1/teams/:team_id/projects/:project_id/events/searchArguments:
team_idandproject_id, optional when the MCP connection sendsX-Tatami-Team-IdandX-Tatami-Project-Idfilters, using{ field, operator, value }occurred_at, using{ gte, lte }ISO timestampslimit, from 1 to 100
get_top_reasons
Fetch last-24-hour deferral and bounce reason breakdowns. Wraps:
GET /api/v1/teams/:team_id/projects/:project_id/events/reasonsArguments:
team_idandproject_id, optional with headerslimit, from 1 to 100, default 20
query_report
Query deliverability report sections. Wraps:
POST /api/v1/teams/:team_id/projects/:project_id/reports/queryArguments:
team_idandproject_id, optional with headerssections, any ofstats,time_series,bounce_analysis,breakdowns,top_listsfilters, using{ field, operator, value }occurred_at, using{ gte, lte }ISO timestampsbreakdown_type, required whensectionsincludesbreakdownsbreakdown_limit, from 1 to 100, default 25 upstream
get_query_reference
Return static filter fields, operators, event types, report sections, breakdown types, and query rules. This tool does not call the Tatami API.
Customer connection
Create a Tatami API key from the API page, then configure the MCP client with headers.
{
"mcpServers": {
"tatami": {
"url": "https://mcp.tatamimonitor.com/mcp",
"headers": {
"Authorization": "Bearer <token from Manage API Keys>",
"X-Tatami-Team-Id": "<team id>",
"X-Tatami-Project-Id": "<project id>"
}
}
}
}team_id and project_id are numeric IDs from the Tatami API page dropdowns. Tool arguments can override the header defaults.
Local development
Use Node 22 or newer. The latest Wrangler release requires Node 22.
Install dependencies:
npm installRun type checks:
npm run typecheckRun the Worker locally:
npm run devConnect MCP Inspector to:
http://localhost:8787/mcpUse the same headers as production.
Cloudflare
wrangler.jsonc points the Worker at mcp.tatamimonitor.com as a custom domain and sets:
{
"TATAMI_BASE_URL": "https://tatamimonitor.com"
}Cloudflare can deploy this repository directly from GitHub. No Worker secrets are required for v1 because customers pass their own Tatami API keys on each MCP connection.
API rules
tenant_idis webhook/customer metadata, not the Tatami team ID.Event search defaults to the last 7 days.
Report queries default to the last hour.
Queries are capped at a 60-day
occurred_atrange.Event search returns up to 100 events and has no pagination cursor.
Report breakdowns return up to 100 rows.
breakdown_limitdefaults to 25 upstream.Tatami rate-limits the three live endpoints together at 100 requests per hour per token.