Skip to content
Elaichi Elaichi

default

Exa

Connect Exa to Elaichi and hand every teammate a governed MCP endpoint — 56 tools ready to call from Claude, Cursor, or any MCP client, clamped by roles, restrictions, and an audit log.

Exa

AI tools

Exa tools for your AI agents

56 tools are ready to mint as an MCP endpoint the moment you connect Exa — governed by the same roles, restrictions, and audit log as everything else in Elaichi.

create_a_exa_nevermined_purchase

Purchase an Exa API key with $7 of credits via Nevermined x402 card delegation. For a first-time payer, provisions a new key; for a returning payer, adds $7 of credits to the existing key. Returns: status, apiKey, expiresAt.

delete_a_exa_agent_run_by_id

Delete an exa agent run by id. Returns an empty 204 response on success. Required: id.

get_single_exa_agent_run_by_id

Retrieve an exa agent run by id. Poll this endpoint until the run reaches a terminal state. Returns: id, status (one of queued, running, completed, failed, cancelled). Required: id.

create_a_exa_agent_run

Create a new exa agent run. Returns: id, status reflecting the initial state of the newly created run.

list_all_exa_agent_runs

List all exa agent runs. Returns: id, status per run.

create_a_exa_run

Create an asynchronous Exa Agent run with a natural-language query. Returns: id, query, status, createdAt. Required: query. Optionally provide outputSchema for validated structured JSON output, input.data or input.exclusion to control row processing, or previousRunId to continue from a completed prior run.

list_all_exa_runs

List Exa Agent runs for your team, ordered newest to oldest. Returns: id, query, status, createdAt.

list_all_exa_run_events

List stored Exa agent run events for a given run, returned as a paginated JSON array. Returns event records including id, type, and data for each stored event in the run. Required: run_id.

create_a_exa_answer

Submit a question to exa's answer endpoint, which performs an Exa search and uses an LLM to generate either a direct answer (e.g. factual queries) or a detailed summary with citations (e.g. open-ended queries). Returns: answer, citations. Supports token streaming via stream and structured JSON output via outputSchema. Required: query.

create_a_exa_content

Extract clean, LLM-ready content from one or more URLs using the exa Contents API. Returns: title, url, id, text, highlights, summary, publishedDate, author, image, favicon. Required: urls.

get_single_exa_content_by_id

Get full page content, highlights, or summaries for one or more known URLs using exa. Returns: title, url, id, text, highlights, summary, publishedDate, author, image, favicon. Required: urls.

list_all_exa_contents

List extracted content results for multiple URLs via the exa Contents API. Returns: title, url, id, text, highlights, summary, publishedDate, author, image, favicon. Required: urls.

create_a_exa_context

Search exa for relevant code snippets and examples from open-source repositories, GitHub repos, docs pages, and Stack Overflow posts. Returns: requestId, query, response (formatted code snippets and contextual examples), resultsCount, costDollars, searchTime, and outputTokens. Required: query.

exa_monitors_bulk_update

Perform a batch action (delete, pause, or unpause) on Exa monitors matching the provided filters. Returns: data, has_more. Required: action. Use dry_run: true (the default) to preview which monitors would be affected before committing; repeat requests until has_more is false to process all matches.

create_a_exa_monitor

Create a new Exa monitor that runs recurring searches on a schedule and delivers results to a webhook endpoint with automatic deduplication. Returns: id, search, trigger, status, webhookSecret. Store webhookSecret securely — it is returned only once at creation time.

delete_a_exa_monitor_by_id

Delete an Exa monitor by id. This action cannot be undone. Returns an empty 204 response on success. Required: id.

get_single_exa_monitor_by_id

Get a single Exa monitor by id. Returns: id, search, trigger, status. Required: id.

list_all_exa_monitors

List all Exa monitors for the authenticated team. Returns: id, search, trigger, status. Supports filtering by status; results use cursor-based pagination.

