Skip to main content
Glama

Exa Websets MCP Server

Official
by exa-labs
TOOL_SCHEMAS.md7.33 kB
# Websets MCP Tool Schemas Reference This document provides the exact schemas for all MCP tools. Use these examples to ensure you're calling the tools with the correct parameter formats. ## Object Parameter Formats **IMPORTANT**: The following parameters must be passed as **objects**, not strings: ### Criteria Format ```json { "criteria": [ {"description": "criterion 1"}, {"description": "criterion 2"} ] } ``` ### Entity Format ```json { "entity": { "type": "company" // or "person", "article", "research_paper", "custom" } } ``` ### Enrichment Options Format ```json { "options": [ {"label": "option 1"}, {"label": "option 2"} ] } ``` --- ## Tool: create_webset Create a new Webset collection with optional search and enrichments. ### Example Call ```json { "name": "AI Startups in SF", "description": "Collection of artificial intelligence startups based in San Francisco", "externalId": "my-ai-startups-2024", "searchQuery": "AI startups in San Francisco", "searchCount": 20, "searchCriteria": [ {"description": "Founded after 2020"}, {"description": "Has more than 10 employees"} ], "enrichments": [ { "description": "CEO name", "format": "text" }, { "description": "Company size category", "format": "options", "options": [ {"label": "Small (1-50)"}, {"label": "Medium (51-200)"}, {"label": "Large (201+)"} ] }, { "description": "Annual revenue in USD", "format": "number" } ] } ``` --- ## Tool: create_search Create a new search to find and add items to an existing webset. ### Example Call ```json { "websetId": "webset_abc123", "query": "Y Combinator alumni in fintech", "count": 15, "entity": { "type": "company" }, "criteria": [ {"description": "Participated in Y Combinator"}, {"description": "Operating in financial technology sector"}, {"description": "Currently active"} ], "behavior": "append", "recall": true, "metadata": { "source": "yc_fintech_2024", "batch": "q1" } } ``` ### Valid Entity Types - `"company"` - `"person"` - `"article"` - `"research_paper"` - `"custom"` ### Valid Behaviors - `"override"` - Replaces existing items (default) - `"append"` - Adds to existing items --- ## Tool: create_enrichment Create an enrichment to extract custom data from webset items. ### Example Call (Text Format) ```json { "websetId": "webset_abc123", "description": "Primary contact email address", "format": "email", "metadata": { "purpose": "outreach", "verified": "false" } } ``` ### Example Call (Options Format) ```json { "websetId": "webset_abc123", "description": "Company stage", "format": "options", "options": [ {"label": "Pre-seed"}, {"label": "Seed"}, {"label": "Series A"}, {"label": "Series B"}, {"label": "Series C+"}, {"label": "Public"} ] } ``` ### Valid Formats - `"text"` - Free-form text - `"date"` - Date values - `"number"` - Numeric values - `"options"` - Choose from predefined options (requires `options` parameter) - `"email"` - Email addresses - `"phone"` - Phone numbers - `"url"` - URLs --- ## Tool: create_monitor Create a monitor to automatically update a webset on a schedule. ### Example Call ```json { "websetId": "webset_abc123", "cron": "0 9 * * 1", "timezone": "America/New_York", "query": "New AI startups founded in 2024", "criteria": [ {"description": "Founded in 2024"}, {"description": "Building AI/ML products"}, {"description": "Has public website"} ], "entity": { "type": "company" }, "count": 10, "behavior": "append" } ``` ### Cron Expression Examples - `"0 9 * * 1"` - Every Monday at 9:00 AM - `"0 */6 * * *"` - Every 6 hours - `"0 0 1 * *"` - First day of every month at midnight - `"0 0 * * 0"` - Every Sunday at midnight ### Valid Behaviors - `"append"` - Add new items to existing ones (default) - `"override"` - Replace existing items with new ones --- ## Tool: list_websets List all websets with pagination. ### Example Call ```json { "limit": 50, "cursor": "cursor_xyz789" } ``` ### Default Values - `limit`: 25 (max: 100) - `cursor`: null (for first page) --- ## Tool: get_webset Get details about a specific webset. ### Example Call ```json { "id": "webset_abc123", "expandItems": true } ``` You can use either the webset ID or your externalId: ```json { "id": "my-ai-startups-2024", "expandItems": false } ``` --- ## Tool: update_webset Update a webset's metadata. ### Example Call ```json { "id": "webset_abc123", "metadata": { "last_reviewed": "2024-10-16", "owner": "sales_team", "status": "active" } } ``` --- ## Tool: list_items List all items in a webset. ### Example Call ```json { "websetId": "webset_abc123", "limit": 100, "cursor": "cursor_xyz789" } ``` --- ## Tool: get_item Get a specific item from a webset. ### Example Call ```json { "websetId": "webset_abc123", "itemId": "item_def456" } ``` --- ## Tool: get_search Get details about a search operation. ### Example Call ```json { "websetId": "webset_abc123", "searchId": "search_ghi789" } ``` --- ## Tool: cancel_search Cancel a running search operation. ### Example Call ```json { "websetId": "webset_abc123", "searchId": "search_ghi789" } ``` --- ## Tool: get_enrichment Get details about an enrichment. ### Example Call ```json { "websetId": "webset_abc123", "enrichmentId": "enrichment_jkl012" } ``` --- ## Tool: update_enrichment Update an enrichment's metadata. ### Example Call ```json { "websetId": "webset_abc123", "enrichmentId": "enrichment_jkl012", "metadata": { "priority": "high", "verified": "true" } } ``` --- ## Tool: delete_enrichment Delete an enrichment from a webset. ### Example Call ```json { "websetId": "webset_abc123", "enrichmentId": "enrichment_jkl012" } ``` --- ## Tool: cancel_enrichment Cancel a running enrichment operation. ### Example Call ```json { "websetId": "webset_abc123", "enrichmentId": "enrichment_jkl012" } ``` --- ## Tool: delete_webset Delete a webset permanently. ### Example Call ```json { "id": "webset_abc123" } ``` --- ## Common Mistakes to Avoid ### ❌ Wrong: Passing strings for criteria ```json { "criteria": ["criterion 1", "criterion 2"] } ``` ### ✅ Correct: Passing objects for criteria ```json { "criteria": [ {"description": "criterion 1"}, {"description": "criterion 2"} ] } ``` --- ### ❌ Wrong: Passing string for entity ```json { "entity": "company" } ``` ### ✅ Correct: Passing object for entity ```json { "entity": { "type": "company" } } ``` --- ### ❌ Wrong: Passing strings for options ```json { "options": ["option1", "option2"] } ``` ### ✅ Correct: Passing objects for options ```json { "options": [ {"label": "option1"}, {"label": "option2"} ] } ``` --- ## Schema Consistency All tools follow these consistent patterns: 1. **Criteria**: Always `[{description: string}]` 2. **Entity**: Always `{type: string}` 3. **Options**: Always `[{label: string}]` 4. **Metadata**: Always `Record<string, string>` (object with string keys and values) This consistency ensures predictable usage across all Websets MCP tools.

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/exa-labs/websets-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server