From exa
Runs multi-step web research, list-building, enrichment, and structured output using Exa Agent. Supports data providers for company, financial, traffic, and product data.
How this skill is triggered — by the user, by Claude, or both
Slash command
/exa:agentThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are operating Exa Agent through MCP. Exa Agent is a tool that allows you to run multi-step web research, list-building, enrichment, structured output, run continuation, and coverage validation.
You are operating Exa Agent through MCP. Exa Agent is a tool that allows you to run multi-step web research, list-building, enrichment, structured output, run continuation, and coverage validation.
agent_runWhen a run needs premium partner data alongside Exa web search, pass dataSources to agent_run.
Use only the currently usable self-serve providers:
fiber: B2B company, people, jobs, and contact enrichmentfinancial_datasets: ticker-based news for US public companiessimilarweb: website traffic estimates, rankings, and competitor discoverybaselayer: US business verification, officers, registrations, and KYBaffiliate: product catalog search, pricing, brands, and merchant linksparticle: podcast transcript search with speaker attribution and timestampsjinko: travel destination discovery ranked by fareDo not suggest request-only providers unless the user explicitly says their Exa account already has them enabled.
Choose the work surface before acting:
Known input rows plus repeated same-shape enrichment at scale
Open-ended universe definition, list-building, people/company discovery, multi-hop research, structured research, or follow-up over previous work
outputSchema before creating the run.Always write down:
If the user uses relative time like "recent", "last 6 months", or "post-IPO", calculate exact dates from today's date first.
Use outputSchema for list-building, enrichment, finance/company research, and repeatable workflows.
Rules:
maxItems to arrays when possible.format: "uri", format: "email", or format: "phone" when needed.Example company-list schema:
{
"type": "object",
"properties": {
"companies": {
"type": "array",
"maxItems": 50,
"items": {
"type": "object",
"properties": {
"company_name": { "type": "string" },
"website": { "type": "string", "format": "uri" },
"segment": { "type": "string" },
"why_it_qualifies": { "type": "string" },
"evidence_url": { "type": "string", "format": "uri" },
"confidence": { "type": "string", "enum": ["low", "medium", "high"] }
},
"required": ["company_name", "website", "why_it_qualifies", "evidence_url"]
}
},
"coverage_notes": { "type": "string" },
"known_gaps": {
"type": "array",
"items": { "type": "string" }
}
},
"required": ["companies", "coverage_notes"]
}
Example with Exa Connect:
{
"tool": "agent_run",
"arguments": {
"query": "Find 10 fast-growing B2B SaaS companies and return estimated monthly website visits from Similarweb.",
"dataSources": [
{ "provider": "similarweb" }
],
"outputSchema": {
"type": "object",
"properties": {
"companies": {
"type": "array",
"maxItems": 10,
"items": {
"type": "object",
"properties": {
"name": { "type": "string" },
"domain": { "type": "string" },
"monthlyVisits": {
"type": "number",
"description": "Estimated monthly visits from Similarweb"
}
},
"required": ["name", "domain", "monthlyVisits"]
}
}
},
"required": ["companies"]
}
}
}
Run the agent
agent_run.effort to use the tool's low default. Choose auto or a higher effort only when the user asks for more depth or the task clearly requires it.outputSchema for structured work.input.data for known rows.input.exclusion for entities already returned or disallowed.dataSources only when one of the self-serve Exa Connect providers is clearly useful.id when a later continuation may use previousRunId.status: "running", call agent_run again with that runId until outputReady is true. This continuation is available for retained runs that outlive one MCP call.runId resumption). The MCP call window is ~750 seconds; if a ZDR run cannot finish in one call, retry with lower effort or split the task. previousRunId is not available on ZDR.Read the result
outputReady is true (or status is failed/cancelled).output.structured and output.grounding.Validate coverage
Continue if needed
agent_run with previousRunId for follow-up/refinement.input.exclusion to avoid resurfacing prior results.Final answer
Use previousRunId when:
Do not use previousRunId when:
For independent segments, create separate runs and aggregate results yourself.
Never claim exhaustive coverage unless all are true:
Preferred language when not fully validated:
Avoid:
unless validation supports it.
If the task requires many parallel Exa calls of the same shape, especially batch enrichment over known companies/people:
Use Exa Agent instead of Batch Script Mode when the hard part is discovery, reasoning, multi-hop research, or deciding what to search next.
If a run fails to start:
If the run fails:
If the run objective/schema is wrong, abort the streaming call. The server will attempt to cancel the upstream run; you will then need to create a new run with the corrected objective/schema.
If output is sparse:
previousRunId.2plugins reuse this skill
First indexed Jul 17, 2026
npx claudepluginhub ysm827/exa-mcp-serverRuns multi-step web research, list-building, enrichment, and structured output using Exa Agent. Supports data providers for company, financial, traffic, and product data.
Runs Extruct API tasks via CLI for company discovery, enrichment, and contact finding. Includes Deep Search, semantic search, lookalike search, and table operations.
Conducts AI-powered deep research via Parallel AI APIs: chat Q&A, reports, entity discovery (companies/people), data enrichment. For web research, competitive analysis, market research, finding companies, data tasks.