Skip to main content
Glama

mcp-apollo

An open-source, self-hosted MCP server for Apollo.io — gives your AI agents direct access to Apollo's B2B sales intelligence database.

Deploy it to your own Cloudflare account in under 5 minutes. You own the infrastructure, you control the costs. No shared hosting, no vendor lock-in.

Built and maintained by AgenTeam. MIT licensed.


How it works

Your Cloudflare Workers account
  └── mcp-apollo Worker  (your deploy, your infra)
        └── MCP client sends requests with your Apollo API key
              └── Worker proxies to Apollo.io API
                    └── Returns enriched data to your agent
  • You deploy the Worker to your own Cloudflare account (free tier handles most use cases)

  • You pass your own Apollo.io API key on every request — the Worker never stores it

  • No shared infrastructure — every user runs their own isolated instance


Related MCP server: Apollo.io MCP Server

Quick deploy (5 minutes)

Prerequisites

Steps

# 1. Clone the repo
git clone https://github.com/AgenTeam-AI-2026/mcp-apollo
cd mcp-apollo

# 2. Install dependencies
npm install

# 3. Log in to your Cloudflare account
npx wrangler login

# 4. Deploy
npx wrangler deploy

Your server is now live at:

https://mcp-apollo.<your-subdomain>.workers.dev

That's your personal MCP server URL. Use it in the connection configs below.


Connect your MCP client

Replace YOUR_WORKER_URL with your deployed URL and YOUR_APOLLO_KEY with your Apollo.io API key.

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "apollo": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://YOUR_WORKER_URL/mcp"],
      "env": {
        "APOLLO_API_KEY": "YOUR_APOLLO_KEY"
      }
    }
  }
}

Restart Claude Desktop after saving.

Claude Code

claude mcp add apollo \
  --transport http \
  --url https://YOUR_WORKER_URL/mcp \
  --header "Authorization: Bearer YOUR_APOLLO_KEY"

Cursor

In .cursor/mcp.json:

{
  "mcpServers": {
    "apollo": {
      "url": "https://YOUR_WORKER_URL/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_APOLLO_KEY"
      }
    }
  }
}

Windsurf

In ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "apollo": {
      "serverUrl": "https://YOUR_WORKER_URL/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_APOLLO_KEY"
      }
    }
  }
}

Get an Apollo.io API key

  1. Log in to apollo.io

  2. Go to Settings → Integrations → API

  3. Click Create API Key

  4. Copy the key — paste it into your MCP client config above


Tools

apollo_search_people

Search Apollo's database for people matching filters.

Parameter

Type

Description

person_titles

string[]

Job titles, e.g. ["VP Engineering", "CTO"]

person_seniorities

string[]

"vp", "c_suite", "director", "manager", "senior"

organization_domains

string[]

Company domains, e.g. ["stripe.com"]

person_locations

string[]

Locations, e.g. ["New York", "San Francisco"]

organization_num_employees_ranges

string[]

Size ranges, e.g. ["51,200", "201,500"]

page

number

Page number (default: 1)

per_page

number

Results per page, max 25 (default: 10)


apollo_enrich_person

Get a full enriched profile for a specific person.

Parameter

Type

Description

email

string

Most reliable identifier

linkedin_url

string

LinkedIn profile URL

first_name + last_name + organization_name

string

Name + company combo

At least one identifier is required.


apollo_search_companies

Search for companies matching criteria.

Parameter

Type

Description

q_organization_keyword_tags

string[]

Keywords/industries, e.g. ["SaaS", "fintech"]

organization_locations

string[]

HQ locations

organization_num_employees_ranges

string[]

Size ranges

organization_funding_stages

string[]

"Seed", "Series A", "Series B" etc.

page

number

Page (default: 1)

per_page

number

Max 25 (default: 10)


apollo_enrich_company

Get a full company profile by domain or name.

Parameter

Type

Description

domain

string

e.g. "stripe.com" — preferred

name

string

Company name — fallback

Returns: description, headcount, founding year, total funding, funding stage, tech stack, keywords.


apollo_get_job_postings

Get active job postings for a company — a strong buying/hiring signal.

Parameter

Type

Description

organization_id

string

Apollo org ID from apollo_enrich_company

job_titles

string[]

Optional filter, e.g. ["engineer", "sales"]


apollo_find_email

Retrieve a person's verified email by their Apollo person ID.

Parameter

Type

Description

person_id

string

Apollo person ID from apollo_search_people


Apollo.io rate limits

Plan

Requests / hour

Free

50

Basic

200

Professional

1,000

Organization

Custom

The server returns rate limit metadata with every response (rate_limits.remaining, rate_limits.resetAt). On 429 errors it returns an informative message — it never silently fails.


Cloudflare Workers free tier

Metric

Free limit

Requests

100,000 / day

CPU time

10ms / request

100k requests/day is enough for most individual or small-team deployments. If you exceed it, upgrade to the Workers Paid plan ($5/month for 10M requests).


Local development

npm install
npm run dev
# Server runs at http://localhost:8787

Run tests

