Important API details:
- An Exa API key must be supplied as the query parameter
exaApiKeywhen connecting the server; all tool calls are authenticated through this key. - Webset searches and enrichments are asynchronous operations — agents should use
get_searchandget_enrichmentto poll for completion status after creation. - Monitors continuously track web sources for new entities matching your criteria; use
list_monitorsandget_monitorto manage active monitors and their results. - Webhooks (
create_webhook,list_webhooks) enable event-driven notifications when webset operations complete, allowing agents to react to data changes without polling.
Server Details
| Property | Value |
|---|---|
| Transport | Streamable HTTP |
| Hosting | Remote (externally hosted) |
| Categories | Search & Research, Analytics & Data |
Authentication
This server supports the following authentication method:Query Parameter Authentication
This server requires query parameters to be appended to the server URL. These are typically API keys or tokens.Server Configuration
The following parameters can be set in the server URL when adding this server to your Caylex project:| Parameter | Type | Description | Example |
|---|---|---|---|
exaApiKey | query | Your Exa API key, used to authenticate all requests made by the MCP server to the Exa Websets API. | exaApiKey=your_exa_api_key_here |
Getting Started
Add the server
Navigate to the Server Library and click on the New Server button. Find Exa Websets in the Caylex Catalog.
Use in a project
Add the server to a project by configuring project connections. Its tools are now available to any agents connected to that project.
Available Tools
This server provides 30 tools:Webset Management
create_webset
create_webset
Create a new Webset collection. Websets are collections of web entities (companies, people, papers) that can be automatically searched, verified, and enriched with custom data.IMPORTANT PARAMETER FORMATS:
- searchCriteria: MUST be array of objects like [{description: ”…”}] (NOT array of strings)
- enrichments: Each must have description field, optional format and options
- enrichment options: MUST be array of objects like [{label: ”…”}] (NOT array of strings)
- entity: MUST be an object like {type: “company”} — for “custom” type, include description: {type: “custom”, description: ”…“}
- exclude: Array of sources like [{source: “webset”, id: “webset_123”}]
get_webset
get_webset
Get details about a specific webset by ID or externalId. Returns full webset information including status, searches, enrichments, monitors, imports, and metadata.
update_webset
update_webset
Update a webset’s title and/or metadata.
delete_webset
delete_webset
Delete a webset and all its items. This action is permanent and cannot be undone.
list_websets
list_websets
List all websets in your account. Returns a paginated list of webset collections with their current status, searches, enrichments, monitors, imports, and metadata.
preview_webset
preview_webset
Preview how a search query will be interpreted before creating a webset. Returns the detected entity type, generated search criteria, and suggested enrichment columns. Useful for understanding what a query will produce before committing.
Search
create_search
create_search
Create a new search to find and add items to a webset. The search will discover entities matching your query and criteria.IMPORTANT PARAMETER FORMATS:
- entity: MUST be an object like {type: “company”} (NOT a string). For “custom” type, include description: {type: “custom”, description: “SaaS tools”}
- criteria: MUST be array of objects like [{description: ”…”}] (NOT array of strings)
- exclude: Array of sources like [{source: “webset”, id: “webset_123”}]
- scope: Object for scoped/hop searches: {source: “import”, id: “import_123”, relationship: “investors of these companies”}
get_search
get_search
Get details about a specific search, including its status, progress, and results found.
cancel_search
cancel_search
Cancel a running search operation. This will stop the search from finding more items.
Items
list_webset_items
list_webset_items
List all items in a webset. Returns entities (companies, people, papers) that have been discovered and verified in the collection.
get_item
get_item
Get a specific item from a webset by its ID. Returns detailed information about the item including all enrichment data.
Enrichments
create_enrichment
create_enrichment
Create a new enrichment for a webset. Enrichments automatically extract custom data from each item using AI agents (e.g., ‘company revenue’, ‘CEO name’, ‘funding amount’).IMPORTANT PARAMETER FORMATS:
- options (when format is “options”): MUST be array of objects like [{label: ”…”}] (NOT array of strings)
get_enrichment
get_enrichment
Get details about a specific enrichment, including its status and progress.
update_enrichment
update_enrichment
Update an enrichment’s metadata. You can associate custom key-value pairs with the enrichment.
delete_enrichment
delete_enrichment
Delete an enrichment from a webset. This will remove all enriched data for this enrichment from all items.
cancel_enrichment
cancel_enrichment
Cancel a running enrichment operation. This will stop the enrichment from processing more items.
Monitors
create_monitor
create_monitor
Create a monitor to automatically update a webset on a schedule. Monitors run search operations to find new items.IMPORTANT PARAMETER FORMATS:
- cron: MUST be 5-field format “minute hour day month weekday” (e.g., “0 9 * * 1”)
- entity: MUST be an object like {type: “company”} (NOT a string)
- criteria: MUST be array of objects like [{description: ”…”}] (NOT array of strings)
get_monitor
get_monitor
Get details about a specific monitor, including its schedule, behavior configuration, and status.
update_monitor
update_monitor
Update a monitor’s schedule, behavior, or status (enable/disable).
delete_monitor
delete_monitor
Delete a monitor. This stops the scheduled search operations permanently.
list_monitors
list_monitors
List all monitors. Returns a paginated list of monitors with their schedule, status, and configuration.
Webhooks
create_webhook
create_webhook
Create a webhook to receive real-time HTTP callbacks when events occur in your websets.Example call:
{
“url”: “https://example.com/webhook”,
“events”: [“webset.search.completed”, “webset.enrichment.completed”]
}
get_webhook
get_webhook
Get details about a specific webhook. The webhook secret is not returned here for security — it is only shown when the webhook is first created.
update_webhook
update_webhook
Update a webhook’s URL, events, or metadata. Changes take effect immediately. The webhook keeps its current status (active/inactive) when updated.
delete_webhook
delete_webhook
Delete a webhook. The webhook stops receiving notifications immediately and cannot be recovered.
list_webhooks
list_webhooks
List all webhooks in your account. Returns a paginated list of webhooks with their URL, events, status, and metadata.
Imports
create_import
create_import
Create a new import to upload your own data (CSV) into Websets. Imports can be used for enrichment, scoped searches, or excluding known results. Returns an uploadUrl where you can PUT your CSV file.Example call:
{
“format”: “csv”,
“size”: 1024,
“count”: 100,
“entity”: {“type”: “company”},
“title”: “My company list”
}
get_import
get_import
Get details about a specific import, including its status, upload URL, and processing progress.
list_imports
list_imports
List all imports. Returns a paginated list of imports with their status and metadata.
Events
list_events
list_events
List system events with optional filtering. Events track all state changes across websets, searches, enrichments, monitors, and webhooks.