Exa.ai integration for the LLM command-line tool.
This plugin gives LLMs the ability to search the web, crawl pages, and find similar content using the Exa API.
Install this plugin using llm:
llm install llm-tool-exaTo verify the installation, run:
llm plugins
# You should see 'llm-tool-exa' or 'exa.ai api tools' in the listFor development (local install):
llm install -e .You need an Exa API key. Get one here.
Configure it using llm keys:
llm keys set exa
# Enter your key when promptedOr set the EXA_API_KEY environment variable.
This plugin registers the Exa toolbox. By default, the following tools are enabled:
- search_web: Search the web using Exa's neural or keyword search. Supports filtering by domain, date, category (news, company, paper, etc.), and more.
- get_contents: Retrieve the full text content of specific URLs (web scraping).
The code supports these additional tools, which may be enabled depending on configuration:
- find_similar: Find websites similar to a given URL.
- answer: Get a direct AI answer with citations.
- research: Conduct a "Deep Research" task (long-running background research).
Once installed, you can use these tools with models that support function calling (e.g., GPT-5, Claude 3.5 Sonnet).
llm chat -T Exa -m gpt-5 -s "You have access to Exa web search tools.
> Find the latest release notes for the 'uv' python package and summarize the key features."The model will use search_web to find the page and get_contents to read the details.
This project recommends uv for dependency management.
-
Setup Environment:
# creates .venv if needed, install dependencies there, and the package in editable mode uv sync -
Run locally in uv-native style within the managed environment:
uv run llm --help uv run llm plugins uv run pytest # run tests within the .env -
OR manually activate venv shell instead of uv run
source .venv/bin/activateThen use python, pip, llm etc. directly.