A powerful Model Context Protocol (MCP) server implementation for seamless Apollo.io API integration, enabling AI assistants to interact with Apollo.io data.
This MCP server provides a comprehensive set of tools for interacting with the Apollo.io API, allowing AI assistants to:
- Enrich data for people and organizations
- Search for people and organizations
- Find job postings for specific organizations
- Perform Apollo.io operations without leaving your AI assistant interface
- Seamless AI Integration: Connect your AI assistants directly to Apollo.io data
- Simplified API Operations: Perform common Apollo.io tasks through natural language commands
- Real-time Data Access: Get up-to-date information from Apollo.io
- Secure Authentication: Uses Apollo.io's secure API token authentication
- Extensible Design: Easily add more Apollo.io API capabilities as needed
# Clone the repository
git clone https://github.com/lkm1developer/apollo-io-mcp-server.git
cd apollo-io-mcp-server
# Install dependencies
npm install
# Build the project
npm run build
The server requires an Apollo.io API access token. You can obtain one by:
- Going to your Apollo.io Account
- Navigating to Settings > API
- Generating an API key
You can provide the token in two ways:
-
As an environment variable:
APOLLO_IO_API_KEY=your-api-key
-
As a command-line argument:
npm start -- --api-key=your-api-key
For development, create a .env
file in the project root to store your environment variables:
APOLLO_IO_API_KEY=your-api-key
# Start the server
npm start
# Or with a specific API key
npm start -- --api-key=your-api-key
# Run the SSE server with authentication
npx mcp-proxy-auth node dist/index.js
The SSE server uses the mcp-proxy-auth package for authentication. To implement authentication:
-
Install the package:
npm install mcp-proxy-auth
-
Set the
AUTH_SERVER_URL
environment variable to point to your API key verification endpoint:export AUTH_SERVER_URL=https://your-auth-server.com/verify
-
Run the SSE server with authentication:
npx mcp-proxy-auth node dist/index.js
-
The SSE URL will be available at:
localhost:8080/sse?apiKey=apikey
Replace
apikey
with your actual API key for authentication.
The mcp-proxy-auth
package acts as a proxy that:
- Intercepts requests to your SSE server
- Verifies API keys against your authentication server
- Only allows authenticated requests to reach your SSE endpoint
This MCP server is designed to work with AI assistants that support the Model Context Protocol. Once running, the server exposes a set of tools that can be used by compatible AI assistants to interact with Apollo.io data.
The server exposes the following powerful Apollo.io integration tools:
-
people_enrichment
- Use the People Enrichment endpoint to enrich data for 1 person
- Parameters:
first_name
(string, optional): Person's first namelast_name
(string, optional): Person's last nameemail
(string, optional): Person's email addressdomain
(string, optional): Company domainorganization_name
(string, optional): Organization name
- Example:
{ "first_name": "John", "last_name": "Doe", "email": "john.doe@example.com" }
-
organization_enrichment
- Use the Organization Enrichment endpoint to enrich data for 1 company
- Parameters:
domain
(string, optional): Company domainname
(string, optional): Company name
- Example:
{ "domain": "apollo.io" }
-
people_search
- Use the People Search endpoint to find people
- Parameters:
q_organization_domains_list
(array, optional): List of organization domains to search withinperson_titles
(array, optional): List of job titles to search forperson_seniorities
(array, optional): List of seniority levels to search for
- Example:
{ "person_titles": ["Marketing Manager"], "person_seniorities": ["vp"], "q_organization_domains_list": ["apollo.io"] }
-
organization_search
- Use the Organization Search endpoint to find organizations
- Parameters:
q_organization_domains_list
(array, optional): List of organization domains to search fororganization_locations
(array, optional): List of organization locations to search for
- Example:
{ "organization_locations": ["Japan", "Ireland"] }
-
organization_job_postings
- Use the Organization Job Postings endpoint to find job postings for a specific organization
- Parameters:
organization_id
(string, required): Apollo.io organization ID
- Example:
{ "organization_id": "5e60b6381c85b4008c83" }
The server is designed to be easily extensible. To add new Apollo.io API capabilities:
- Add new methods to the
ApolloClient
class insrc/apollo-client.ts
- Register new tools in the
setupToolHandlers
method insrc/index.ts
- Rebuild the project with
npm run build
This project is licensed under the MIT License - see the LICENSE file for details.
Apollo.io, Model Context Protocol, MCP, AI Assistant, TypeScript, API Integration, Apollo.io API, People Enrichment, Organization Enrichment, People Search, Organization Search, Job Postings, AI Tools