mayanksingh09/apollo-io-mcp-server
If you are the rightful owner of apollo-io-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
Apollo-io-mcp-server is a server implementation designed to facilitate communication and data exchange using the Model Context Protocol (MCP).
Apollo.io MCP Server
An MCP (Model Context Protocol) server that enables AI assistants to interact with Apollo.io's API for people search, organization search, and data enrichment for sales outreach.
Features
- People Search: Find contacts with advanced filters (title, company, location, seniority, etc.)
- Organization Search: Search companies by various criteria (industry, size, revenue, technologies)
- People Enrichment: Get detailed information about a person using email or LinkedIn URL
- Organization Enrichment: Get comprehensive company data using domain or company name
- Job Postings: Retrieve current job openings for any organization
Prerequisites
- Node.js 18 or higher
- Apollo.io API key (get it from Apollo.io settings)
- MCP-compatible AI assistant (like Claude)
Installation
From npm (coming soon)
npm install -g apollo-io-mcp-server
From source
git clone https://github.com/mayanksingh09/apollo-io-mcp-server.git
cd apollo-io-mcp-server
npm install
npm run build
Configuration
- Copy
.env.exampleto.env:
cp .env.example .env
- Add your Apollo.io API key:
APOLLO_API_KEY=your_apollo_api_key_here
Usage
Starting the Server
# If installed globally
apollo-io-mcp-server
# If running from source
npm start
# For development
npm run dev
Using with Claude Desktop
Add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"apollo": {
"command": "apollo-io-mcp-server",
"env": {
"APOLLO_API_KEY": "your_apollo_api_key_here"
}
}
}
}
If running from source:
{
"mcpServers": {
"apollo": {
"command": "node",
"args": ["/path/to/apollo-io-mcp-server/dist/index.js"],
"env": {
"APOLLO_API_KEY": "your_apollo_api_key_here"
}
}
}
}
Available Tools
1. people_search
Search for people in Apollo's database.
Parameters:
q_keywords(optional): Keywords to search forname(optional): Person's full nameemail(optional): Email addresstitle(optional): Job titlecompany(optional): Company namelocation(optional): Location (city, state, or country)person_seniorities(optional): Array of seniority levels (e.g., ["senior", "manager", "director"])person_functions(optional): Array of job functions (e.g., ["sales", "engineering", "marketing"])page(optional): Page number (default: 1, max: 500)per_page(optional): Results per page (default: 25, max: 100)
Example:
Find senior sales people at companies in San Francisco
2. organization_search
Search for companies in Apollo's database.
Parameters:
q_keywords(optional): Keywords to search forname(optional): Company namedomains(optional): Array of company domainsindustries(optional): Array of industriesemployee_count_min(optional): Minimum number of employeesemployee_count_max(optional): Maximum number of employeesrevenue_min(optional): Minimum revenue in USDrevenue_max(optional): Maximum revenue in USDtechnologies(optional): Array of technologies usedpage(optional): Page number (default: 1, max: 500)per_page(optional): Results per page (default: 25, max: 100)
Example:
Find SaaS companies with 50-200 employees using React
3. people_enrichment
Get detailed information about a person.
Parameters (at least one required):
email(optional): Email addresslinkedin_url(optional): LinkedIn profile URLname(optional): Full name (requires organization_name or domain)organization_name(optional): Company namedomain(optional): Company domain
Example:
Get details for john.doe@example.com
4. organization_enrichment
Get comprehensive company information.
Parameters (at least one required):
domain(optional): Company domain (e.g., "example.com")name(optional): Company name
Example:
Get information about the company with domain example.com
5. job_postings
Get current job openings for a specific company.
Parameters:
organization_id(required): Apollo organization IDpage(optional): Page number (default: 1)per_page(optional): Results per page (default: 25, max: 100)
Example:
Get job postings for organization ID 5f5e2b3d1c9d440001234567
Examples
Finding Sales Prospects
Find VPs of Sales at Series B SaaS companies in the Bay Area with 100-500 employees
Enriching a Contact List
Get details for jane.smith@techcompany.com including her title, phone, and LinkedIn
Company Research
Find all companies in the healthcare industry in New York with revenue over $10M
Building Target Account Lists
Search for fintech companies that use AWS and have raised over $5M in funding
Rate Limits and Credits
- Apollo.io uses a credit-based system
- Different API calls consume different amounts of credits
- The server handles rate limiting automatically
- Monitor your credit usage in the Apollo.io dashboard
Error Handling
The server includes comprehensive error handling for:
- Invalid API credentials
- Rate limit exceeded
- Network errors
- Invalid parameters
- Resource not found
Development
# Install dependencies
npm install
# Run in development mode
npm run dev
# Build for production
npm run build
# Run tests (see test/README.md for details)
npm run test:client # Interactive MCP test
npm run test:manual # Direct API test
# Lint code
npm run lint
# Format code
npm run format
Troubleshooting
"Authentication failed" error
- Verify your API key is correct
- Check that your Apollo.io account has API access
- Ensure the API key has proper permissions
"Rate limit exceeded" error
- Wait for the rate limit to reset (check retry-after header)
- Upgrade your Apollo.io plan for higher limits
- Implement caching for frequently accessed data
No results returned
- Check your search filters aren't too restrictive
- Verify the data exists in Apollo.io
- Try broader search criteria
Security
- API keys are stored securely in environment variables
- Never commit
.envfiles to version control - Use environment-specific configurations for production
- Regularly rotate your API keys
Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
This project is licensed under the MIT License - see the file for details.
Support
- Create an issue on GitHub
- Check Apollo.io API documentation at docs.apollo.io
- MCP documentation at modelcontextprotocol.io
Acknowledgments
- Built on the Model Context Protocol SDK
- Powered by Apollo.io API