Skip to main content
Glama

Server Details

One key to 1,000+ paid data APIs: enrichment, SEO/SERP, scraping, places, news. Pay per call.

Ownership verified
Status
Healthy
Uptime
79.7% over 43 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
glasser-ai/plugins
GitHub Stars
0

TDQS

A4.4/5.0

Scored across 7 tools

Disambiguation5/5

Each tool occupies a distinct slot in the search→inspect→run→monitor workflow: search finds endpoints, inspect reads a contract, run executes, runs_get/runs_list/runs_stop manage runs, and balance checks funds. There is no plausible confusion between any pair — even run vs runs_get is clearly split between 'create a run' and 'read one run'.

Naming Consistency4/5

The run-management family follows a clean noun_verb pattern (runs_get, runs_list, runs_stop), but the remaining tools are bare verbs/nouns (balance, inspect, run, search) with no prefix, so 'run' sits awkwardly next to 'runs_*' where 'runs_create' would be expected. The convention is readable and mostly predictable, just not uniform.

Tool Count5/5

Seven tools is well-scoped for an endpoint-marketplace proxy: discovery, contract inspection, execution, run lifecycle (get/list/stop), and balance accounting. Every tool earns its place with no redundancy or bloat.

Completeness4/5

The core paid-execution lifecycle is fully covered: search, inspect, run, get/list/stop runs, and balance — with idempotency, async status, and charging semantics all addressed. Minor gaps exist around task/work management (task_id is threaded through tools but there is no explicit tool to list or inspect tasks) and no endpoint browsing beyond keyword search.

Available Tools

7 tools
balanceGet balanceA
Read-only
Inspect

The workspace's balance in USD: balance, held (reserved by in-flight runs), available. Also the cheapest probe that the key works. Docs: https://glasser.ai/docs/api-reference/balance/get

NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds value by describing the held amount as reserved by in-flight runs (explains why the number may differ from expectations) and by noting this is a cheap probe, implying low cost/no side effects.

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

Conciseness5/5

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

One tight sentence plus a docs link. The core purpose leads, the field breakdown and probe hint follow, and nothing is wasted.

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 zero-param read tool with no output schema, the description usefully explains the return shape (balance/held/available) and points to docs. Annotations cover the safety profile, so little is missing; only pagination-style or error semantics would add more, and they are largely irrelevant here.

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

Parameters4/5

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

The tool takes zero parameters, so the baseline is 4; there is nothing for the description to compensate for. The return-field enumeration is not a parameter concern.

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

Purpose4/5

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

States a specific resource (the workspace's USD balance) and enumerates the returned fields (balance, held, available), which is more than a tautology. It does not distinguish itself from siblings, but they are clearly unrelated operations (run, search, runs_*), so the purpose is unambiguous.

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?

"Also the cheapest probe that the key works" gives an explicit alternate use case (auth/key verification), which is real guidance beyond the primary read. It does not name a specific alternative tool or state when-not-to-use, keeping it short of a 5.

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

inspectInspect endpointA
Read-only
Inspect

Get one endpoint's execution contract: provider-native input schema, exact price with every charge clause, current endpoint_version, run mode and timeout. Always inspect before the first run of an endpoint, and pass the endpoint_version you saw to run. Selecting an endpoint_version does not lock Price; new Runs use the current Price at admission. Pass the task_id from your search so this inspection is recorded against the same piece of work. Docs: https://glasser.ai/docs/api-reference/endpoints/inspect

NameRequiredDescriptionDefault
task_idNo
endpointYes
providerYes
endpoint_versionNo

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false, openWorldHint=false), and the description adds genuinely non-obvious behavior: selecting a version does not lock Price, and new Runs are admitted at the current Price. It omits auth requirements and any rate-limit or result-caching behavior, but the pricing/version decoupling is valuable context beyond structured data.

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-loaded with what the tool returns, then workflow guidance, then the docs link. Every sentence carries information, though it is fairly dense and the pricing caveat could be tightened slightly.

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, the description still tells the agent what the response contains (schema, price clauses, endpoint_version, run mode, timeout) and how to use it downstream. Combined with the read-only annotations, an agent has everything needed to call this correctly.

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?

