How to integrate Apollo MCP with Claude Code

Connect Claude Code to Apollo MCP. Bulk enrich profiles for new leads, add contacts to outreach sequence now, and more using natural language, with authentication handled for you.

Apollo logoApollo
Api Key

Apollo is a CRM and lead generation platform that helps businesses discover contacts and manage sales pipelines. Use it to streamline customer outreach and track your deals from one place.

67 Tools

Introduction

Manage your Apollo directly from Claude Code with zero worries about OAuth hassles, API-breaking issues, or reliability and security concerns.

You can do this in two different ways:

  1. Via Composio Connect - Direct and easiest approach
  2. Via Composio SDK - Programmatic approach with more control

Also integrate Apollo with

Why use Composio?

  • Only one MCP URL to connect multiple apps with Claude Code with zero auth hassles.
  • Programmatic tool calling allows LLMs to write its code in a remote workbench to handle complex tool chaining. Reduces to-and-fro with LLMs for frequent tool calling.
  • Handling Large tool responses out of LLM context to minimize context rot.
  • Dynamic just-in-time access to 20,000 tools across 1500+ other Apps for cross-app workflows. It loads the tools you need, so LLMs aren't overwhelmed by tools you don't need.

Connecting Apollo to Claude Code using Composio

1. Add the Composio MCP to Claude

Terminal

2. Start Claude Code

bash
claude

3. Open your MCP list

bash
/mcp

4. Select Composio and click on Authenticate

Select Composio and click Authenticate

5. This will redirect you to the Composio OAuth page. Complete the flow by authorizing Composio and you're all set.

Composio OAuth authorization page
Composio authorization complete
Ask Claude to connect to your account and authenticate via the link

What is the Apollo MCP server, and what's possible with it?

The Apollo MCP server is an implementation of the Model Context Protocol that connects your AI agent and assistants like Claude, Cursor, etc directly to your Apollo account. It provides structured and secure access to your contacts, organizations, outreach, pipeline, conversations, and analytics, so your agent can find prospects, enrich records, manage sequence participation, update sales stages, and review performance on your behalf.

  • Prospect search and enrichment: Have your agent search for people and enrich person or organization records with data from Apollo.
  • Sequence and outreach management: Let the agent find sequences, add contacts to them, update contact participation status, and review sent outreach emails and engagement activity.
  • Contact and account updates: Direct your agent to update contact stages, account stages, and ownership assignments across your sales records.
  • Pipeline, task, and conversation research: Instruct your agent to retrieve deal details, search sales tasks, and review recorded conversations with transcripts, participants, and related opportunities.
  • Sales insights and company signals: Have your agent query analytics reports, check credit usage, find company news, and review organization job postings.

Connecting Apollo via Composio SDK

Composio SDK is the underlying technology that powers these integrations. It provides a universal gateway with full programmatic control. You can programmatically generate an MCP URL with the app you need (here Apollo) for even more tool search precision. It's secure and reliable.

How the Composio SDK works

The Composio SDK follows a three-phase workflow:

  1. Discovery: Searches for tools matching your task and returns relevant toolkits with their details.
  2. Authentication: Checks for active connections. If missing, creates an auth config and returns a connection URL via Auth Link.
  3. Execution: Executes the action using the authenticated connection.

Step-by-step Guide

Step by step10 STEPS
1

Prerequisites

Before starting, make sure you have:
  • Claude Pro, Max, or API billing enabled Anthropic account
  • Composio API Key
  • A Apollo account
  • Basic knowledge of Python or TypeScript
2

Install Claude Code

bash
# macOS, Linux, WSL
curl -fsSL https://claude.ai/install.sh | bash

# Windows PowerShell
irm https://claude.ai/install.ps1 | iex

# Windows CMD
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

To install Claude Code, use one of the following methods based on your operating system:

3

Set up Claude Code

bash
cd your-project-folder
claude

Open a terminal, go to your project folder, and start Claude Code:

  • Claude Code will open in your terminal
  • Follow the prompts to sign in with your Anthropic account
  • Complete the authentication flow
  • Once authenticated, you can start using Claude Code
