Exa Websets MCP Server
A Model Context Protocol (MCP) server that integrates Exa's Websets API with Claude Desktop, Cursor, Windsurf, and other MCP-compatible clients.
What are Websets?
Websets are collections of web entities (companies, people, research papers) that can be automatically discovered, verified, and enriched with custom data. Think of them as smart, self-updating spreadsheets powered by AI web research.
Key capabilities:
š Automated Search: Find entities matching natural language criteria
š Data Enrichment: Extract custom information using AI agents
š Monitoring: Schedule automatic updates to keep collections fresh
šÆ Verification: AI validates that entities meet your criteria
š Webhooks: Real-time notifications for collection updates
Available Tools
This MCP server provides the following tools:
Webset Management
Tool | Description |
| Create a new webset collection with optional search and enrichments |
| List all your websets with pagination support |
| Get details about a specific webset |
| Update a webset's metadata |
| Delete a webset and all its items |
Item Management
Tool | Description |
| List all items (entities) in a webset |
| Get a specific item from a webset with all enrichment data |
Search Operations
Tool | Description |
| Create a new search to find and add items to a webset |
| Get details about a specific search including status and progress |
| Cancel a running search operation |
Enrichment Operations
Tool | Description |
| Add a new data enrichment to extract custom information |
| Get details about a specific enrichment |
| Update an enrichment's metadata |
| Delete an enrichment and all its data |
| Cancel a running enrichment operation |
Monitoring
Tool | Description |
| Set up automated monitoring to keep the webset updated |
Installation
Prerequisites
Node.js v18 or higher
Claude Desktop, Cursor, or another MCP-compatible client
An Exa API key from exa.ai
Using Claude Code (Recommended)
The quickest way to set up Websets MCP:
Replace YOUR_API_KEY with your Exa API key.
Using NPX
Configuration
Claude Desktop Configuration
Enable Developer Mode
Open Claude Desktop
Click the menu ā Enable Developer Mode
Go to Settings ā Developer ā Edit Config
Add to configuration file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json{ "mcpServers": { "websets": { "command": "npx", "args": [ "-y", "websets-mcp-server" ], "env": { "EXA_API_KEY": "your-api-key-here" } } } }Restart Claude Desktop
Completely quit Claude Desktop
Start it again
Look for the š icon to verify connection
Cursor and Claude Code Configuration
Use the HTTP-based configuration:
Tool Schema Reference
ā ļø Important for AI Callers: See TOOL_SCHEMAS.md for exact parameter formats and examples.
Key Schema Rules:
criteriamust be an array of objects:[{description: "..."}](NOT an array of strings)entitymust be an object:{type: "company"}(NOT a string)optionsmust be an array of objects:[{label: "..."}](NOT an array of strings)
These formats ensure consistency across all tools and match the Websets API specification.
Usage Examples
Once configured, you can ask Claude to interact with Websets:
Creating a Webset
Listing and Viewing Websets
Managing Items
Setting Up Monitoring
Advanced Enrichments
Example Workflow
Here's a complete workflow for building a company research database:
Create the collection:
Create a webset called "SaaS Companies" that searches for "B2B SaaS companies with $10M+ revenue"Add enrichments:
Add enrichments to extract: annual recurring revenue, number of customers, primary market segment, and tech stack usedSet up monitoring:
Create a weekly monitor that searches for new companies and refreshes enrichment data for existing onesView results:
Show me all items with their enrichment data, sorted by revenue
Tool Details
create_webset
Creates a new webset collection with optional automatic population and enrichments.
Parameters:
name(optional): Name for the websetdescription(optional): Description of what the webset containsexternalId(optional): Your own identifiersearchQuery(optional): Natural language query to find entitiessearchCount(optional): Number of entities to find (default: 10)searchCriteria(optional): Additional filtering criteriaenrichments(optional): Array of enrichments to extract
Example:
create_enrichment
Adds a new data enrichment to extract custom information from each webset item.
Parameters:
websetId: The ID of the websetdescription: Detailed description of what to extract
Example:
create_monitor
Sets up automated monitoring with a cron schedule.
Parameters:
websetId: The ID of the websetschedule: Cron expression (e.g., "0 9 * * 1" for Mondays at 9am)behavior: Either "search" (find new items) or "refresh" (update existing)name(optional): Name for the monitorenabled(optional): Start enabled (default: true)
Common cron schedules:
0 9 * * 1- Every Monday at 9am0 0 * * *- Daily at midnight0 */6 * * *- Every 6 hours0 9 * * 1-5- Weekdays at 9am
API Endpoints
The server connects to Exa's Websets API at https://api.exa.ai/v0/websets.
Full API documentation: docs.exa.ai/reference/websets
Advanced Configuration
Enable Specific Tools Only
To enable only certain tools, use the enabledTools config:
Debug Mode
Enable debug logging to troubleshoot issues:
Troubleshooting
Connection Issues
Verify your API key is valid
Ensure there are no spaces or quotes around the API key
Completely restart your MCP client (not just close the window)
Check the MCP logs for error messages
API Rate Limits
Websets API has the following limits:
Check your plan limits at exa.ai/dashboard
Use pagination for large websets
Monitor API usage in your dashboard
Common Errors
401 Unauthorized: Invalid or missing API key
404 Not Found: Webset ID doesn't exist or was deleted
422 Unprocessable: Invalid query or criteria format
429 Rate Limited: Too many requests, wait and retry
Resources
Development
Building from Source
Project Structure
License
MIT
Contributing
Contributions welcome! Please open an issue or PR at github.com/exa-labs/websets-mcp-server.
Support
Documentation: docs.exa.ai
Discord: Join the Exa community
Email: support@exa.ai
This server cannot be installed