Schema description coverage is 0%, so the description must carry parameter meaning. It explains the workflow role of task_id (link the inspection to the same piece of work) and endpoint_version (what to pass on to run), but provider and endpoint receive no clarification beyond their regex patterns, leaving half the parameters unexplained.

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 ('Get') and resource ('one endpoint's execution contract') and enumerates exactly what comes back: input schema, price with charge clauses, endpoint_version, run mode and timeout. It is clearly distinguishable from siblings like run, search, and runs_get without opening any 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?

Gives an explicit precondition ('Always inspect before the first run of an endpoint'), tells the agent what to do with the result ('pass the endpoint_version you saw to run'), and explains how to correlate with the search step via task_id. When-to-use and the handoff to run are both spelled out.

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

runRun endpointA
DestructiveIdempotent
Inspect

Execute one endpoint and charge the workspace per its published price. Build input against the inspected input_schema. Generate a UUID for idempotency_key and reuse the SAME key to retry — it never charges twice; the result carries replayed:true on a replay. A provider 404/500 is a COMPLETED run carrying that outcome in provider_response, not an error. A QUEUED/RUNNING result means an async endpoint is still working — poll runs_get. The user's own keys and integrations outrank Glasser; never run speculatively, in loops or in bulk without naming the price and getting the user's go-ahead. The result's run_url opens the run's records in the workspace console, exactly as the provider returned them (members only); when your answer relies on the run, cite run_url as its source — the run id alone opens nothing. Docs: https://glasser.ai/docs/api-reference/runs/create

NameRequiredDescriptionDefault
inputNoProvider-native input. Build it from the input_schema returned by Inspect.
task_idNo
endpointYes
providerYes
idempotency_keyYes
endpoint_versionNo

TDQS

A4.8/5.0
Behavior5/5

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

Goes well beyond the annotations, which only flag mutating/idempotent/open-world. The description discloses billing behavior (charge per published price), idempotency mechanics (generate a UUID, reuse the SAME key, never double-charges, replayed:true), error semantics (provider 404/500 is a COMPLETED run in provider_response, not an error), and async state (QUEUED/RUNNING means poll runs_get).

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?

Long but densely packed: it leads with the action and price consequence, then layers idempotency, error handling, async polling, safety gating, and citation guidance. Nearly every sentence carries operational information, though the volume is on the heavier side for a single tool.

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 6 parameters, the description compensates by describing the salient return fields (provider_response, replayed:true, QUEUED/RUNNING, run_url) and the run_url citation convention. Nothing essential for correct invocation or interpretation is missing.

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

Parameters4/5

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

Schema coverage is only 17%, so the description carries most of the burden: it explains how to construct input (from an inspected input_schema) and the idempotency_key generation/reuse rule, which the bare minLength:1 schema does not convey. It does not elaborate on the provider/endpoint string formats beyond their regex patterns, leaving a small gap.

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+resource: "Execute one endpoint and charge the workspace per its published price." This clearly separates run from siblings inspect (schema discovery), runs_get (polling), runs_list and runs_stop, so an agent can route without opening another 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 and gating: build input from the inspected input_schema, poll runs_get when a result is QUEUED/RUNNING, and never run speculatively, in loops or in bulk without naming the price and getting user go-ahead. It names the alternative tool and the conditions that select it.

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

runs_getGet runA
Read-only
Inspect

Get one run by run_id: status, output, provider_response, failure, charge_usd, charge_basis, run_url. Status and charge are independent — a FAILED run can carry a non-zero charge. The result's run_url opens the run's records in the workspace console, exactly as the provider returned them (members only); when your answer relies on the run, cite run_url as its source — the run id alone opens nothing. Docs: https://glasser.ai/docs/api-reference/runs/get

NameRequiredDescriptionDefault
run_idYes

TDQS

A4.3/5.0
Behavior5/5

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

Annotations already establish readOnlyHint=true, destructiveHint=false, openWorldHint=false, so safety is covered; the description goes further by disclosing domain behavior the annotations cannot: status and charge are independent (a FAILED run can carry a non-zero charge), run_url resolves to provider-returned records in the workspace console, access is 'members only', and citation of run_url is required because the run id alone opens nothing. That is substantive added context on auth and result semantics.

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

Conciseness5/5

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

Front-loaded with the core action and returned fields, followed by the two non-obvious behavioral facts (failed-but-charged, cite run_url), then a docs link. Dense and every clause carries information; no 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, the description takes on the burden of enumerating return fields and does so explicitly. Combined with the read-only annotations, an agent has everything needed to call this correctly and interpret the result, including the citation requirement.

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?

Schema description coverage is 0%, so the schema gives only the type/format (uuid pattern) without prose. The description partially compensates by naming the parameter's role ('by run_id') and clarifying that the id alone opens nothing, but it never explains where a run_id comes from or its expected form. Marginal value over the structured fields.

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 ('Get one run by run_id') and enumerates exactly what comes back (status, output, provider_response, failure, charge_usd, charge_basis, run_url), which is enough to distinguish it from runs_list (plural/summary) and runs_stop (mutating). An agent can identify the tool without opening the schema.

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

Usage Guidelines3/5

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

Usage is implied: fetch a single run when you already hold a run_id ('Get one run by run_id'). There is no explicit routing guidance telling the agent to use runs_list or search first to obtain a run_id, and no when-not condition. Adequate but inferential rather than explicit.

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

runs_listList runsA
Read-only
Inspect

List this workspace's runs, newest first; filter by status, provider, endpoint, or task (exact match — use a task_id from a search to see every run of one piece of work). Cursor-paginated. Rows are summaries: input and output read {"omitted": true}; runs_get returns the full run. Docs: https://glasser.ai/docs/api-reference/runs/list

NameRequiredDescriptionDefault
taskNo
limitNoPage size, from 1 to 100. Default: 20.
cursorNo
statusNo
endpointNo
providerNo

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=false, so safety is covered. The description adds genuinely non-obvious behavior: newest-first ordering, cursor pagination, and the fact that list rows omit input/output as {"omitted": true}. It stops short of rate limits or error behavior, but the added context is substantial.

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

Conciseness5/5

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

Three dense sentences: the core operation and ordering come first, then filters, then pagination and the row-shape caveat with the escape hatch to runs_get. No filler, and every clause carries information an agent needs.

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?

With no output schema, the description correctly spends its budget explaining the return shape (summary rows with omitted input/output) and the pagination contract, plus a docs link. A 6-param, zero-required list tool is adequately covered, though the unannotated endpoint/provider filters remain under-explained.

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?

Schema description coverage is only 17%, so the description must carry more weight. It does add value for `task` (exact match, and where to get a task_id) and for cursor pagination, but `endpoint` and `provider` are only named as filter dimensions with no semantics, and `limit`/`cursor` are already documented in the schema. Partial compensation, not full.

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 ('List this workspace's runs'), plus scope ('this workspace's'), ordering ('newest first'), and pagination model. It explicitly differentiates from the sibling runs_get ('runs_get returns the full run'), so an agent can choose between them without opening either 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 concrete filter dimensions (status, provider, endpoint, task) and directs the agent to runs_get when full input/output is needed, and to a prior search to obtain a task_id. No explicit when-not guidance beyond the runs_get handoff, but the routing context is clear.

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

runs_stopStop runA
DestructiveIdempotent
Inspect

Request a stop for an in-flight run. Before dispatch the run becomes STOPPED and free; once dispatched it settles normally and is charged — paid-for work is never discarded. Docs: https://glasser.ai/docs/api-reference/runs/stop

NameRequiredDescriptionDefault
run_idYes

TDQS

A4.3/5.0
Behavior5/5

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

Annotations already indicate destructive and idempotent behavior, but the description adds crucial context: pre-dispatch runs become STOPPED and free, while dispatched runs settle normally and are charged. The guarantee that 'paid-for work is never discarded' is exactly the kind of behavioral nuance an agent needs.

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

Conciseness5/5

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

Three terse, information-dense sentences: the action, the critical lifecycle nuance, and a documentation link. Every sentence earns its place with no filler.

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 one-parameter action with annotations covering safety and idempotency, the description covers the lifecycle and billing implications well. It does not describe the response or error cases, but no output schema exists and the operation is simple, so this is a minor gap.

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

Parameters2/5

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

Schema description coverage is 0%, and the description does not mention run_id at all. The parameter name and schema format/pattern are helpful, but the description provides no additional meaning and fails to compensate for the complete lack of parameter documentation.

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?

The description clearly states the action ('Request a stop') and the resource ('an in-flight run'), making it distinct from sibling tools like runs_get and runs_list. The scope is precise without ambiguity.

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?

It provides clear context on when to use the tool: for in-flight runs before dispatch, and explains behavioral differences after dispatch. It does not explicitly name alternatives or state when not to use it, so it stops short of a 5.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updates
    • Changedinspect1 field changed
      • changedInput schema / properties / endpoint_version / anyOf
        Previous value: -[
        -  {
        -    "description": "Select a supported Endpoint version, or omit for the default. Returns the current Price for that version; selecting a version does not lock its Price.",
        -    "exclusiveMinimum": 0,
        -    "type": "integer"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "description": "Select a supported Endpoint version, including an older one, or omit for the default. Unavailable or retired versions return 409.",
        +    "exclusiveMinimum": 0,
        +    "type": "integer"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
    • Changedrun2 fields changed
      • changedInput schema / properties / endpoint_version / anyOf
        Previous value: -[
        -  {
        -    "description": "Select a supported Endpoint version. Compatible updates keep this version; it does not lock the Price. New Runs use the Price at admission. Omit to use the default version. Unavailable or retired versions return 409.",
        -    "exclusiveMinimum": 0,
        -    "type": "integer"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "description": "Select a supported version, or omit for the default. Compatible updates keep the version; unavailable or retired versions return 409. A version does not lock Price: new Runs use the Price at admission, and accepted Runs keep it through settlement.",
        +    "exclusiveMinimum": 0,
        +    "type": "integer"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedInput schema / properties / input / description
        Added value: +"Provider-native input. Build it from the input_schema returned by Inspect."
    • Changedruns_list2 fields changed
      • changedInput schema / properties / cursor / anyOf
        Previous value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "description": "Pass next_cursor from the previous response to read the next page.",
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedInput schema / properties / limit / description
        Added value: +"Page size, from 1 to 100. Default: 20."
    • Changedsearch3 fields changed
      • changedInput schema / properties / cursor / anyOf
        Previous value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "description": "The next_cursor from the previous response. Use the same query; a cursor from a different query returns 400.",
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • changedInput schema / properties / limit / anyOf
        Previous value: -[
        -  {
        -    "maximum": 20,
        -    "minimum": 1,
        -    "type": "integer"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "description": "Maximum results per page. Default: 5; maximum: 20.",
        +    "maximum": 20,
        +    "minimum": 1,
        +    "type": "integer"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • changedInput schema / properties / query / anyOf
        Previous value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "description": "Keywords that describe the data you need. Omit or leave empty to browse all Endpoints allowed by your Key's Policy.",
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
  2. 1 tool update
    • Changedbalance1 field changed
      • removedInput schema / anyOf
        Removed value: -[
        -  {
        -    "type": "object"
        -  },
        -  {
        -    "type": "array"
        -  }
        -]
  3. 1 tool update
    • Changedsearch2 fields changed
      • addedInput schema / properties / use_case / minLength
        Added value: +1
      • removedInput schema / properties / use_case / pattern
        Removed value: -"\\S"
  4. 1 tool update
    • Changedsearch5 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"
        +]
  5. 2 tool updates
    • Changedinspect1 field 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 inspection belongs to, from a catalog search response. Any stable string is accepted.",
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
    • Changedsearch2 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"
        +  }
        +]
  6. 1 tool update
    • Changedsearch2 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"
        -    }
        -  ]
        -}
  7. 1 tool update
    • Changedsearch1 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"
        +  }
        +]
  8. 4 tool updates
    • Changedinspect1 field 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"
        +    }
        +  ]
        +}
    • Changedrun1 field changed
      • addedInput schema / properties / task_id
        Added value: +{
        +  "anyOf": [
        +    {
        +      "description": "The task this run belongs to, from a catalog search response. Grouping only: it never affects routing, price or idempotency.",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
    • Changedruns_list1 field changed
      • addedInput schema / properties / task
        Added value: +{
        +  "anyOf": [
        +    {
        +      "description": "Return only runs recorded against this task. Exact match.",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
    • Changedsearch2 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"
        +    }
        +  ]
        +}
  9. 7 tool updates
    • First observedbalance
    • First observedinspect
    • First observedrun
    • First observedruns_get
    • First observedruns_list
    • First observedruns_stop
    • First observedsearch

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Live search on six engines (Google, Bing, Yandex, Baidu, DuckDuckGo, Ecosia), image search and single/batch page extraction for AI agents. Keeps source engine and rank. Runs against a self-hosted OpenSERP server or OpenSERP Cloud.
    8
    10
    246 npm
    3
    MIT
  • -
    license
    Not graded
    quality
    C
    maintenance
    Twitter/X, YouTube, Reddit, Google and more - 100+ endpoints in total. No account, no OAuth, no subscription. Pay per call in USDC, or top up once and spend one balance across all of them.
    2
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides live web and document intelligence, including search, company news, scraping, crawling, structured extraction, document parsing, brand intelligence, screenshots, website monitoring, and batch jobs.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.