Claude Code initial setup showing sign-in prompt
Claude Code terminal after successful login
4

Set up environment variables

bash
COMPOSIO_API_KEY=your_composio_api_key_here
USER_ID=your_user_id_here

Create a .env file in your project root with the following variables:

  • COMPOSIO_API_KEY authenticates with Composio (get it from Composio dashboard)
  • USER_ID identifies the user for session management (use any unique identifier)
5

Install Composio library

npm install @composio/core dotenv

Install the Composio TypeScript library to create MCP sessions.

  • @composio/core provides the core Composio functionality
  • dotenv loads environment variables from your .env file
6

Generate Composio MCP URL

import 'dotenv/config';
import { Composio } from '@composio/core';

const { COMPOSIO_API_KEY, USER_ID } = process.env;

if (!COMPOSIO_API_KEY || !USER_ID) {
  throw new Error('COMPOSIO_API_KEY and USER_ID required in .env');
}

const composioClient = new Composio({ apiKey: COMPOSIO_API_KEY });

const composioSession = await composioClient.create(USER_ID, {
  toolkits: ['apollo'],
});

const composioMcpUrl = composioSession?.mcp.url;

console.log(`MCP URL: ${composioMcpUrl}`);
console.log(`\nUse this command to add to Claude Code:`);
console.log(`claude mcp add --transport http apollo-composio "${composioMcpUrl}" --headers "X-API-Key:${COMPOSIO_API_KEY}"`);

Create a script to generate a Composio MCP URL for Apollo. This URL will be used to connect Claude Code to Apollo.

What's happening

  • We import the Composio client and load environment variables
  • Create a Composio instance with your API key
  • Call create() to create a Tool Router session for Apollo
  • The returned mcp.url is the MCP server URL that Claude Code will use
  • The script prints this URL so you can copy it
7

Run the script and copy the MCP URL

node --loader ts-node/esm generate_mcp_url.ts
# or if using tsx
tsx generate_mcp_url.ts

Run your TypeScript script to generate the MCP URL.

  • The script connects to Composio and creates a Tool Router session
  • It prints the MCP URL and the exact command you need to run
  • Copy the entire claude mcp add command from the output
8

Add Apollo MCP to Claude Code

bash
claude mcp add --transport http apollo-composio "YOUR_MCP_URL_HERE" --headers "X-API-Key:YOUR_COMPOSIO_API_KEY"

# Then restart Claude Code
exit
claude

In your terminal, add the MCP server using the command from the previous step. The command format is:

  • claude mcp add registers a new MCP server with Claude Code
  • --transport http specifies that this is an HTTP-based MCP server
  • The server name (apollo-composio) is how you'll reference it
  • The URL points to your Composio Tool Router session
  • --headers includes your Composio API key for authentication

After running the command, close the current Claude Code session and start a new one for the changes to take effect.

9

Verify the installation

bash
claude mcp list

Check that your Apollo MCP server is properly configured.

  • This command lists all MCP servers registered with Claude Code
  • You should see your apollo-composio entry in the list
  • This confirms that Claude Code can now access Apollo tools

If everything is wired up, you should see your apollo-composio entry listed:

Claude Code MCP list showing the toolkit MCP server
10

Authenticate Apollo

The first time you try to use Apollo tools, you'll be prompted to authenticate.

  • Claude Code will detect that you need to authenticate with Apollo
  • It will show you an authentication link
  • Open the link in your browser (or copy/paste it)
  • Complete the Apollo authorization flow
  • Return to the terminal and start using Apollo through Claude Code

Once authenticated, you can ask Claude Code to perform Apollo operations in natural language. For example:

  • "Bulk enrich profiles for new leads"
  • "Add contacts to outreach sequence now"
  • "Create a new sales deal for Acme"

Complete Code

Here's the complete code to get you started with Apollo and Claude Code:

import 'dotenv/config';
import { Composio } from '@composio/core';

const { COMPOSIO_API_KEY, USER_ID } = process.env;

if (!COMPOSIO_API_KEY || !USER_ID) {
  throw new Error('COMPOSIO_API_KEY and USER_ID required in .env');
}

