markov-exa-mcp-server
Version:
A Model Context Protocol server with Exa for web search, academic paper search, and Twitter/X.com search. Provides real-time web searches with configurable tool selection, allowing users to enable or disable specific search capabilities. Supports customiz
269 lines (211 loc) • 9.14 kB
Markdown
# Exa MCP Server 🔍
[](https://www.npmjs.com/package/markov-exa-mcp-server)
[](https://smithery.ai/server/exa)
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
## Remote Exa MCP 🌐
Connect directly to Exa's hosted MCP server (instead of running it locally).
### Remote Exa MCP URL
```
https://mcp.exa.ai/mcp?exaApiKey=your-exa-api-key
```
Replace `your-api-key-here` with your actual Exa API key from [dashboard.exa.ai/api-keys](https://dashboard.exa.ai/api-keys).
### Claude Desktop Configuration for Remote MCP
Add this to your Claude Desktop configuration file:
```json
{
"mcpServers": {
"exa": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.exa.ai/mcp?exaApiKey=your-exa-api-key"
]
}
}
}
```
### NPM Installation
```bash
npm install -g markov-exa-mcp-server
```
### Using Smithery
To install the Exa MCP server for Claude Desktop automatically via [Smithery](https://smithery.ai/server/exa):
```bash
npx -y @smithery/cli install exa --client claude
```
## Configuration ⚙️
### 1. Configure Claude Desktop to recognize the Exa MCP server
You can find claude_desktop_config.json inside the settings of Claude Desktop app:
Open the Claude Desktop app and enable Developer Mode
For Mac: `~/Library/Application Support/Claude/claude_desktop_config.json`
For Windows: `%APPDATA%/Claude/claude_desktop_config.json`
**From NPM**
```json
{
"mcpServers": {
"exa": {
"command": "npx",
"args": ["-y", "markov-exa-mcp-server"],
"env": {
"EXA_API_KEY": "your-api-key-here",
"OPENAI_API_KEY": "your-openai-api-key-here"
}
}
}
}
```
### 2. Get API keys
**Exa API Key (Required)**
1. Sign up at [exa.ai](https://exa.ai) if you don't have an account
2. Go to [dashboard.exa.ai/api-keys](https://dashboard.exa.ai/api-keys) to generate your API key
3. Replace `"your-api-key-here"` in the configuration with your actual API key
**OpenAI API Key (Optional - for deep research)**
1. Sign up at [platform.openai.com](https://platform.openai.com) if you don't have an account
2. Go to [platform.openai.com/api-keys](https://platform.openai.com/api-keys) to generate your API key
3. Replace `"your-openai-api-key-here"` in the configuration with your actual API key
4. Required only if you want to use the OpenAI deep research tools (`openai_deep_research`)
### 3. Enable specific tools (optional)
You can choose which search tools to enable. If not specified, all tools are enabled by default:
```json
{
"mcpServers": {
"exa": {
"command": "npx",
"args": ["-y", "markov-exa-mcp-server"],
"env": {
"EXA_API_KEY": "your-api-key-here",
"OPENAI_API_KEY": "your-openai-api-key-here",
"ENABLED_TOOLS": "web_search_exa,research_paper_search_exa,company_research_exa,contents_exa,websets_exa,openai_deep_research,openai_sparring"
}
}
}
}
```
### Available tools
**Web Search** - `web_search_exa`
- Real-time web searches across the internet
- Customizable result counts (default: 10)
- Filtering by date and domain
- Content extraction with highlights
**Research Paper Search** - `research_paper_search_exa`
- Academic paper searches from Arxiv
- Date-based filtering
- Category and author search support
- Full abstract retrieval
**Company Research** - `company_research_exa`
- Detailed company information searches
- Funding and industry data
- Leadership information
- Recent news and updates
**Web Crawling** - `crawling_exa`
- Deep content extraction from any URL
- Multi-page crawling support
- Clean markdown conversion
- JavaScript rendering support
**Competitor Finder** - `competitor_finder_exa`
- Find similar companies
- Industry competitor analysis
- Market positioning insights
**LinkedIn Search** - `linkedin_search_exa`
- Search LinkedIn profiles and posts
- Filter by person or company content
- Professional network insights
**Wikipedia Search** - `wikipedia_search_exa`
- Search and retrieve Wikipedia articles
- Educational content access
- Reference material gathering
**GitHub Search** - `github_search_exa`
- Search GitHub repositories
- Find code examples and projects
- Developer resource discovery
**Research Tasks** - `research_tasks_exa`
- Create AI-powered research tasks
- Check task status
- Retrieve comprehensive research results
**Contents Retrieval** - `contents_exa`
- Direct content extraction from URLs
- Highlights and summary generation
- Subpage crawling capabilities
- Structured output with JSON schema
- Context formatting for LLMs
**Websets** - `websets_exa`
- Create persistent data collections
- Automatic search and verification
- Custom enrichments with AI
- Real-time item updates
- Asynchronous processing
- Multiple search operations per webset
**OpenAI Deep Research** - `openai_deep_research`
- Comprehensive research using o3-deep-research or o4-mini-deep-research models
- Multi-step analysis of hundreds of sources with AI reasoning
- Built-in web search and code interpreter capabilities
- Background processing for long-running tasks (can take several minutes)
- Research-analyst level comprehensive reports with detailed analysis
- Three tools: create task, check status, get results, and save to markdown
- Automatic file saving with customizable formatting options
- Cost-effective with o4-mini-deep-research model (default)
## Usage 🚀
After configuration, restart Claude Desktop. The Exa search tools will be available in your conversations. You can ask Claude to:
- "Search the web for the latest news about AI"
- "Find recent research papers about quantum computing"
- "Look up information about Apple Inc"
- "Get content from https://example.com"
- "Find competitors of Tesla"
- "Search LinkedIn for AI researchers"
- "Find Wikipedia article about machine learning"
- "Search GitHub for React projects"
- "Create a research task about renewable energy trends"
- "Extract content from these URLs: [url1, url2, url3]"
- "Get highlights and summaries from this article"
- "Create a webset to track AI companies that raised funding"
- "Monitor tech startups with custom enrichments"
- "Conduct deep research on climate change economic impacts with data analysis"
- "Research the competitive landscape of autonomous vehicles with comprehensive analysis"
- "Create an OpenAI deep research task on quantum computing breakthroughs"
- "Save my research results to a markdown file on my desktop"
## Troubleshooting 🔧
If the tools aren't showing up in Claude:
1. Check that your API keys are correctly set in the configuration
2. Restart Claude Desktop after making configuration changes
3. Check Claude Desktop's logs for any error messages
4. Verify your Exa API key is valid at [dashboard.exa.ai](https://dashboard.exa.ai)
5. For OpenAI deep research tools, verify your OpenAI API key at [platform.openai.com](https://platform.openai.com)
6. OpenAI deep research tasks can take several minutes - use `openai_deep_research_check_status` to monitor progress
## Development 🛠️
To run the server locally for development:
```bash
# Clone the repository
git clone https://github.com/exa-labs/exa-mcp-server.git
cd exa-mcp-server
# Install dependencies
npm install
# Build the project
npm run build
# Run in development mode
npm run dev
```
## Features ✨
- **Real-time Information**: Access current web content beyond Claude's training cutoff
- **Academic Research**: Search and retrieve research papers from Arxiv
- **Company Intelligence**: Get detailed company information and competitor analysis
- **Content Extraction**: Extract clean content from any webpage
- **Professional Networks**: Search LinkedIn for people and companies
- **Reference Material**: Access Wikipedia articles for educational content
- **Code Discovery**: Search GitHub for repositories and code examples
- **AI Research**: Create and manage comprehensive research tasks
- **OpenAI Deep Research**: Research-analyst level reports using o3/o4-mini deep research models
- **Background Processing**: Long-running research tasks with status monitoring
- **Local File Saving**: Save research results to markdown files with custom formatting
- **Websets**: Build persistent data collections with automatic updates
- **Custom Enrichments**: Extract specific data points using AI
- **Asynchronous Processing**: Non-blocking operations for better performance
- **Flexible Configuration**: Enable only the tools you need
- **Rate Limiting**: Built-in rate limiting to prevent API abuse
- **Error Handling**: Graceful error handling with helpful messages
## Support 💬
For issues and questions:
- GitHub Issues: [github.com/exa-labs/exa-mcp-server/issues](https://github.com/exa-labs/exa-mcp-server/issues)
- Exa Documentation: [docs.exa.ai](https://docs.exa.ai)
## License 📄
MIT License - see LICENSE file for details