Apollo MCP Server
A Model Context Protocol (MCP) server for Apollo.io - the leading sales intelligence and engagement platform. This server provides 34+ tools for automating sales outreach, prospecting, and pipeline management.
Features
- People Search & Enrichment - Find and enrich contact data from Apollo's 275M+ contact database
- Organization Search & Enrichment - Search companies by industry, size, location, and more
- Email Sequences - Create and manage automated outreach campaigns with A/B testing
- Contact Management - Organize contacts into lists and manage pipeline stages
- Workflow Automation - Build event-driven automations for your sales process
- Tasks & Activities - Create and track sales activities
- Deals Pipeline - Manage opportunities through your sales pipeline
- Analytics - Track sequence performance and email deliverability
Installation
Prerequisites
- Python 3.10+
- An Apollo.io account with API access
- uv (recommended) or pip
Install with uv
# Clone the repository
git clone https://github.com/BlockchainRev/apollo-mcp-server.git
cd apollo-mcp-server
# Install dependencies
uv pip install -e .
Install with pip
pip install -e .
Configuration
Get Your Apollo API Key
- Log in to Apollo.io
- Go to Settings > Integrations > API
- Generate or copy your API key
Set Environment Variable
export APOLLO_API_KEY="your-api-key-here"
Or add to your shell profile (~/.bashrc, ~/.zshrc, etc.):
echo 'export APOLLO_API_KEY="your-api-key-here"' >> ~/.zshrc
Usage
With Claude Code
Add to your Claude Code MCP configuration (~/.claude.json):
{
"mcpServers": {
"apollo": {
"command": "uv",
"args": ["run", "--directory", "/path/to/apollo-mcp-server", "python", "-m", "apollo_mcp.server"],
"env": {
"APOLLO_API_KEY": "your-api-key-here"
}
}
}
}
Standalone
# Run the server
python -m apollo_mcp.server
Available Tools
People & Contacts (6 tools)
| Tool | Description |
|---|
people_search | Search Apollo's 275M+ contact database with filters |
people_enrich | Enrich a person's profile by email, name, or LinkedIn |
contacts_search | Search contacts in your Apollo CRM |
Organizations (3 tools)
| Tool | Description |
|---|
organization_search | Search companies by industry, size, location |
organization_enrich | Get comprehensive company data by domain |
organization_job_postings | Get current job postings for a company |
Email Sequences (5 tools)
| Tool | Description |
|---|
sequences_list | List all email sequences |
sequence_get | Get sequence details and stats |
sequence_create | Create multi-step outreach sequences |
sequence_add_contacts | Add contacts to a sequence |
sequence_activate | Activate or pause a sequence |
Contact Lists (3 tools)
| Tool | Description |
|---|
lists_get | Get all saved lists |
list_create | Create a new contact list |
list_add_contacts | Add contacts to a list |
Workflows (7 tools)
| Tool | Description |
|---|
workflows_list | List all workflow automations |
workflow_get | Get workflow details |
workflow_create | Create event-driven automations |
workflow_update | Update workflow configuration |
workflow_activate | Activate or deactivate workflows |
workflow_delete | Delete a workflow |
workflow_templates_list | Browse workflow templates |
workflow_create_from_template | Create from a template |
Email (2 tools)
| Tool | Description |
|---|
email_preview | Preview emails with variable substitution |
email_send | Send one-off emails |
Tasks (2 tools)
| Tool | Description |
|---|
tasks_list | List all tasks |
task_create | Create tasks for contacts |
Deals (2 tools)
| Tool | Description |
|---|
deals_list | List pipeline opportunities |
deal_create | Create new deals |
Analytics (2 tools)
| Tool | Description |
|---|
analytics_sequences | Get sequence performance metrics |
analytics_email_accounts | Get email deliverability stats |
Utility (4 tools)
| Tool | Description |
|---|
get_available_fields | List email personalization variables |
get_email_schedules | Get sending schedule options |
get_contact_stages | Get contact pipeline stages |
get_account_stages | Get account pipeline stages |
Examples
Search for Decision Makers
# Find VPs of Sales at tech companies in California
people_search(
person_titles=["VP Sales", "Vice President of Sales"],
organization_locations=["California, US"],
organization_num_employees_ranges=["51,200", "201,500"]
)
Create an Outreach Sequence
sequence_create(
name="New Lead Outreach",
steps=[
{
"type": "auto_email",
"wait_time": 0,
"wait_mode": "minute",
"emailer_touches": [{
"type": "new_thread",
"subject": "Quick question about {{company}}",
"body_html": "<p>Hi {{first_name}},</p><p>I noticed {{company}} is growing...</p>"
}]
},
{
"type": "auto_email",
"wait_time": 3,
"wait_mode": "day",
"emailer_touches": [{
"type": "reply",
"subject": "Re: Quick question about {{company}}",
"body_html": "<p>Following up on my last email...</p>"
}]
}
]
)
Create a Workflow Automation
workflow_create(
name="New Contact Nurture",
trigger_type="event",
trigger_events=["contact_saved_or_created"],
actions=[
{"type": "add_to_sequence", "config": {"sequence_id": "abc123"}}
]
)
Email Personalization Variables
Use these variables in email templates:
| Variable | Description |
|---|
{{first_name}} | Contact's first name |
{{last_name}} | Contact's last name |
{{company}} | Company name |
{{title}} | Job title |
{{email}} | Email address |
{{city}} | City |
{{state}} | State/region |
{{country}} | Country |
API Endpoints
The server uses two Apollo API endpoints:
- Public API (
api.apollo.io/v1/): People search, enrichment
- App API (
app.apollo.io/api/v1/): Sequences, workflows, lists, etc.
All requests use the X-Api-Key header for authentication.
Development
Project Structure
apollo-mcp-server/
├── apollo_mcp/
│ ├── __init__.py # Package initialization
│ ├── server.py # Main MCP server
│ ├── client.py # HTTP client for Apollo API
│ ├── utils/
│ │ ├── __init__.py
│ │ ├── config.py # Configuration and settings
│ │ └── formatting.py # Output formatting utilities
│ └── tools/
│ ├── __init__.py # Tool registration
│ ├── people.py # People/contact tools
│ ├── organizations.py # Organization tools
│ ├── sequences.py # Email sequence tools
│ ├── lists.py # List management tools
│ ├── workflows.py # Workflow automation tools
│ ├── email.py # Email tools
│ ├── tasks.py # Task management tools
│ ├── deals.py # Deal/opportunity tools
│ ├── analytics.py # Analytics tools
│ └── utility.py # Helper tools
├── examples/
│ └── basic_usage.py # Usage examples
├── pyproject.toml # Project configuration
├── requirements.txt # Dependencies
└── README.md
Running Tests
# Install dev dependencies
uv pip install -e ".[dev]"
# Run tests
pytest
Contributing
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
License
MIT License - see LICENSE for details.
Acknowledgments