Skip to content

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

PropertyValue
URLhttps://pr-tracker-mcp.catenalabs.workers.dev/mcp
ProtocolMCP over Streamable HTTP
AuthBearer token in Authorization header

Authentication

Every request must include an API key as a Bearer token:

Authorization: Bearer prt_your_api_key_here

API 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

GroupDescription
OutletsMedia companies, publications, podcast networks, conference organizers
ContactsJournalists, editors, producers, and their outlet affiliations
ChannelsIndividual channels within outlets (website, newsletter, podcast, etc.)
CampaignsGroupings of related opportunities with summary metrics
OpportunitiesThe core pipeline/deal object -- pitches, placements, and their lifecycle
CoveragePublished results: articles, interviews, awards, segments
MediaFile attachments (PDFs, video clips, audio) linked to coverage
NotesMeeting recaps, phone call logs, research notes, and the unified interaction log
SearchFull-text search, contact/outlet dossiers, opportunity status
EmailsEmail threads synced from the shared inbox
AuditChange history, per-change rollback, session rollback
NotificationsOpportunity subscriptions, agent API key management
SlackSend 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_log table 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.