Skip to main content
Glama

Search endpoints

search
Read-only

Search Glasser's data sources — runnable paid API endpoints — by keyword. Returns ranked endpoint summaries — provider, endpoint, price, run mode, and a score — already filtered to what this key may run. Several providers may sell the same capability: compare price and pick; the ranking is relevance-only. Pages are 5 by default (limit up to 20); read total for how many candidates exist and pass next_cursor back as cursor for more. The score is a cosine similarity for comparing rows, not a verdict: the ranking returns its nearest candidates, so neither low scores nor the last page shows that a capability is absent. Try other words, and inspect before running. Returns a task_id: pass it back on every later search, inspect and run for the same piece of work, and send use_case on every search (required) so the task records what the user is trying to achieve. Docs: https://glasser.ai/docs/api-reference/endpoints/search

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNo
cursorNo
task_idNo
use_caseYesRequired on every search. The use case behind this search: what the user asked for, in their own words, with the subject in it — the company, domain, ticker, place or topic. Shorten a long request rather than rewriting it.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • removedInput schema / properties / use_case / anyOf
      Removed value: -[
      -  {
      -    "description": "The use case behind this search: what the user asked for, in their own words, with the subject in it — the company, domain, ticker, place or topic. Shorten a long request rather than rewriting it.",
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / use_case / description
      Added value: +"Required on every search. The use case behind this search: what the user asked for, in their own words, with the subject in it — the company, domain, ticker, place or topic. Shorten a long request rather than rewriting it."
    • addedInput schema / properties / use_case / pattern
      Added value: +"\\S"
    • addedInput schema / properties / use_case / type
      Added value: +"string"
    • addedInput schema / required
      Added value: +[
      +  "use_case"
      +]
  2. Changed2 schema fields changed
    • changedInput schema / properties / task_id / anyOf
      Previous value: -[
      -  {
      -    "description": "The task this call belongs to. Omit on the first search of a piece of work and one is minted and returned; pass it back on every later search, inspect and run so they are recorded as one task. Any stable string is accepted.",
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "description": "The task this search belongs to. A search without a task_id starts a new task. The response returns its task_id. Send it on every later search, inspect and run of the same piece of work. Any stable string is accepted.",
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / use_case / anyOf
      Previous value: -[
      -  {
      -    "description": "The use case behind this search: what the user asked for, in their own words, with the subject in it — the company, domain, ticker, place or topic. Shorten a long request rather than rewriting it. Leave out personal details about third parties.",
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "description": "The use case behind this search: what the user asked for, in their own words, with the subject in it — the company, domain, ticker, place or topic. Shorten a long request rather than rewriting it.",
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  3. Changed2 schema fields changed
    • addedInput schema / properties / use_case
      Added value: +{
      +  "anyOf": [
      +    {
      +      "description": "The use case behind this search: what the user asked for, in their own words, with the subject in it — the company, domain, ticker, place or topic. Shorten a long request rather than rewriting it. Leave out personal details about third parties.",
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • removedInput schema / properties / user_request
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "description": "What the user asked for, in their own words, with the subject in it — the company, domain, ticker, place or topic. Shorten a long request rather than rewriting it. Leave out personal details about third parties. Recorded against the task as background; it does not affect results.",
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ]
      -}
  4. Changed1 schema field changed
    • changedInput schema / properties / user_request / anyOf
      Previous value: -[
      -  {
      -    "description": "One sentence, in your own words, on what the user is trying to achieve. Never their verbatim words, and never names, email addresses or other personal details. Recorded against the task as background; it does not affect results.",
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "description": "What the user asked for, in their own words, with the subject in it — the company, domain, ticker, place or topic. Shorten a long request rather than rewriting it. Leave out personal details about third parties. Recorded against the task as background; it does not affect results.",
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  5. Changed2 schema fields changed
    • addedInput schema / properties / task_id
      Added value: +{
      +  "anyOf": [
      +    {
      +      "description": "The task this call belongs to. Omit on the first search of a piece of work and one is minted and returned; pass it back on every later search, inspect and run so they are recorded as one task. Any stable string is accepted.",
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • addedInput schema / properties / user_request
      Added value: +{
      +  "anyOf": [
      +    {
      +      "description": "One sentence, in your own words, on what the user is trying to achieve. Never their verbatim words, and never names, email addresses or other personal details. Recorded against the task as background; it does not affect results.",
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
  6. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already mark this as a safe read, and the description adds substantial behavior beyond that: default page size of 5, limit cap of 20, `total`/`next_cursor` pagination, the meaning and limits of `score` (cosine similarity, not a verdict, absence is not proven), and the task_id threading contract. This is rich, non-obvious context an agent could not infer.

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?

The description is dense and fairly long, but it is front-loaded with the purpose before pagination and scoring caveats, and every sentence carries operational meaning. Slightly verbose, but nothing is filler.

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

Completeness5/5

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

With no output schema and low schema coverage, the description fully covers return shape (provider, endpoint, price, run mode, score, total, next_cursor, task_id) and the semantics needed to use results correctly. Nothing essential is missing.

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

Parameters5/5

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

Schema description coverage is only 20%, but the description compensates for nearly every parameter: limit default and max, cursor/next_cursor usage, task_id threading across later calls, and the required use_case. Query is only implied by 'by keyword', a minor gap in an otherwise complete compensation.

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 Glasser's data sources — runnable paid API endpoints — by keyword') and names the sibling actions it feeds into ('inspect and run'). An agent can distinguish it from balance, inspect, and run 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 Guidelines4/5

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

Gives clear context: compare price across providers, try other words on empty results, and inspect before running. It does not explicitly state when-not to use it or which sibling to prefer for lookups, but routing to inspect/run is implied by 'inspect before running'.

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.