const composioClient = new Composio({ apiKey: COMPOSIO_API_KEY });

const composioSession = await composioClient.create(USER_ID, {
  toolkits: ['apollo'],
});

const composioMcpUrl = composioSession?.mcp.url;

console.log(`MCP URL: ${composioMcpUrl}`);
console.log(`\nUse this command to add to Claude Code:`);
console.log(`claude mcp add --transport http apollo-composio "${composioMcpUrl}" --headers "X-API-Key:${COMPOSIO_API_KEY}"`);

Conclusion

You've successfully integrated Apollo with Claude Code using Composio's MCP server. Now you can interact with Apollo directly from your terminal using natural language commands.

Key features of this setup:

  • Terminal-native experience without switching contexts
  • Natural language commands for Apollo operations
  • Secure authentication through Composio's managed MCP
  • Tool Router for dynamic tool discovery and execution

Next steps:

  • Try asking Claude Code to perform various Apollo operations
  • Add more toolkits to your Tool Router session for multi-app workflows
  • Integrate this setup into your development workflow for increased productivity

You can extend this by adding more toolkits, implementing custom workflows, or building automation scripts that leverage Claude Code's capabilities.

TOOLS

Supported Tools

Every Apollo action and event your agent gets out of the box.

Activate Sequence

Activate an inactive Apollo sequence and begin its scheduled outreach.

Add Contacts to Sequence

Adds contacts to a specified Apollo email sequence and returns the contact details.

Archive Sequence

Archive an Apollo sequence, making it inactive and finishing all enrolled contacts.

Bulk organization enrichment

