MCP API Reference
PR Tracker exposes all functionality through Model Context Protocol (MCP) tools. There is no GUI -- all interaction happens through MCP tool calls made by AI agents.
Connecting
| Property | Value |
|---|---|
| URL | https://pr-tracker-mcp.catenalabs.workers.dev/mcp |
| Protocol | MCP over Streamable HTTP |
| Auth | Bearer token in Authorization header |
Authentication
Every request must include an API key as a Bearer token:
Authorization: Bearer prt_your_api_key_hereAPI keys are generated with the create_agent_key tool and are prefixed with prt_. The key is shown once at creation time and cannot be retrieved again.
MCP Request/Response Format
Initialize Handshake
Before calling tools, the client sends an initialize request:
json
{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": "2025-03-26",
"capabilities": {},
"clientInfo": {
"name": "my-agent",
"version": "1.0.0"
}
}
}Tool Call
json
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "create_outlet",
"arguments": {
"name": "TechCrunch",
"tier": 1,
"website": "https://techcrunch.com"
}
}
}Tool Response
json
{
"jsonrpc": "2.0",
"id": 2,
"result": {
"content": [
{
"type": "text",
"text": "{ \"id\": \"...\", \"name\": \"TechCrunch\", ... }"
}
]
}
}curl Example
bash
curl -X POST https://pr-tracker-mcp.catenalabs.workers.dev/mcp \
-H "Authorization: Bearer prt_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_outlets",
"arguments": { "tier": 1, "limit": 10 }
}
}'Tool Groups
| Group | Description |
|---|---|
| Outlets | Media companies, publications, podcast networks, conference organizers |
| Contacts | Journalists, editors, producers, and their outlet affiliations |
| Channels | Individual channels within outlets (website, newsletter, podcast, etc.) |
| Campaigns | Groupings of related opportunities with summary metrics |
| Opportunities | The core pipeline/deal object -- pitches, placements, and their lifecycle |
| Coverage | Published results: articles, interviews, awards, segments |
| Media | File attachments (PDFs, video clips, audio) linked to coverage |
| Notes | Meeting recaps, phone call logs, research notes, and the unified interaction log |
| Search | Full-text search, contact/outlet dossiers, opportunity status |
| Emails | Email threads synced from the shared inbox |
| Audit | Change history, per-change rollback, session rollback |
| Notifications | Opportunity subscriptions, agent API key management |
| Slack | Send messages and ask questions via Slack |
Non-Destructive Design
PR Tracker is designed for safe agent operation:
- No hard deletes. All delete operations are soft deletes that set
archived_at. Archived records can be restored at any time. - Full change log. Every mutation is recorded by a Postgres trigger to the
change_logtable with before/after state, user ID, agent ID, and session ID. - Rollback support. Any individual change or entire agent session can be reverted using the audit tools.
- Agent identity tracking. Every operation records which agent and session made the change, enabling safe multi-agent workflows.