update_a_exa_monitor_by_id

Update an existing Exa monitor by id. All body fields are optional; for search, send only the fields to change. Set trigger to null to remove the schedule. Returns: id, search, trigger, status. Required: id.

get_single_exa_monitor_run_by_id

Get a single exa monitor run by its ID, including the full output when the run has completed. Returns: id, output. Required: monitor_id, id.

list_all_exa_monitor_runs

List all runs for an exa monitor in reverse chronological order using cursor-based pagination. Returns: id, output. Required: monitor_id.

create_a_exa_research_task

Create an asynchronous exa research task that explores the web, gathers sources, synthesizes findings, and returns results with citations. Returns: researchId for polling completion status. Providing an outputSchema generates structured JSON; omitting it produces a detailed markdown report. Deprecated May 1, 2026 — migrate to /search with type "deep-reasoning".

list_all_exa_research_tasks

List exa research tasks using cursor-based pagination (max 50 per page). Returns: researchId per task. Deprecated May 1, 2026 — migrate to /search with type "deep-reasoning".

create_a_exa_search

Search the exa web index and extract content from matching pages. Returns result items including url, title, publishedDate, and content fields (text, highlights, summary) populated based on the contents parameter. Required: query.

list_all_exa_searches

List exa web search results matching a natural language query. Returns result items including url, title, publishedDate, and content fields (text, highlights, summary) populated based on the contents parameter. Required: query.

create_a_exa_api_key

Create a new exa API key for your team with an optional name and rate limit. Returns: id, name, rateLimit, teamId, createdAt.

delete_a_exa_api_key_by_id

Permanently delete an exa API key by id. Returns an empty 204 response on success. Required: id.

get_single_exa_api_key_by_id

Get a specific exa API key by id. Returns: id, name, rateLimit, teamId, createdAt. Required: id.

list_all_exa_api_keys

List all exa API keys belonging to your team. Returns: id, name, rateLimit, teamId, createdAt for each key.

update_a_exa_api_key_by_id

Update the name and/or rate limit of an existing exa API key by id. Returns: id, name, rateLimit, teamId, createdAt. Required: id.

exa_companies_search

Search exa's index of 50M+ companies using natural language queries across industry, funding stage, headcount, geography, and technology. Returns: title, url, and entities — each entity containing id, type, and structured properties including name, foundedYear, headquarters, financials, and webTraffic. Required: query.

exa_news_search

Search exa's real-time news index — spanning major publications, trade press, and niche outlets — using semantic or keyword queries with native date filtering. Returns: url, title, publishedDate, score, id. Required: query.

list_all_exa_search

Search exa for news and web content using natural language queries. Returns a list of results including url, title, score, publishedDate, and optional contents fields (text, highlights, summary). Required: query. numResults accepts 1–100 and defaults to 10.

exa_people_search

Search Exa's index of 1B+ professional profiles using a natural language query. Returns per-result: title, url, and entities containing structured person metadata such as name, location, workHistory, and educationHistory. Required: query.

create_a_exa_agent_run_cancellation

Cancel an in-progress exa agent run by its run_id. Sends a cancellation request to stop the specified run. Returns an empty 204 response on success. Required: run_id.

create_a_exa_monitor_trigger

Trigger an Exa monitor run immediately in exa, bypassing its scheduled interval. Works for monitors with `active` or `paused` status. Returns an empty 204 response on success. Required: monitor_id.

get_single_exa_api_key_usage_by_id

Get usage analytics and billing data for a specific exa API key. Returns api_key_id, usage, and costs, making it suitable for building billing dashboards, monitoring spend, and generating per-key cost-allocation reports. Required: api_key_id.

create_a_exa_webset

Create a new exa Webset that asynchronously searches, verifies, and enriches web results against specified criteria. Returns: id, status, metadata, created_at, updated_at.

list_all_exa_websets

