# ExaApi import StarterToolInfo from "@/app/_components/starter-tool-info"; import ToolInfo from "@/app/_components/tool-info"; import Badges from "@/app/_components/badges"; import TabbedCodeBlock from "@/app/_components/tabbed-code-block"; import TableOfContents from "@/app/_components/table-of-contents"; import ToolFooter from "@/app/_components/tool-footer"; import { Callout } from "nextra/components"; The ExaApi MCP Server offers a comprehensive suite of tools for conducting searches, managing websets, and handling research requests. ## Available Tools If you need to perform an action that's not listed here, you can [get in touch with us](mailto:contact@arcade.dev) to request a new tool, or [create your own tools](/guides/create-tools/tool-basics/build-mcp-server). ## ExaApi.PerformExaSearch
Conduct a search using Exa and retrieve relevant results. **Parameters** - **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation - **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' **Secrets** This tool requires the following secrets: `EXA_API_KEY` (learn how to [configure secrets](/guides/create-tools/tool-basics/create-tool-secrets)) ## ExaApi.FindSimilarLinks
Find similar links to a given link. **Parameters** - **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation - **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' **Secrets** This tool requires the following secrets: `EXA_API_KEY` (learn how to [configure secrets](/guides/create-tools/tool-basics/create-tool-secrets)) ## ExaApi.GetContentDetails
Retrieve details about specific content. **Parameters** - **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation - **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' **Secrets** This tool requires the following secrets: `EXA_API_KEY` (learn how to [configure secrets](/guides/create-tools/tool-basics/create-tool-secrets)) ## ExaApi.GenerateAnswerSummary
Retrieve direct answers or detailed summaries with citations. **Parameters** - **search_query** (`string`, required) The question or query to be answered or summarized. - **enable_streaming_response** (`boolean`, optional) Return the response as a server-sent events (SSE) stream if set to true. - **include_full_text** (`boolean`, optional) If true, the response includes full text content in the search results. **Secrets** This tool requires the following secrets: `EXA_API_KEY` (learn how to [configure secrets](/guides/create-tools/tool-basics/create-tool-secrets)) ## ExaApi.ListResearchRequests
Retrieve a paginated list of research requests. **Parameters** - **pagination_cursor** (`string`, optional) A string representing the position in the paginated results to continue retrieving data from. - **results_limit** (`number`, optional) Specifies the number of research requests to return in the response. Helps manage pagination effectively. **Secrets** This tool requires the following secrets: `EXA_API_KEY` (learn how to [configure secrets](/guides/create-tools/tool-basics/create-tool-secrets)) ## ExaApi.CreateResearchRequest
Create a new research request. **Parameters** - **research_request_details** (`json`, required) JSON object containing details of the research request including parameters and criteria. **Secrets** This tool requires the following secrets: `EXA_API_KEY` (learn how to [configure secrets](/guides/create-tools/tool-basics/create-tool-secrets)) ## ExaApi.GetResearchById
Retrieve research information using a specific ID. **Parameters** - **enable_streaming** (`string`, required) Set to 'true' to receive real-time streaming updates of the research information. - **event_filter** (`string`, required) Specify the events to filter for in the research retrieval. Accepts a comma-separated list of event types. - **research_id** (`string`, required) A string representing the unique identifier of the research to be retrieved. **Secrets** This tool requires the following secrets: `EXA_API_KEY` (learn how to [configure secrets](/guides/create-tools/tool-basics/create-tool-secrets)) ## ExaApi.CreateWebset
Create a new Webset with optional configurations. **Parameters** - **webset_configuration** (`json`, required) A JSON object detailing optional search, import, and enrichment configurations for the Webset. Include any necessary identifiers like `externalId`. **Secrets** This tool requires the following secrets: `EXA_API_KEY` (learn how to [configure secrets](/guides/create-tools/tool-basics/create-tool-secrets)) ## ExaApi.ListWebsets
Retrieve a list of available websets. **Parameters** - **pagination_cursor** (`string`, optional) A string used to paginate through the list of Websets. - **websets_return_limit** (`number`, optional) Specify the maximum number of Websets to return in the response. **Secrets** This tool requires the following secrets: `EXA_API_KEY` (learn how to [configure secrets](/guides/create-tools/tool-basics/create-tool-secrets)) ## ExaApi.GetWebsetDetails
Retrieve detailed information about a specific webset. **Parameters** - **webset_identifier** (`string`, required) The unique identifier or external ID for the Webset to retrieve. - **resources_to_expand** (`array[string]`, optional) A list of resources to include in the response for additional details. **Secrets** This tool requires the following secrets: `EXA_API_KEY` (learn how to [configure secrets](/guides/create-tools/tool-basics/create-tool-secrets)) ## ExaApi.UpdateWebset
Update details of an existing webset. **Parameters** - **webset_details** (`json`, required) A JSON object containing the details to update for the webset. This includes any attributes that need to be changed. - **webset_id** (`string`, required) The unique id or externalId of the Webset to be updated. Ensure it matches a valid Webset. **Secrets** This tool requires the following secrets: `EXA_API_KEY` (learn how to [configure secrets](/guides/create-tools/tool-basics/create-tool-secrets)) ## ExaApi.DeleteWebset
Deletes a Webset and its associated items. **Parameters** - **webset_identifier** (`string`, required) The unique identifier or external ID of the Webset to delete. **Secrets** This tool requires the following secrets: `EXA_API_KEY` (learn how to [configure secrets](/guides/create-tools/tool-basics/create-tool-secrets)) ## ExaApi.CancelWebsetOperations
Cancel all operations on a specified Webset. **Parameters** - **webset_identifier** (`string`, required) The ID or external ID of the Webset to cancel operations on. **Secrets** This tool requires the following secrets: `EXA_API_KEY` (learn how to [configure secrets](/guides/create-tools/tool-basics/create-tool-secrets)) ## ExaApi.PreviewSearchDecomposition
Preview and analyze search query decomposition. **Parameters** - **search_query_details** (`json`, required) A JSON object detailing the search query to preview. It includes elements like the search string and any additional parameters for analysis. **Secrets** This tool requires the following secrets: `EXA_API_KEY` (learn how to [configure secrets](/guides/create-tools/tool-basics/create-tool-secrets)) ## ExaApi.GetWebsetItem
Retrieve a specific Webset Item by ID. **Parameters** - **webset_identifier** (`string`, required) The ID or external ID of the Webset to identify the desired Webset from which the item is to be retrieved. - **webset_item_id** (`string`, required) The unique identifier of the Webset item to retrieve. **Secrets** This tool requires the following secrets: `EXA_API_KEY` (learn how to [configure secrets](/guides/create-tools/tool-basics/create-tool-secrets)) ## ExaApi.DeleteWebsetItem
Delete an item from a webset and cancel its enrichment process. **Parameters** - **webset_identifier** (`string`, required) The ID or external ID of the Webset from which the item will be deleted. - **webset_item_id** (`string`, required) The unique identifier of the item to be deleted from the webset. **Secrets** This tool requires the following secrets: `EXA_API_KEY` (learn how to [configure secrets](/guides/create-tools/tool-basics/create-tool-secrets)) ## ExaApi.ListWebsetItems
Retrieve a list of items from a specific webset. **Parameters** - **webset_identifier** (`string`, required) The ID or external ID of the Webset to retrieve items from. - **pagination_cursor** (`string`, optional) A string used to paginate through the results. Pass this to retrieve the next set of items in the webset. - **result_limit** (`number`, optional) Specify the number of results to return. This controls the size of the page in a paginated response. - **source_id** (`string`, optional) The unique identifier for the source from which to retrieve items. **Secrets** This tool requires the following secrets: `EXA_API_KEY` (learn how to [configure secrets](/guides/create-tools/tool-basics/create-tool-secrets)) ## ExaApi.CreateWebsetEnrichment
Create an enrichment for a specified webset. **Parameters** - **enrichment_details** (`json`, required) A JSON object containing the details required to create the enrichment for the webset. - **webset_identifier** (`string`, required) The ID or external ID of the webset to enrich. **Secrets** This tool requires the following secrets: `EXA_API_KEY` (learn how to [configure secrets](/guides/create-tools/tool-basics/create-tool-secrets)) ## ExaApi.UpdateWebsetEnrichment
Update an enrichment configuration for a webset. **Parameters** - **enrichment_configuration_details** (`json`, required) A JSON object containing the details of the enrichment configuration to update. - **enrichment_configuration_id** (`string`, required) The unique identifier of the enrichment configuration to be updated. - **webset_identifier** (`string`, required) The identifier of the webset to be updated. Provide the specific name or ID of the webset. **Secrets** This tool requires the following secrets: `EXA_API_KEY` (learn how to [configure secrets](/guides/create-tools/tool-basics/create-tool-secrets)) ## ExaApi.GetEnrichmentDetails
Retrieve detailed information about a specific enrichment. **Parameters** - **enrichment_id** (`string`, required) The unique identifier for the specific enrichment you want to retrieve within the webset. - **webset_identifier** (`string`, required) The ID or external ID of the webset to retrieve enrichment details for. **Secrets** This tool requires the following secrets: `EXA_API_KEY` (learn how to [configure secrets](/guides/create-tools/tool-basics/create-tool-secrets)) ## ExaApi.DeleteEnrichment
Delete an enrichment and cancel running processes. **Parameters** - **enrichment_id** (`string`, required) The unique identifier of the enrichment to be deleted. - **webset_id** (`string`, required) The ID or external ID of the Webset to identify which enrichment to delete. **Secrets** This tool requires the following secrets: `EXA_API_KEY` (learn how to [configure secrets](/guides/create-tools/tool-basics/create-tool-secrets)) ## ExaApi.CancelEnrichmentProcess
Cancel a running enrichment process. **Parameters** - **enrichment_id** (`string`, required) The unique identifier of the enrichment process to be canceled. - **webset_id** (`string`, required) The ID or external ID of the Webset to identify which enrichment process to cancel. **Secrets** This tool requires the following secrets: `EXA_API_KEY` (learn how to [configure secrets](/guides/create-tools/tool-basics/create-tool-secrets)) ## ExaApi.CreateWebhookForNotifications
Create webhooks to receive event notifications. **Parameters** - **webhook_configuration** (`json`, required) A JSON object detailing the events to monitor and the destination URL for notifications. **Secrets** This tool requires the following secrets: `EXA_API_KEY` (learn how to [configure secrets](/guides/create-tools/tool-basics/create-tool-secrets)) ## ExaApi.GetWebhooksList
Retrieve a paginated list of all webhooks in your account. **Parameters** - **pagination_cursor** (`string`, optional) The cursor used to navigate through pages of results for webhooks. - **results_per_page** (`number`, optional) The number of webhooks to return per page, up to a maximum of 200. **Secrets** This tool requires the following secrets: `EXA_API_KEY` (learn how to [configure secrets](/guides/create-tools/tool-basics/create-tool-secrets)) ## ExaApi.GetWebhookInfo
Retrieve details of a webhook using its ID. **Parameters** - **webhook_id** (`string`, required) The unique identifier for the webhook you want details about. **Secrets** This tool requires the following secrets: `EXA_API_KEY` (learn how to [configure secrets](/guides/create-tools/tool-basics/create-tool-secrets)) ## ExaApi.UpdateWebhookSettings
Update a webhook's settings for events, URL, and metadata. **Parameters** - **webhook_id** (`string`, required) The unique identifier of the webhook to be updated. - **webhook_update_request_body** (`json`, required) JSON object containing webhook updates, such as events list, new URL, and metadata. **Secrets** This tool requires the following secrets: `EXA_API_KEY` (learn how to [configure secrets](/guides/create-tools/tool-basics/create-tool-secrets)) ## ExaApi.RemoveWebhook
Remove a webhook from your account. **Parameters** - **webhook_id** (`string`, required) The unique identifier of the webhook to remove. This is necessary for specifying which webhook to delete. **Secrets** This tool requires the following secrets: `EXA_API_KEY` (learn how to [configure secrets](/guides/create-tools/tool-basics/create-tool-secrets)) ## ExaApi.ListWebhookAttempts
Retrieve and list all webhook attempt records. **Parameters** - **webhook_id** (`string`, required) The unique identifier for the webhook to retrieve attempt records for. - **event_type_filter** (`string`, optional) Filter webhook attempts by specifying the type of event, such as 'webset.created' or 'monitor.run.completed'. - **filter_by_successful_attempts** (`boolean`, optional) Use 'true' to filter for successful webhook attempts and 'false' for unsuccessful ones. - **pagination_cursor** (`string`, optional) A string used to paginate through the webhook attempt results. - **results_limit** (`number`, optional) Specify the maximum number of webhook attempt records to return. **Secrets** This tool requires the following secrets: `EXA_API_KEY` (learn how to [configure secrets](/guides/create-tools/tool-basics/create-tool-secrets)) ## ExaApi.ListSystemEvents
Retrieve a list of all system events. **Parameters** - **created_after** (`string`, optional) Filter events created after or at this timestamp. Use a valid ISO 8601 datetime string in UTC. - **event_types_filter** (`array[string]`, optional) Filter events by specifying an array of event type names. - **filter_created_before** (`string`, optional) Filter events created before or at this timestamp (inclusive). Provide a valid ISO 8601 datetime string in UTC. - **pagination_cursor** (`string`, optional) Cursor for paginating through event results. Use it to navigate through pages of events. - **results_limit** (`number`, optional) Specify the number of event results to return. This controls the size of the result set for a single request. **Secrets** This tool requires the following secrets: `EXA_API_KEY` (learn how to [configure secrets](/guides/create-tools/tool-basics/create-tool-secrets)) ## ExaApi.GetEventById
Retrieve details of an event using its ID. **Parameters** - **event_id** (`string`, required) The unique identifier of the event to retrieve details for. **Secrets** This tool requires the following secrets: `EXA_API_KEY` (learn how to [configure secrets](/guides/create-tools/tool-basics/create-tool-secrets)) ## ExaApi.CreateWebsetSearch
Create a new search for a specified webset. **Parameters** - **search_criteria** (`json`, required) JSON object representing new search criteria for the webset. This specifies the parameters or conditions for the new search. - **webset_id** (`string`, required) The unique identifier for the Webset you want to create a search in. **Secrets** This tool requires the following secrets: `EXA_API_KEY` (learn how to [configure secrets](/guides/create-tools/tool-basics/create-tool-secrets)) ## ExaApi.GetSearchById
Retrieve a search by its ID. **Parameters** - **search_id** (`string`, required) The ID of the search to retrieve details for. - **webset_id** (`string`, required) The ID of the Webset to retrieve the specific search. **Secrets** This tool requires the following secrets: `EXA_API_KEY` (learn how to [configure secrets](/guides/create-tools/tool-basics/create-tool-secrets)) ## ExaApi.CancelRunningSearch
Cancels a currently running search operation. **Parameters** - **search_id** (`string`, required) The ID of the search to cancel. Provide the unique string identifier for the targeted search operation. - **webset_id** (`string`, required) The ID of the Webset where the search is executing. Use this to specify the Webset to be canceled. **Secrets** This tool requires the following secrets: `EXA_API_KEY` (learn how to [configure secrets](/guides/create-tools/tool-basics/create-tool-secrets)) ## ExaApi.CreateMonitorForWebsets
Create a scheduled monitor to update Websets with fresh data. **Parameters** - **monitor_configuration** (`json`, required) JSON object describing the configuration for the new monitor, including schedule, search and refresh operations. **Secrets** This tool requires the following secrets: `EXA_API_KEY` (learn how to [configure secrets](/guides/create-tools/tool-basics/create-tool-secrets)) ## ExaApi.ListWebsiteMonitors
Fetch all monitors associated with a website. **Parameters** - **pagination_cursor** (`string`, optional) The cursor for paginating through the monitor results. - **results_limit** (`number`, optional) Specifies the maximum number of monitor results to return. Use for pagination. - **webset_id** (`string`, optional) The unique identifier for the Webset to retrieve monitors for. This is required to specify which website's monitors you want to list. **Secrets** This tool requires the following secrets: `EXA_API_KEY` (learn how to [configure secrets](/guides/create-tools/tool-basics/create-tool-secrets)) ## ExaApi.GetSpecificMonitor
Retrieve details of a specific monitor using its ID. **Parameters** - **monitor_id** (`string`, required) The unique identifier of the monitor to retrieve details for. **Secrets** This tool requires the following secrets: `EXA_API_KEY` (learn how to [configure secrets](/guides/create-tools/tool-basics/create-tool-secrets)) ## ExaApi.UpdateMonitorConfiguration
Update the configuration of a monitor. **Parameters** - **monitor_configuration_details** (`json`, required) A JSON object containing the new configuration settings for the monitor. - **monitor_id** (`string`, required) The unique identifier for the monitor to update. **Secrets** This tool requires the following secrets: `EXA_API_KEY` (learn how to [configure secrets](/guides/create-tools/tool-basics/create-tool-secrets)) ## ExaApi.DeleteMonitor
Deletes a specified monitor using its ID. **Parameters** - **monitor_id** (`string`, required) The unique identifier for the monitor to be deleted. **Secrets** This tool requires the following secrets: `EXA_API_KEY` (learn how to [configure secrets](/guides/create-tools/tool-basics/create-tool-secrets)) ## ExaApi.ListMonitorRuns
Lists all runs for a given monitor. **Parameters** - **monitor_id** (`string`, required) The ID of the monitor to list all associated runs. **Secrets** This tool requires the following secrets: `EXA_API_KEY` (learn how to [configure secrets](/guides/create-tools/tool-basics/create-tool-secrets)) ## ExaApi.GetSpecificMonitorRun
Retrieve details of a specific monitor run. **Parameters** - **monitor_id** (`string`, required) The unique identifier of the monitor to retrieve the run for. - **run_id** (`string`, required) The unique identifier of the specific run to retrieve details for. **Secrets** This tool requires the following secrets: `EXA_API_KEY` (learn how to [configure secrets](/guides/create-tools/tool-basics/create-tool-secrets)) ## ExaApi.CreateDataImport
Initiates a new data import for uploading data into Websets. **Parameters** - **data_import_details** (`json`, required) The JSON object containing data to import for Websets. This includes details for enrichment, search, or exclusion processes. **Secrets** This tool requires the following secrets: `EXA_API_KEY` (learn how to [configure secrets](/guides/create-tools/tool-basics/create-tool-secrets)) ## ExaApi.ListImports
Retrieve all import entries for the Webset. **Parameters** - **pagination_cursor** (`string`, optional) String used for paginating through results. Pass it to retrieve the next set of results. - **results_limit** (`number`, optional) Specify the maximum number of import results to return. **Secrets** This tool requires the following secrets: `EXA_API_KEY` (learn how to [configure secrets](/guides/create-tools/tool-basics/create-tool-secrets)) ## ExaApi.GetSpecificImport
Retrieve details of a specific import. **Parameters** - **import_id** (`string`, required) The unique identifier for the specific import to retrieve details about. **Secrets** This tool requires the following secrets: `EXA_API_KEY` (learn how to [configure secrets](/guides/create-tools/tool-basics/create-tool-secrets)) ## ExaApi.UpdateImportsConfiguration
Update an import configuration with new settings. **Parameters** - **import_configuration_details** (`json`, required) JSON object containing the new settings for the import configuration. Include all necessary fields that need to be updated. - **import_id** (`string`, required) The identifier for the import configuration to be updated. **Secrets** This tool requires the following secrets: `EXA_API_KEY` (learn how to [configure secrets](/guides/create-tools/tool-basics/create-tool-secrets)) ## ExaApi.DeleteImport
Delete an import by its ID. **Parameters** - **import_id** (`string`, required) The unique identifier of the import to be deleted. **Secrets** This tool requires the following secrets: `EXA_API_KEY` (learn how to [configure secrets](/guides/create-tools/tool-basics/create-tool-secrets)) ## Reference Below is a reference of enumerations used by some of the tools in the ExaApi MCP Server: ### ToolMode - **GET_REQUEST_SCHEMA**: `get_request_schema` - **EXECUTE**: `execute`