Skip to main content
Glama

AIsa Web Search & Research

Search

post_exa_search
Destructive

Search the web by meaning rather than by keyword. query is required; narrow with category, includeDomains, excludeDomains, startPublishedDate, endPublishedDate, and set numResults. Returns requestId, resolvedSearchType, searchTime, costDollars and results[] with id, title and url. id is the URL, and it is what post_exa_contents takes. Measured at 1.4 seconds — the fastest search here. Use current endpoint pricing and a fresh quote for this request. ⚠️ Results carry no page text unless you ask: pass contents, or follow up with post_exa_contents. Choose it over post_tavily_search when the query is a description rather than keywords; choose Tavily when you want the text in the same call, and post_exa_answer when you want a written answer rather than a list.

Usage-based billing; Default request estimate: $0.017 USD (not a fixed price). Account-specific pricing and final settlement may differ.

Input Schema

NameRequiredDescriptionDefault
bodyYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed15 schema fields changed
    • addedInput schema / additionalProperties
      Added value: +false
    • addedInput schema / properties / body
      Added value: +{
      +  "properties": {
      +    "category": {
      +      "description": "Optional hint about the kind of pages to prioritize.",
      +      "enum": [
      +        "company",
      +        "research paper",
      +        "news",
      +        "personal site",
      +        "financial report",
      +        "people"
      +      ],
      +      "type": "string"
      +    },
      +    "contents": {
      +      "description": "Content options to return alongside each result.",
      +      "properties": {
      +        "highlights": {
      +          "description": "Return highlighted relevant snippets.",
      +          "type": "boolean"
      +        },
      +        "summary": {
      +          "description": "Return an AI-generated summary of the page.",
      +          "type": "boolean"
      +        },
      +        "text": {
      +          "description": "Return the full page text.",
      +          "type": "boolean"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "endPublishedDate": {
      +      "description": "Only return results published on or before this ISO 8601 date.",
      +      "format": "date-time",
      +      "type": "string"
      +    },
      +    "excludeDomains": {
      +      "description": "Exclude results from these domains.",
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "includeDomains": {
      +      "description": "Only return results from these domains.",
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "numResults": {
      +      "default": 10,
      +      "description": "Number of results to return.",
      +      "maximum": 100,
      +      "minimum": 1,
      +      "type": "integer"
      +    },
      +    "outputSchema": {
      +      "description": "JSON Schema used to synthesize a structured output from the results.",
      +      "type": "object"
      +    },
      +    "query": {
      +      "description": "The natural-language search query.",
      +      "example": "latest evaluation frameworks for AI agents",
      +      "type": "string"
      +    },
      +    "startPublishedDate": {
      +      "description": "Only return results published on or after this ISO 8601 date.",
      +      "format": "date-time",
      +      "type": "string"
      +    },
      +    "stream": {
      +      "default": false,
      +      "enum": [
      +        false
      +      ],
      +      "type": "boolean"
      +    },
      +    "systemPrompt": {
      +      "description": "Instruction that guides how the structured output is generated.",
      +      "type": "string"
      +    },
      +    "type": {
      +      "default": "auto",
      +      "description": "Search mode. auto lets Exa choose; the deep modes trade latency for higher-quality retrieval.",
      +      "enum": [
      +        "auto",
      +        "fast",
      +        "instant",
      +        "deep-lite",
      +        "deep",
      +        "deep-reasoning"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "query"
      +  ],
      +  "type": "object"
      +}
    • removedInput schema / properties / category
      Removed value: -{
      -  "description": "Optional hint about the kind of pages to prioritize.",
      -  "enum": [
      -    "company",
      -    "research paper",
      -    "news",
      -    "personal site",
      -    "financial report",
      -    "people"
      -  ],
      -  "type": "string"
      -}
    • removedInput schema / properties / contents
      Removed value: -{
      -  "description": "Content options to return alongside each result.",
      -  "properties": {
      -    "highlights": {
      -      "description": "Return highlighted relevant snippets.",
      -      "type": "boolean"
      -    },
      -    "summary": {
      -      "description": "Return an AI-generated summary of the page.",
      -      "type": "boolean"
      -    },
      -    "text": {
      -      "description": "Return the full page text.",
      -      "type": "boolean"
      -    }
      -  },
      -  "type": "object"
      -}
    • removedInput schema / properties / endPublishedDate
      Removed value: -{
      -  "description": "Only return results published on or before this ISO 8601 date.",
      -  "format": "date-time",
      -  "type": "string"
      -}
    • removedInput schema / properties / excludeDomains
      Removed value: -{
      -  "description": "Exclude results from these domains.",
      -  "items": {
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • removedInput schema / properties / includeDomains
      Removed value: -{
      -  "description": "Only return results from these domains.",
      -  "items": {
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • removedInput schema / properties / numResults
      Removed value: -{
      -  "default": 10,
      -  "description": "Number of results to return.",
      -  "maximum": 100,
      -  "minimum": 1,
      -  "type": "integer"
      -}
    • removedInput schema / properties / outputSchema
      Removed value: -{
      -  "description": "JSON Schema used to synthesize a structured output from the results.",
      -  "type": "object"
      -}
    • removedInput schema / properties / query
      Removed value: -{
      -  "description": "The natural-language search query.",
      -  "example": "latest evaluation frameworks for AI agents",
      -  "type": "string"
      -}
    • removedInput schema / properties / startPublishedDate
      Removed value: -{
      -  "description": "Only return results published on or after this ISO 8601 date.",
      -  "format": "date-time",
      -  "type": "string"
      -}
    • removedInput schema / properties / stream
      Removed value: -{
      -  "default": false,
      -  "enum": [
      -    false
      -  ],
      -  "type": "boolean"
      -}
    • removedInput schema / properties / systemPrompt
      Removed value: -{
      -  "description": "Instruction that guides how the structured output is generated.",
      -  "type": "string"
      -}
    • removedInput schema / properties / type
      Removed value: -{
      -  "default": "auto",
      -  "description": "Search mode. auto lets Exa choose; the deep modes trade latency for higher-quality retrieval.",
      -  "enum": [
      -    "auto",
      -    "fast",
      -    "instant",
      -    "deep-lite",
      -    "deep",
      -    "deep-reasoning"
      -  ],
      -  "type": "string"
      -}
    • changedInput schema / required
      Previous value: -[
      -  "query"
      -]New value: +[
      +  "body"
      +]
  2. Changed1 schema field changed
    • addedInput schema / properties / stream
      Added value: +{
      +  "default": false,
      +  "enum": [
      +    false
      +  ],
      +  "type": "boolean"
      +}
  3. Changed1 schema field changed
    • removedInput schema / properties / stream
      Removed value: -{
      -  "default": false,
      -  "enum": [
      -    false
      -  ],
      -  "type": "boolean"
      -}
  4. Changed1 schema field changed
    • addedInput schema / properties / stream
      Added value: +{
      +  "default": false,
      +  "enum": [
      +    false
      +  ],
      +  "type": "boolean"
      +}
  5. First observed

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare the safety/cost profile (readOnlyHint=false, destructiveHint=true, openWorldHint=true), but the description adds genuinely useful context the annotations cannot convey: results carry no page text unless `contents` is passed, measured latency of ~1.4s, and per-request billing. It does not explain the unusual destructive/chargeable nature flagged by annotations, leaving a small gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads what the tool is, then constraints, then routing, with the pricing caveat fenced into a block. It is dense and mostly earns its space, though the return-field enumeration is partly redundant with the output schema and could be trimmed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a search endpoint with an output schema present, the description need not enumerate return fields, yet it does, and it covers the critical gotcha (no page text by default) plus cost and latency. Missing only a note on the remaining body options and why the endpoint is billed/destructive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With reported schema coverage at 0%, the description must carry parameter meaning, and it does name `query` as required plus the filter set (category, includeDomains, excludeDomains, date bounds, numResults) and the `contents` option. However `type`, `stream`, `outputSchema`, and `systemPrompt` go unexplained, so the coverage gap is only partially closed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Search the web by meaning rather than by keyword') and immediately differentiates its retrieval mode from keyword search. It names the sibling tools it competes with (post_tavily_search, post_exa_answer) so an agent can place it in the toolset without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit routing guidance: 'Choose it over post_tavily_search when the query is a description rather than keywords; choose Tavily when you want the text in the same call, and post_exa_answer when you want a written answer rather than a list.' It also states when to pass `contents` versus following up with post_exa_contents.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources