
blockchainrev/apollo-mcp-server
Developer toolsMCP server for Apollo.io sales engagement platform - 34+ tools for prospecting, outreach automation, and pipeline management
Overview
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. - - Find and enrich contact data from Apollo's 275M+ contact database - - Search companies by industry, size, location, and more - - Create and manage automated outreach campaigns with A/B testing - - Organize contacts into lists and manage pipeline stages - - Build event-driven automations for your sales process - - Create and track sales activities - - Manage opportunities through your sales pipeline - - Track sequence performance and email deliverability - Python 3.10+ - An Apollo.io account with API access - uv (recommended) or pip 1. Log in to Apollo.io 2. Go to > > 3. Generate or copy your API key Or add to your shell profile (~/.bashrc, ~/.zshrc, etc.): Add to your Claude Code MCP configuration (~/.claude.json): The server uses two Apollo API endpoints: - (api.
README
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
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": "Hi {{first_name}},I noticed {{company}} is growing..."
}]
},
{
"type": "auto_email",
"wait_time": 3,
"wait_mode": "day",
"emailer_touches": [{
"type": "reply",
"subject": "Re: Quick question about {{company}}",
"body_html": "Following up on my last email..."
}]
}
]
)
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
Install
This server does not publish a one-line install command.
Open the repository installation guide New to MCP? Start with the mcpskill.org guide →Configuration
{
"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"
}
}
}
}