Skip to main content
Glama
babicko

Apollo.io MCP Server

by babicko
README.md
# Apollo.io MCP Server

A comprehensive Model Context Protocol (MCP) server for Apollo.io API integration. Enables AI assistants to enrich company data, search for people and organizations, manage contacts and accounts, and more.

## Features

### 🔍 Enrichment Tools
- **People Enrichment** - Enrich person data by name/email/domain
- **Organization Enrichment** - Get company size, tech stack, department breakdown, funding, revenue

### 🌐 Global Search Tools  
- **People Search** - Search Apollo's 275M+ person database
- **Organization Search** - Search Apollo's 70M+ company database

### 👥 Contact Management (Your Apollo Account)
- **Search Contacts** - Find contacts you've saved
- **Create Contact** - Add new contacts
- **Update Contact** - Modify existing contacts
- **View Contact** - Get contact details
- **Get Person Email** - Reveal email addresses

### 🏢 Account Management (Your Apollo Account)
- **Search Accounts** - Find accounts (companies) you've saved
- **Create Account** - Add new accounts (requires master key)
- **Update Account** - Modify existing accounts  
- **View Account** - Get account details

### 💼 Other Tools
- **Organization Job Postings** - Get job listings for a company
- **Employees of Company** - Find employees by company name/URL

## Installation

```bash
# Clone or download the repository
cd apollo-mcp-server

# Install dependencies
npm install

# Build the TypeScript
npm run build
```

## Configuration

### 1. Set up API Keys

Create a `.env` file in the project root:

```bash
APOLLO_API_KEY=your_standard_api_key_here
APOLLO_MASTER_API_KEY=your_master_api_key_here
```

Get your API keys from [Apollo.io Settings → API](https://app.apollo.io/#/settings/integrations/api)

### 2. Configure with OpenCode

Add to your `opencode.json`:

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "apollo": {
      "type": "local",
      "command": ["node", "/Users/ognjenbabic/apollo-mcp-server/dist/index.js"],
      "environment": {
        "APOLLO_API_KEY": "your_key_here",
        "APOLLO_MASTER_API_KEY": "your_master_key_here"
      },
      "enabled": true
    }
  }
}
```

Or use environment variables:

```json
{
  "mcp": {
    "apollo": {
      "type": "local",
      "command": ["node", "/Users/ognjenbabic/apollo-mcp-server/dist/index.js"],
      "environment": {
        "APOLLO_API_KEY": "{env:APOLLO_API_KEY}",
        "APOLLO_MASTER_API_KEY": "{env:APOLLO_MASTER_API_KEY}"
      },
      "enabled": true
    }
  }
}
```

### 3. Configure with Claude Desktop

Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "apollo": {
      "command": "node",
      "args": ["/Users/ognjenbabic/apollo-mcp-server/dist/index.js"],
      "env": {
        "APOLLO_API_KEY": "your_key_here",
        "APOLLO_MASTER_API_KEY": "your_master_key_here"
      }
    }
  }
}
```

## Usage Examples

### With OpenCode

Once configured, you can interact with Apollo through natural language:

```
"Use apollo to enrich plauti.com - give me company size, tech stack, and department breakdown"
```

```
"Search for marketing managers at apollo.io using apollo"
```

```
"Find employees of Stripe using apollo"
```

```
"Create a contact in apollo for John Doe at example.com"
```

### Direct Tool Usage

#### Organization Enrichment
```json
{
  "tool": "organization_enrichment",
  "arguments": {
    "domain": "plauti.com"
  }
}
```

Returns:
- Company size (employee count)
- Tech stack (technologies used)
- Department breakdown
- Industry, revenue, funding
- Location, phone, social profiles

#### People Search
```json
{
  "tool": "people_search",
  "arguments": {
    "person_titles": ["VP of Marketing", "Marketing Manager"],
    "q_organization_domains_list": ["apollo.io"],
    "per_page": 10
  }
}
```

#### Employees of Company
```json
{
  "tool": "employees_of_company",
  "arguments": {
    "company": "Stripe",
    "website_url": "https://stripe.com",
    "person_titles": ["Engineer", "Developer"]
  }
}
```

## Available Tools (15 Total)

| Tool | Description | Credit Cost |
|------|-------------|-------------|
| `people_enrichment` | Enrich person data | 1 credit |
| `organization_enrichment` | Enrich company data | 1 credit |
| `people_search` | Search global people database | Free |
| `organization_search` | Search global company database | Free |
| `search_contacts` | Search your contacts | Free |
| `create_contact` | Add new contact | 1 credit |
| `update_contact` | Update contact | Free |
| `view_contact` | View contact details | Free |
| `search_accounts` | Search your accounts | Free |
| `create_account` | Add new account | 1 credit |
| `update_account` | Update account | Free |
| `view_account` | View account details | Free |
| `organization_job_postings` | Get job postings | Free |
| `get_person_email` | Reveal email | 1 credit |
| `employees_of_company` | Find employees | Free* |

*Note: Uses search credits if enriching results

## Apollo.io Terminology

- **Person** - Anyone in Apollo's global database (275M+ people)
- **Contact** - A person you've explicitly saved to your Apollo account
- **Organization** - Any company in Apollo's global database (70M+ companies)
- **Account** - A company you've explicitly saved to your Apollo account

## Development

```bash
# Install dependencies
npm install

# Build TypeScript
npm run build

# Watch mode (auto-rebuild on changes)
npm run dev

# Start the server
npm start
```

## API Documentation

Full Apollo.io API documentation: https://docs.apollo.io/reference/

## Troubleshooting

### "APOLLO_API_KEY environment variable is required"
- Ensure `.env` file exists with your API key
- Or pass via command line: `node dist/index.js --api-key=your_key`

### "Master API key required for account creation"
- Account creation requires a master API key
- Get one from Apollo.io Settings → API → Generate Master Key

### Rate Limits
- Apollo uses fixed-window rate limiting
- Check your limits: https://docs.apollo.io/reference/rate-limits
- View usage: https://docs.apollo.io/reference/view-api-usage-stats

## License

MIT

## Support

For Apollo.io API issues:
- Documentation: https://docs.apollo.io
- Support: https://app.apollo.io/support

For MCP server issues:
- Check the MCP documentation: https://modelcontextprotocol.io
- Review OpenCode docs: https://opencode.ai/docs/mcp-servers