List all exa Websets. Returns: id, status, metadata, created_at, updated_at.

get_single_exa_webset_by_id

Get a single exa Webset by id. Optionally pass expand=["items"] to include the Webset's collected items in the response. Returns: id, status, metadata, created_at, updated_at, items. Required: id.

update_a_exa_webset_by_id

Update an exa Webset by id. Returns: id, status, metadata, created_at, updated_at. Required: id.

delete_a_exa_webset_by_id

Delete an exa Webset by id. Returns the deleted Webset object including id, status, metadata, created_at, and updated_at. Required: id.

create_a_exa_webset_cancellation

Cancel an exa Webset, halting any active searches and transitioning the Webset status to 'canceled'. Returns the updated Webset object including its id, object, status, metadata, created_at, and updated_at. Required: webset_id.

create_a_exa_webset_search

Create a new search within an exa Webset. Returns: id, object, status, query, entity, criteria, progress, createdAt, updatedAt. Required: webset_id, query, count. Criteria list is capped at 5 items; if omitted, exa auto-detects criteria from the query.

get_single_exa_webset_search_by_id

Get a single exa Webset search by id. Returns: id, object, status, query, entity, criteria, progress, websetId, createdAt, updatedAt. Required: webset_id, id.

create_a_exa_webset_search_cancellation

Cancel a running exa webset search, immediately stopping its execution. Returns the updated WebsetSearch object including id, object, status (set to 'canceled'), query, entity, and criteria. Required: webset_id, search_id.

create_a_exa_webset_enrichment

Create an exa Webset enrichment, instructing an AI agent to extract or compute a specific data point for every item in the Webset. Returns: id, status, description, format, title, webset_id, options, instructions, metadata, created_at, updated_at. Required: webset_id, description.

get_single_exa_webset_enrichment_by_id

Get a single exa Webset enrichment by id. Returns: id, status, description, format, title, webset_id, options, instructions, metadata, created_at, updated_at. Required: webset_id, id.

delete_a_exa_webset_enrichment_by_id

Delete an exa Webset enrichment by id. Returns an empty 204 response on success. Required: webset_id, id.

create_a_exa_webset_enrichment_cancellation

Cancel a pending exa webset enrichment. Returns the updated enrichment object including id, status, webset_id, description, format, options, instructions, metadata, created_at, and updated_at. Required: webset_id, enrichment_id.

create_a_exa_webhook

Create a new Exa webhook to receive event notifications at a specified URL. Returns: id, url, events, createdAt. Required: url. If events is omitted, all event types are delivered by default.

list_all_exa_webhooks

List all Exa webhooks configured for your account. Returns: id, url, events, createdAt per webhook.

get_single_exa_webhook_by_id

Get a single Exa webhook by id. Returns: id, url, events, createdAt. Required: id.

update_a_exa_webhook_by_id

Update an existing Exa webhook by id. Returns: id, url, events, createdAt. Required: id.

delete_a_exa_webhook_by_id

Delete an Exa webhook by id. Returns an empty 204 response on success. Required: id.

list_all_exa_webhook_attempts

List delivery attempts for a specific exa webhook. Returns: id, eventId, eventType, webhookId, url, successful, responseStatusCode, responseBody, responseHeaders, attempt, attemptedAt, and object. Required: webhook_id.

How it works

From Exa account to governed MCP endpoint

Connect

Link a Exa account through Elaichi's hosted connect flow. Credentials are vaulted — nobody, including the AI, ever sees them.

Compose

The connection becomes a toolbox instantly. Curate which Exa tools are exposed, rename them, or freeze arguments.

Mint

Mint a personal MCP endpoint on that toolbox and paste it into Claude, Cursor, or any MCP client — governed by roles, restrictions, and audit logs.

Give every teammate a governed MCP server

Start a 14-day Gold trial — connect a product, curate a toolbox, and paste an endpoint into Claude or Cursor in minutes.