npm test                                        # unit + RALPH-loop tests
APOLLO_API_KEY=your_key npx vitest run test/e2e # E2E against live Apollo API

CI/CD on your fork

The repo includes GitHub Actions workflows:

  • ci.yml — runs typecheck, build check, and tests on every push

  • deploy.yml — deploys to Cloudflare Workers on merge to main

  • e2e.yml — nightly E2E tests against the live Apollo API

To enable auto-deploy, add these secrets in your fork under GitHub → Settings → Secrets → Actions:

Secret

Where to get it

CLOUDFLARE_API_TOKEN

Cloudflare Dashboard → My Profile → API Tokens → Create Token (use "Edit Cloudflare Workers" template)

CLOUDFLARE_ACCOUNT_ID

Cloudflare Dashboard → Workers & Pages → right sidebar

To enable nightly E2E tests, also add APOLLO_API_KEY as a secret and set the repo variable APOLLO_E2E_ENABLED to true.


Security

  • Your Apollo API key is passed as a Bearer token in the Authorization header on each request

  • The Worker never stores, logs, or persists your API key

  • Each request is stateless — the key is used only for that request's Apollo API call

  • You control the entire deployment — no data touches third-party infrastructure


Built by AgenTeam

AgenTeam builds AI agent teams for B2B sales and GTM operations. mcp-apollo is one of several open-source MCP servers we publish to give agents direct access to the tools modern sales teams rely on.


License

MIT © AgenTeam-AI-2026

Related MCP Connectors

  • Your agent needs B2B contacts and the pipeline objects around them — find the company, find the person, get the email, then write it back where your team works. **What you can ask for** • "Find heads of engineering at Series-B SaaS companies in the Nordics, with emails." • "Enrich these companies with headcount, industry and funding." • "What roles is this company hiring for right now?" • "Create an account and a contact, then log this opportunity." • "Search our sequences for messages sent to this domain." **How to use it** Point any MCP client at https://mcp.aisa.one/apollo/mcp and sign in with OAuth — there is no key to create or paste. 54 tools: people and organisation search and enrichment, job postings, accounts, contacts, opportunities and their stages, custom fields, labels, notes, users, email accounts, sequence messages and phone-call search — reads and writes. **Why this rather than the source** The full object model, not just a search endpoint, so an agent can finish the job rather than hand you a CSV. **It is also a door to the rest** The same login reaches 26 sources and 580+ operations. Find the person here, then ask the same agent what their company's traffic looks like or what they rank for — without adding a second server. **What it costs** Finding and inspecting an operation is free. Running one is billed per call at API prices, with no seat and no monthly minimum, and every call takes max_price_usd so an agent cannot overspend by accident. **Where else it reaches** https://mcp.aisa.one/sales/mcp adds Similarweb and creator discovery around it.

  • Your agent needs a pipeline, not a list — the companies worth calling, the people who decide inside them, a way to reach those people, and the market evidence that the account is worth the call. **What you can ask for** • "Find Series-B fintech companies in Germany and the heads of marketing there, with emails." • "Enrich these 200 domains with headcount, funding and tech stack." • "Which of these accounts is hiring for roles that imply they need us?" • "How much traffic does this prospect get, and where does it come from?" • "Create the account and contact records and move this opportunity to the next stage." **How to use it** Point any MCP client at https://mcp.aisa.one/sales/mcp and sign in with OAuth — there is no key to create or paste. 79 tools: Apollo people and company search, enrichment, accounts, contacts, opportunities and stages, job postings, sequences and call activity; Similarweb traffic, audience, referrals, ad spend and competitors; plus creator discovery. **Why this rather than the source** Prospecting, enrichment, market sizing and the CRM writes behind one login instead of three. **It is also a door to the rest** The same login reaches 26 sources and 580+ operations. Build the list here, then ask the same agent what those companies rank for or what is being said about them — without adding a second server. **What it costs** Finding and inspecting an operation is free. Running one is billed per call at API prices, with no seat and no monthly minimum, and every call takes max_price_usd so an agent cannot overspend by accident. **Where else it reaches** https://mcp.aisa.one/apollo/mcp or https://mcp.aisa.one/similarweb/mcp for one of them alone; https://mcp.aisa.one/gtm/mcp adds the social side.

  • MCP server for building and testing AI agents with multi-model experimentation and insights.

  • MCP server connecting AI agents to 100+ apps (Gmail, Slack, Notion, GitHub) via one-click OAuth.

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    MCP server for Apollo.io B2B database enabling people and company search, enrichment, and insights through conversational interfaces.
    9
    676 npm
    19
    MIT
  • F
    license
    B
    quality
    C
    maintenance
    A Model Context Protocol (MCP) server for the Apollo.io API, giving AI coding assistants direct access to Apollo.io's sales intelligence platform for prospecting, enrichment, CRM operations, and outreach.
    50
    5
    -
  • A
    license
    A
    quality
    D
    maintenance
    MCP server for Apollo.io B2B sales intelligence API. Enables searching and enriching people and organizations via natural language.
    7
    5 npm
    4
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for the Apollo.io API that lets LLMs search and enrich people and company data.
    48 npm
    MIT