Skip to main content
CatchAll integrates with Claude through two paths:
  • MCP server: Connects CatchAll as a tool in Claude’s chat interface. Claude calls pre-built tools to submit jobs, poll status, and pull results — no code execution required.
  • Python agent: Uses the Anthropic SDK to run CatchAll queries programmatically in an agentic loop.
You can also use the CatchAll API SKILL alongside either path to improve query quality and result presentation.

Before you start

Connect MCP server

The MCP server authenticates with the CatchAll API and exposes tools in Claude.
1

Open connectors

Go to claude.ai/customize/connectors. Click + and select Add custom connector.
2

Configure connection

Fill in the Add custom connector dialog:
  • Name: CatchAll
  • Remote MCP server URL:
https://catchall-mc.fastmcp.app/mcp?apiKey=YOUR_CATCHALL_API_KEY
3

Add and verify

Click Add. Verify that CatchAll appears under Web in your connectors list.
4

Test connection

Open a new chat and type a CatchAll query, for example: “Find AI company acquisitions in the last 7 days, limit 5”. Claude should call the CatchAll tools and return structured results.
The MCP URL contains your API key. Treat it as a secret and do not share it or commit it to version control.

Available tools

The MCP server exposes tools for jobs (initialize, submit, poll, pull results, continue) and monitors (create, update, list, enable, disable, pull results). For the full tool reference, see MCP server > Available tools.

Python agent

To use CatchAll programmatically with Claude, use the Anthropic SDK to execute CatchAll API calls in an agentic loop.

Setup

pip install -r requirements.txt
Set environment variables:
export CATCHALL_API_KEY=YOUR_CATCHALL_API_KEY
export ANTHROPIC_API_KEY=YOUR_ANTHROPIC_API_KEY

Basic agent example

The agent uses hardcoded tool definitions and a standard agentic loop: submit, wait, pull with polling.
client = anthropic.Anthropic(api_key=os.environ["ANTHROPIC_API_KEY"])

response = client.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=4096,
    tools=TOOLS,  # Hardcoded tool definitions in claude_agent_example.py
    messages=[
        {"role": "user", "content": "Find pharma M&A deals in the last 7 days, limit 20"}
    ]
)
For the complete implementation, including polling and result handling, see the agent example on GitHub.

See also