websets-mcp-server (exa-labs/websets-mcp-server) is an MCP server listed on the M8ven Trust Index. It scores 48 out of 100, grade D. It declares 23 tools. No publisher has claimed this listing.
Create and manage collections of companies, people, and papers, automatically discovering and verifying relevant entities. Enrich items with custom fields like CEO name, funding amount, or company stage, and inspect detailed results. Schedule recurring searches to keep collections fresh and catch new additions.
Caution. Specific findings reduced this grade. They are listed on the page. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.
How we verified
Verified is a snapshot. Live keeps it current, and builds your track record.
⚡ Connect GitHub → continuous verification on every pushwhy connect →Who stands behind it
exa-labs
Source: Smithery · also listed on ModelScope
Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →
Install from
The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.
These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.
cancel_enrichmentCancel a running enrichment operation. Only enrichments with status 'running' can be canceled; enrichments still in 'pending' status are unaffected.
cancel_searchCancel a running search operation. This will stop the search from finding more items.
create_enrichmentCreate 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…
create_importCreate 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"}, …
create_searchCreate 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 tool…
create_webhookCreate 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"] }
create_websetCreate 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)…
delete_webhookDelete a webhook. The webhook stops receiving notifications immediately and cannot be recovered.
delete_websetDelete a webset and all its items. This action is permanent and cannot be undone.
get_enrichmentGet details about a specific enrichment, including its status and progress.
get_importGet details about a specific import, including its status, upload URL, and processing progress.
get_itemGet a specific item from a webset by its ID. Returns detailed information about the item including all enrichment data.
get_searchGet details about a specific search, including its status, progress, and results found.
get_webhookGet details about a specific webhook. The webhook secret is not returned here for security — it is only shown when the webhook is first created.
get_websetGet details about a specific webset by ID or externalId. Returns full webset information including status, searches, enrichments, imports, and metadata. REQUIRED: You must pass the "id" parameter. Use the webset ID returned from create_webset (e.g. "ws_abc123") or an externalId you assigned. TIP: …
list_eventsList system events with optional filtering. Events track all state changes across websets, searches, enrichments, and webhooks.
list_importsList all imports. Returns a paginated list of imports with their status and metadata.
list_webset_itemsList all items in a webset. Returns entities (companies, people, papers) that have been discovered and verified in the collection.
list_webhooksList all webhooks in your account. Returns a paginated list of webhooks with their URL, events, status, and metadata.
list_websetsList all websets in your account. Returns a paginated list of webset collections with their current status, searches, enrichments, imports, and metadata.
preview_websetPreview 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.
update_webhookUpdate a webhook's URL, events, or metadata. Changes take effect immediately. The webhook keeps its current status (active/inactive) when updated.
update_websetUpdate a webset's title and/or metadata.
Disclosed vulnerabilities in this server's declared npm dependencies (via OSV). Whether each is reachable depends on the installed versions.
When Vitest UI server is listening, arbitrary file can be read and executed
axios Vulnerable to Full Man-in-the-Middle via Prototype Pollution Gadget in `config.proxy`
axios Vulnerable to Credential Theft and Response Hijacking via Prototype Pollution Gadget in Config Merge
Axios is Vulnerable to Denial of Service via __proto__ Key in mergeConfig
Axios: Header Injection via Prototype Pollution
AGNOST_LOG_LEVELAGNOST_ORG_IDENABLED_TOOLSTool annotations
No tools have read-only/destructive annotations
Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.
All four hints declared on every tool
23/23 tools missing one or more hints — cancel_enrichment (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); cancel_search (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); create_enrichment (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +20 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.
For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.
Tool test coverage
Only 2/23 tools referenced in tests (9%)
Write tests that reference each tool by name so every tool has at least one test.
Production dependencies are patched
0 critical, 11 high severity in production deps — axios@1.12.2 (high), axios@1.12.2 (high)
Run npm audit fix, or upgrade the affected packages to a non-vulnerable version.
Dev dependencies
1 critical/high in dev-only deps (does not ship to users)
Upgrade dev dependencies when convenient.
Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.
[](https://m8ven.ai/mcp/exa-labs/websets-mcp-server)?variant=verified from the URL.Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.
https://m8ven.ai/api/mcp/tool-check