Enriches data for up to 10 organizations simultaneously by providing a list of their base company domains (e.

Bulk people enrichment

Use to enrich multiple person profiles simultaneously with comprehensive data from Apollo's database.

Bulk update account stage

Bulk updates the stage for specified existing Apollo.

Complete Apollo Task

Permanently mark an Apollo task as completed and return its resulting state.

Create an Apollo account

Creates a new account in Apollo.

Bulk create Apollo accounts

Creates multiple accounts in Apollo.

Bulk create Apollo contacts

Tool to bulk create multiple contacts in Apollo with a single API call.

Create call record in Apollo

Tool to log call records in Apollo from external systems.

Create Apollo contact

Creates a new contact in Apollo.

Create custom field

Creates a new custom field in Apollo.

Create Apollo deal

Creates a new sales opportunity (deal) in Apollo.

Create Email Draft

Create an unsent Apollo outreach draft, or return the existing draft already linked to outreach_task_id.

Create Apollo Sequence

Create an Apollo outreach sequence, optionally including steps and email variants.

Create Apollo Task

Tool to create a single task in Apollo.

Deactivate Sequence

Deactivate an active Apollo sequence.

Export Conversations

Start an asynchronous gzipped JSON conversation export and email a team member when it is ready.

Get Account by ID

Tool to retrieve detailed information about a specific account by its Apollo ID.

Check Apollo API key status

Tool to check whether the provided Apollo API key is valid and accepted by Apollo (health/auth check).

Get Apollo Contact

Retrieves detailed information about a specific contact by its ID.

Get Conversation

Retrieve full Apollo conversation details, including transcript, participants, recordings, and opportunities.

Get Conversation Export

Retrieve the download redirect URL for a previously started Apollo conversation export.

Get Apollo deal

Retrieves information about a specific deal by its ID.

Get Email Activities

Retrieves content, open and click activity, and recipient details for one Apollo sequence email.

Get Email Content

Retrieve content for up to 10 sent team outreach emails.

Get Labels

Retrieves all labels from Apollo.

Get opportunity stages

Retrieves all configured opportunity (deal) stages from the Apollo.

Get Organization by ID

Retrieves complete information about a specific organization by its Apollo ID.

Get Organization Job Postings

Retrieves paginated job postings for a specified organization by its ID, optionally filtering by domain; ensure `organization_id` is a valid identifier.

Get Apollo Task

Retrieves the full details of one Apollo task by ID, including associated records and type-specific data when present.

Get typed custom fields

Retrieves all typed custom field definitions available in the Apollo.

List Apollo account stages

Retrieves the IDs for all available account stages in your team's Apollo account.

List apollo contact stages

Retrieves all available contact stages from an Apollo account, including their unique IDs and names.

List Apollo deals

Retrieves a list of deals from Apollo, using Apollo's default sort order if 'sort_by_field' is omitted.

List email accounts

Retrieves all email accounts and their details for the authenticated user; takes no parameters.

List Fields

Retrieves all field definitions from Apollo.

List Apollo Notes

List notes associated with Apollo records.

List Apollo Users

Retrieves a list of all users (teammates) associated with the Apollo account, supporting pagination via `page` and `per_page` parameters.

Enrich organization data

Fetches comprehensive organization enrichment data from Apollo.

Search organizations in Apollo

Searches Apollo's database for organizations using various filters; consumes credits on every call (unavailable on free plans) — avoid re-running identical queries and surface quota errors rather than retrying.

Enrich person with Apollo

Enriches and retrieves information for a person from Apollo.

Apollo people search

Searches Apollo's contact database for people using various filters; results capped at 50,000 records and does not enrich contact data.

Query Analytics Report

Query Apollo analytics metrics, dimensions, filters, and date ranges.

Search Apollo Accounts

Searches for accounts within your existing Apollo.

Search for Calls

Searches for call records in Apollo.

Search Apollo contacts

Searches Apollo contacts using keywords, stage IDs (from 'List Contact Stages' action), or sorting (max 50,000 records; `sort_ascending` requires `sort_by_field`).

Search Apollo Conversations

Search Apollo video meetings and dialer calls using record, participant, date, scorecard, sorting, and visibility filters.

Search news articles

Tool to search for news articles about companies in Apollo's database.

Search outreach emails

Tool to search for outreach emails sent through Apollo sequences.

Search sequences

Searches for sequences (e.

Search tasks

Searches for tasks in Apollo.

Send Email Now

Queue an Apollo email for external sending; success means queued, not delivered.

Update an Apollo account

Updates specified attributes of an existing account in Apollo.

Update account ownership

Updates the ownership of multiple Apollo accounts to a specified user.

Update Apollo call record

Tool to update an existing call record in Apollo.

Update Apollo contact details

Tool to update an existing contact's information in Apollo.

Update contact ownership

Updates the ownership of specified Apollo contacts to a given Apollo user, who must be part of the same team.

Bulk update Apollo contacts

Tool to bulk update multiple Apollo contacts with a single API call.

Update contact stage

Updates the stage for one or more existing contacts in Apollo.

Update contact status in sequence

Updates a contact's status within a designated Apollo sequence, but cannot set the status to 'active'.

Update Apollo deal

Updates specified fields of an existing Apollo.

Update Sequence

Update an Apollo sequence's settings, ownership, sharing, steps, and touches.

Update Apollo Task

Update editable details of an existing Apollo task.

View API Usage Stats

Fetches Apollo API usage statistics and rate limits for the connected team.

View Credit Usage Stats

Read team balances by credit type for Apollo's current billing cycle.

FAQ

Frequently asked questions

With a standalone Apollo MCP server, the agents and LLMs can only access a fixed set of Apollo tools tied to that server. However, with the Composio Tool Router, agents can dynamically load tools from Apollo and many other apps based on the task at hand, all through a single MCP endpoint.

Yes, you can. Claude Code fully supports MCP integration. You get structured tool calling, message history handling, and model orchestration while Tool Router takes care of discovering and serving the right Apollo tools.

Yes, absolutely. You can configure which Apollo scopes and actions are allowed when connecting your account to Composio. You can also bring your own OAuth credentials or API configuration so you keep full control over what the agent can do.

All sensitive data such as tokens, keys, and configuration is fully encrypted at rest and in transit. Composio is SOC 2 Type 2 compliant and follows strict security practices so your Apollo data and credentials are handled as safely as possible.

Start with Apollo.It takes 30 seconds.

Managed auth, hosted MCP servers, and every Apollo tool your agent needs.Free to start.

Start building