# How to integrate Exa MCP with Atomic Agent

```json
{
  "title": "How to integrate Exa MCP with Atomic Agent",
  "toolkit": "Exa",
  "toolkit_slug": "exa",
  "framework": "Atomic Agent",
  "framework_slug": "atomic-agent",
  "url": "https://composio.dev/toolkits/exa/framework/atomic-agent",
  "markdown_url": "https://composio.dev/toolkits/exa/framework/atomic-agent.md",
  "updated_at": "2026-08-28T15:34:08.178Z"
}
```

## Introduction

Atomic Agent is an open-source AI agent that runs on your machine and supports local models through llama.cpp. Connect it to 1,500+ apps through Composio, including Exa.
This guide uses Atomic Agent's built-in Composio integration. You need Atomic Agent v0.5.6 or later, your own Composio API key, and a Exa account. See the [Atomic Agent documentation](https://atomicagent.io/docs/?cta_placement=atomic-agent-docs) for installation instructions.

## Also integrate Exa with

- [OpenAI Agents SDK](https://composio.dev/toolkits/exa/framework/open-ai-agents-sdk)
- [Claude Agent SDK](https://composio.dev/toolkits/exa/framework/claude-agents-sdk)
- [Claude Code](https://composio.dev/toolkits/exa/framework/claude-code)
- [Claude Cowork](https://composio.dev/toolkits/exa/framework/claude-cowork)
- [Grok Bot](https://composio.dev/toolkits/exa/framework/grok-bot)
- [Codex](https://composio.dev/toolkits/exa/framework/codex)
- [OpenClaw](https://composio.dev/toolkits/exa/framework/openclaw)
- [Hermes](https://composio.dev/toolkits/exa/framework/hermes-agent)
- [Google ADK](https://composio.dev/toolkits/exa/framework/google-adk)
- [LangChain](https://composio.dev/toolkits/exa/framework/langchain)
- [Vercel AI SDK](https://composio.dev/toolkits/exa/framework/ai-sdk)
- [Mastra AI](https://composio.dev/toolkits/exa/framework/mastra-ai)
- [LlamaIndex](https://composio.dev/toolkits/exa/framework/llama-index)
- [CrewAI](https://composio.dev/toolkits/exa/framework/crew-ai)
- [Pydantic AI](https://composio.dev/toolkits/exa/framework/pydantic-ai)
- [AutoGen](https://composio.dev/toolkits/exa/framework/autogen)

## TL;DR

### How Atomic Agent connects to Exa
Atomic Agent connects to Composio's Tool Router over Streamable HTTP MCP. It discovers the tools needed for your request, and Composio handles account authentication.
Execution and account-connection tools follow Atomic Agent's configured approval policy. Review any approval prompt before allowing an action on your connected account.

## Connect Exa to Atomic Agent

### Connect Exa to Atomic Agent
- Sign up or sign in to the [Composio dashboard](https://dashboard.composio.dev/?cta_placement=atomic-agent-api-key). Copy your API key.
- In Atomic Agent, open the Integrations tab and select Composio. Select API key, press e, paste the key, and press Enter. The tools become available immediately, without a restart.
- Ask Atomic Agent to do something in Exa. It searches Composio for the right tool.
- On first use, open the sign-in link returned in the chat. Connect your Exa account, then return to Atomic Agent to continue.
### Headless setup
Add the following line to ~/.atomic-agent/.env, replacing YOUR_COMPOSIO_API_KEY with your key. Start Atomic Agent after saving the file.

```bash
COMPOSIO_API_KEY=YOUR_COMPOSIO_API_KEY
```

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

The Exa MCP server is an implementation of the Model Context Protocol that connects your AI agent and assistants like Claude, Cursor, etc directly to your Exa account. It provides structured and secure access to your Exa data platform, so your agent can perform actions like extracting answers from web data, running semantic searches, managing imports, and automating monitoring across your datasets.
- Citation-backed question answering: Have your agent generate direct, source-cited answers or detailed summaries for your research questions using Exa’s advanced search.
- Semantic similarity search: Quickly find web pages or documents that are semantically related to a given URL, complete with highlights or summaries for context.
- Data import and webset management: Let your agent create, configure, or delete imports and websets to streamline data gathering and enrichment workflows.
- Automated data monitoring: Schedule and manage monitors for websets to keep your data fresh and up-to-date with minimal manual intervention.
- Event tracking and retrieval: Access a full history of system events or fetch details for specific events to stay on top of activity within your Exa environment.

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `EXA_ANSWER` | Generate an answer | Generates a direct, citation-backed answer to a clear natural language question or topic using Exa's search, adept at both specific answers and detailed summaries for open-ended queries. Response contains an `answer` field (summary) and a `citations` field (supporting URLs). Citations may include low-credibility sources; verify authoritative references for factual use. |
| `EXA_CREATE_IMPORT` | Create Import | Tool to create a new import to upload data into a Webset. Use when you need to initialize an import before uploading the data file. |
| `EXA_CREATE_MONITOR` | Create a Monitor | Tool to create a new Monitor. Use when you need to schedule automated updates for a Webset without manual runs. |
| `EXA_CREATE_RESEARCH` | Create Research Task | Creates an asynchronous research task that explores the web, gathers sources, synthesizes findings, and returns results with citations. The API responds immediately with a researchId for polling completion status. Use this when you need to generate: 1. Structured JSON matching an outputSchema you provide 2. A detailed markdown report when no schema is provided After creation, poll the research task status using the researchId to retrieve the final results when completed. |
| `EXA_CREATE_WEBSET` | Create Webset | Tool to create a new Webset with search, import, and enrichment setup. Use when you need to configure and seed a Webset in one call. |
| `EXA_DELETE_IMPORT` | Delete import | Tool to delete an existing import. Use when you need to permanently remove an import by its ID. |
| `EXA_DELETE_WEBSET` | Delete webset | Tool to delete a Webset. Use after confirming the Webset ID to permanently remove the Webset and all its items. |
| `EXA_FIND_SIMILAR` | Find similar | Finds web pages semantically similar to a given URL using embeddings-based search, optionally retrieving full text, highlights, or summaries for results. |
| `EXA_GET_API_KEY` | Get API Key | Tool to retrieve details of a specific API key by its ID. Use when you need to fetch information about an API key in the team management context. |
| `EXA_GET_CONTENTS_ACTION` | Get contents from URLs or document IDs | Retrieves configurable text and highlights from a list of Exa document IDs or publicly accessible URLs. Calls may partially succeed — always inspect the per-item `statuses` array for errors like CRAWL_NOT_FOUND, CRAWL_LIVECRAWL_TIMEOUT, CRAWL_UNKNOWN_ERROR, or SOURCE_NOT_AVAILABLE. Retrieved text is nested under `results[i].text`, not a top-level field. |
| `EXA_GET_EVENT` | Get Event | Tool to get details of a specific event by its ID. Use when you have an event ID and need its full details. |
| `EXA_GET_RESEARCH` | Get Research Task | Tool to retrieve the status and results of a previously created research task. Use the unique researchId returned from POST /research/v1 to poll until the task is finished. |
| `EXA_LIST_EVENTS` | List events | Tool to list all events that have occurred in the system. Use when you need to paginate through the event history. |
| `EXA_LIST_IMPORTS` | List imports | Tool to list all imports for the Webset. Use when you need to paginate through and monitor import jobs. |
| `EXA_LIST_RESEARCH` | List research tasks | Tool to retrieve a paginated list of your research tasks. Use when you need to view or monitor research jobs with cursor-based pagination. |
| `EXA_LIST_WEBHOOKS` | List webhooks | Tool to list all webhooks for Websets. Use when you need to view existing webhooks and paginate through results. |
| `EXA_SEARCH` | Search | Performs a web search using the Exa engine, useful for queries requiring advanced filtering, specific content categories, or AI-optimized prompting. Returns snippets and metadata only — use EXA_GET_CONTENTS_ACTION on returned URLs to retrieve full page content. No pagination; issue multiple calls with varied queries or date windows for broader coverage. IMPORTANT CONSTRAINTS: - includeDomains and excludeDomains are MUTUALLY EXCLUSIVE: You can use ONE or the OTHER, but NEVER both in the same request. Providing both will cause a validation error. TYPE-SPECIFIC PARAMETER COMPATIBILITY: - type='keyword': Fast exact matching. Does NOT support useAutoprompt, includeDomains, or excludeDomains. - type='neural': AI semantic search. Supports all parameters including useAutoprompt and domain filters. - type='auto': Smart routing. Supports all parameters. |
| `EXA_UPDATE_IMPORT` | Update import | Tool to update an import configuration by ID. Use when you need to modify an import's title or metadata. |

## Supported Triggers

None listed.

## Troubleshooting

### Why is my API key rejected?

Copy the key directly from the Composio dashboard. Atomic Agent requires ASCII characters because it sends the key in an HTTP header. Remove any extra characters introduced when copying.

### Why are Composio tools unavailable after saving a key?

Check that you use Atomic Agent v0.5.6 or later and that Composio is enabled in your configuration. A "composio": { "enabled": false } setting disables the integration while keeping the saved key on disk.

### Does Composio have a free plan?

The Hobby plan includes 100,000 tool calls per month. Composio-managed OAuth apps have a lower included allowance. See [Composio pricing](/pricing) for the current limits that apply to your connection.

## Complete Code

None listed.

## Conclusion

### Use Exa from Atomic Agent
With your account connected, ask Atomic Agent to work with Exa in natural language. You can connect more apps through the same Composio integration as you need them.
Visit the [Atomic Agent website](https://atomicagent.io/?cta_placement=atomic-agent-site) or inspect the [Atomic Agent source code](https://github.com/AtomicBot-ai/atomic-agent?cta_placement=atomic-agent-repo).

## How to build Exa MCP Agent with another framework

- [OpenAI Agents SDK](https://composio.dev/toolkits/exa/framework/open-ai-agents-sdk)
- [Claude Agent SDK](https://composio.dev/toolkits/exa/framework/claude-agents-sdk)
- [Claude Code](https://composio.dev/toolkits/exa/framework/claude-code)
- [Claude Cowork](https://composio.dev/toolkits/exa/framework/claude-cowork)
- [Grok Bot](https://composio.dev/toolkits/exa/framework/grok-bot)
- [Codex](https://composio.dev/toolkits/exa/framework/codex)
- [OpenClaw](https://composio.dev/toolkits/exa/framework/openclaw)
- [Hermes](https://composio.dev/toolkits/exa/framework/hermes-agent)
- [Google ADK](https://composio.dev/toolkits/exa/framework/google-adk)
- [LangChain](https://composio.dev/toolkits/exa/framework/langchain)
- [Vercel AI SDK](https://composio.dev/toolkits/exa/framework/ai-sdk)
- [Mastra AI](https://composio.dev/toolkits/exa/framework/mastra-ai)
- [LlamaIndex](https://composio.dev/toolkits/exa/framework/llama-index)
- [CrewAI](https://composio.dev/toolkits/exa/framework/crew-ai)
- [Pydantic AI](https://composio.dev/toolkits/exa/framework/pydantic-ai)
- [AutoGen](https://composio.dev/toolkits/exa/framework/autogen)

## Related Toolkits

- [Firecrawl](https://composio.dev/toolkits/firecrawl) - Firecrawl automates large-scale web crawling and data extraction. It helps organizations efficiently gather, index, and analyze content from online sources.
- [Tavily](https://composio.dev/toolkits/tavily) - Tavily offers powerful search and data retrieval from documents, databases, and the web. It helps teams locate and filter information instantly, saving hours on research.
- [Serpapi](https://composio.dev/toolkits/serpapi) - SerpApi is a real-time API for structured search engine results. It lets you automate SERP data collection, parsing, and analysis for SEO and research.
- [Peopledatalabs](https://composio.dev/toolkits/peopledatalabs) - Peopledatalabs delivers B2B data enrichment and identity resolution APIs. Supercharge your apps with accurate, up-to-date business and contact data.
- [Snowflake](https://composio.dev/toolkits/snowflake) - Snowflake is a cloud data warehouse built for elastic scaling, secure data sharing, and fast SQL analytics across major clouds.
- [Posthog](https://composio.dev/toolkits/posthog) - PostHog is an open-source analytics platform for tracking user interactions and product metrics. It helps teams refine features, analyze funnels, and reduce churn with actionable insights.
- [Ahrefs MCP](https://composio.dev/toolkits/ahrefs_mcp) - Ahrefs MCP is Ahrefs' hosted MCP server for SEO data and insights. Use it to access backlinks, organic metrics, keyword research, and competitor analysis.
- [Akta](https://composio.dev/toolkits/akta) - Akta is a company intelligence platform providing enrichment, news, and alternative business signals. It helps teams build targeted company lists and enrich data-driven workflows.
- [Amplitude](https://composio.dev/toolkits/amplitude) - Amplitude is a digital analytics platform for product and behavioral data insights. It helps teams analyze user journeys and make data-driven decisions quickly.
- [Amplitude MCP](https://composio.dev/toolkits/amplitude_mcp) - Amplitude MCP is Amplitude's product analytics service for tracking user behavior and product metrics. Use it to centralize product data and manage charts, dashboards, cohorts, experiments, and taxonomy.
- [Audioscrape MCP](https://composio.dev/toolkits/audioscrape_mcp) - Audioscrape MCP lets agents search and retrieve speaker-attributed audio, transcripts, entities, and citations from public and workspace content. Use it to surface searchable, speaker-labeled audio and rich metadata for research, meetings, and content discovery.
- [Baremetrics](https://composio.dev/toolkits/baremetrics) - Baremetrics is a subscription analytics platform for recurring-revenue businesses. It helps teams track MRR, churn, customers, and revenue trends in one place.
- [Bing Webmaster Tools](https://composio.dev/toolkits/bing_webmaster_tools) - Bing Webmaster Tools is Microsoft's search console for site performance, crawling, indexing, URL submission, and verified site management. It helps site owners understand Bing Search visibility and fix issues that affect organic traffic.
- [Bread & Butter](https://composio.dev/toolkits/bread_butter) - Bread & Butter is a lead-intelligence and identity platform for website visitor tracking, user profiles, attribution, authentication, and conversion workflows. It helps teams understand who is visiting, where leads come from, and how users convert.
- [Bright Data MCP](https://composio.dev/toolkits/brightdata_mcp) - Bright Data MCP is an AI-powered web scraping and data collection platform. Instantly access public web data in real time with advanced scraping tools.
- [Browseai](https://composio.dev/toolkits/browseai) - Browseai is a web automation and data extraction platform that turns any website into an API. It's perfect for monitoring websites and retrieving structured data without manual scraping.
- [BSC Designer](https://composio.dev/toolkits/bsc_designer) - BSC Designer is a strategy execution platform for balanced scorecards, KPIs, dashboards, and strategy maps. It helps teams turn goals into measurable performance plans they can track over time.
- [Chameleon](https://composio.dev/toolkits/chameleon) - Chameleon is a product adoption platform for building in-app experiences, managing customer data, and analyzing user engagement. It helps teams improve onboarding, feature discovery, and product adoption with targeted user experiences.
- [Chartly](https://composio.dev/toolkits/chartly) - Chartly renders Chart.js configurations as PNG or SVG images and creates permanent chart URLs for sharing and embedding. Share and embed charts easily with stable image URLs and downloadable vector graphics.
- [ChartMogul](https://composio.dev/toolkits/chartmogul) - ChartMogul is a subscription analytics and revenue data platform. It helps teams monitor MRR, churn, customer segments, and billing metrics.

## Frequently Asked Questions

### What are the differences in Tool Router MCP and Exa MCP?

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

### Can I use Tool Router MCP with Atomic Agent?

Yes, you can. Atomic Agent 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 Exa tools.

### Can I manage the permissions and scopes for Exa while using Tool Router?

Yes, absolutely. You can configure which Exa 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.

### How safe is my data with Composio Tool Router?

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 Exa data and credentials are handled as safely as possible.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
