This project provides an MCP server that exposes the Apollo.io API functionalities as tools. It allows you to interact with the Apollo.io API using the Model Context Protocol (MCP).
The project consists of the following main components:
apollo_client.py
: Defines theApolloClient
class, which is used to interact with the Apollo.io API. It includes methods for people enrichment, organization enrichment, people search, organization search, and organization job postings.server.py
: Defines the FastMCP server, which exposes the Apollo.io API functionalities as tools. It uses theApolloClient
class defined inapollo_client.py
to interact with the API.apollo/
: Contains the data models for the Apollo.io API, such asPeopleEnrichmentQuery
,OrganizationEnrichmentQuery
,PeopleSearchQuery
,OrganizationSearchQuery
, andOrganizationJobPostingsQuery
.
The following functionalities are exposed as MCP tools:
people_enrichment
: Use the People Enrichment endpoint to enrich data for 1 person.organization_enrichment
: Use the Organization Enrichment endpoint to enrich data for 1 company.people_search
: Use the People Search endpoint to find people.organization_search
: Use the Organization Search endpoint to find organizations.organization_job_postings
: Use the Organization Job Postings endpoint to find job postings for a specific organization.
To use this MCP server, you need to:
- Set the
APOLLO_IO_API_KEY
environment variable with your Apollo.io API key. Or create '.env' file in the project root withAPOLLO_IO_API_KEY
. - Get dependencies:
uv sync
- Run the
uv run mcp run server.py
The apollo/
directory contains the data models for the Apollo.io API. These models are used to define the input and output of the MCP tools.
apollo/people.py
: Defines the data models for the People Enrichment endpoint.apollo/organization.py
: Defines the data models for the Organization Enrichment endpoint.apollo/people_search.py
: Defines the data models for the People Search endpoint.apollo/organization_search.py
: Defines the data models for the Organization Search endpoint.apollo/organization_job_postings.py
: Defines the data models for the Organization Job Postings endpoint.
To test, set APOLLO_IO_API_KEY
environment variable and run uv run apollo_client.py
.
- Configure Claude for Desktop to use these MCP servers by adding them to your
claude_desktop_config.json
file:
{
"mcpServers": {
"apollo-io-mcp-server": {
"type": "stdio",
"command": "uv",
"args": [
"run",
"mcp",
"run",
"path/to/apollo-io-mcp-server/server.py"
]
}
}
}