Metadata-Version: 2.4
Name: mcp-exa
Version: 0.1.1
Summary: MCP server exposing Exa websearch API
Project-URL: Homepage, https://github.com/dclavijo/mcp-exa
Project-URL: Repository, https://github.com/dclavijo/mcp-exa
Project-URL: Issues, https://github.com/dclavijo/mcp-exa/issues
Author-email: Dario Clavijo <clavijodario@gmail.com>
License: MIT
License-File: LICENSE
Requires-Python: >=3.11
Requires-Dist: exa-py
Requires-Dist: fastmcp
Provides-Extra: all
Requires-Dist: hatch; extra == 'all'
Requires-Dist: hypothesis; extra == 'all'
Requires-Dist: mypy; extra == 'all'
Requires-Dist: pip-api; extra == 'all'
Requires-Dist: pytest; extra == 'all'
Requires-Dist: pytest-asyncio; extra == 'all'
Requires-Dist: pytest-cov; extra == 'all'
Requires-Dist: pytest-mock; extra == 'all'
Requires-Dist: ruff; extra == 'all'
Provides-Extra: dev
Requires-Dist: hatch; extra == 'dev'
Requires-Dist: mypy; extra == 'dev'
Requires-Dist: pip-api; extra == 'dev'
Requires-Dist: ruff; extra == 'dev'
Provides-Extra: lint
Requires-Dist: mypy; extra == 'lint'
Requires-Dist: ruff; extra == 'lint'
Provides-Extra: test
Requires-Dist: hypothesis; extra == 'test'
Requires-Dist: pytest; extra == 'test'
Requires-Dist: pytest-asyncio; extra == 'test'
Requires-Dist: pytest-cov; extra == 'test'
Requires-Dist: pytest-mock; extra == 'test'
Description-Content-Type: text/markdown

# mcp-exa

> MCP server exposing Exa websearch API

[![PyPI](https://img.shields.io/pypi/v/mcp-exa.svg)](https://pypi.org/project/mcp-exa/)
[![Python](https://img.shields.io/pypi/pyversions/mcp-exa.svg)](https://pypi.org/project/mcp-exa/)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)

mcp-name: io.github.daedalus/mcp-exa

## Install

```bash
pip install mcp-exa
```

## Usage

### Set up your API key

```bash
export EXA_API_KEY="your-api-key"
```

### Run as MCP server

```bash
mcp-exa
```

### Available Tools

The MCP server exposes the following Exa API methods as tools:

- `search` - Perform a web search
- `find_similar` - Find pages similar to a URL
- `get_contents` - Retrieve contents for URLs
- `answer` - Generate an answer using Exa's LLM capabilities
- `stream_answer` - Stream an answer response
- `research_create` - Create a research task
- `research_get` - Get a research task by ID
- `research_poll_until_finished` - Poll until research completes
- `research_list` - List research tasks

## Development

```bash
git clone https://github.com/daedalus/mcp-exa.git
cd mcp-exa
pip install -e ".[test]"

# run tests
pytest

# format
ruff format src/ tests/

# lint
ruff check src/ tests/

# type check
mypy src/
```
