Skip to main content
Glama

Research a capability

research_capability
Read-only

Gives a one-call first overview of a buying task: market prices, a short priced shortlist and alternatives together. Use this when you want a quick picture: the closest listings (matched on what they do, no fixed categories), price range and median for comparable products (with n), and a shortlist with observed prices, market_position (below / in line / above market) and handles in compare_ready, plus suggested_alternatives. It does not run the comparison. Use search_providers → get_provider_profile → compare_providers instead for careful selection; price_benchmark to judge one price. Accepts task (aliases: query, q).

Input Schema

NameRequiredDescriptionDefault
sortNoShortlist ordering. Default 'match'.
taskYesRequired — the natural-language capability/task, e.g. 'reconcile supplier invoices' or 'litigation-analysis provider'. Aliases: query, q.
limitNoShortlist size (1-12, default 5).
buyer_tierNoOptional buyer tier to price against ('team' = Team/SME).
cohort_refNoOptional (1.17.0): reuse the exact set of comparable providers selected by an earlier price_benchmark / market_report / research_capability call.
request_refNoOptional task reference (rq_ + 12 hex) from an earlier answer. Continues that task: its remembered facts (quantities, budget, requirements, benchmark selection) apply to this call, and the answer keeps the same request_ref.
integrationsNoOptional required integrations, e.g. ["zendesk","slack"] — soft preference; integration status is reported per provider.
provider_typeNoPreferred delivery type. 'auto' (default) infers from the task; note 'AI agent' phrasing is treated as generic (neutral), not an agent-only filter. When a type is explicit (mcp/api/agent) matching providers are SOFT-RANKED to the top and the rest are kept as clearly-labelled cross_type_alternative entries — never hard-filtered (no zero-result cliff), and the functional match is never changed. Every provider is labelled with provider_type (public values: agent | mcp | api | unknown) + type_match_score; provider_type{type_rank_boost_applied, boosted_provider_type, result_counts_by_type} is returned.
response_modeNo'summary' (default) or 'full' (adds tier cohorts, coverage and raw results).
max_monthly_usdNoOptional budget ceiling in USD/month — filters the shortlist and drives suggested_alternatives.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "description": "JSON result; identical to the text content block.",
      +  "type": "object"
      +}
  2. Changed1 schema field changed
    • addedInput schema / properties / request_ref
      Added value: +{
      +  "description": "Optional task reference (rq_ + 12 hex) from an earlier answer. Continues that task: its remembered facts (quantities, budget, requirements, benchmark selection) apply to this call, and the answer keeps the same request_ref.",
      +  "type": "string"
      +}
  3. Changed1 schema field changed
    • addedInput schema / properties / cohort_ref
      Added value: +{
      +  "description": "Optional (1.17.0): reuse the exact set of comparable providers selected by an earlier price_benchmark / market_report / research_capability call.",
      +  "type": "string"
      +}
  4. Changed1 schema field changed
    • changedInput schema / properties / provider_type / enum
      Previous value: -[
      -  "auto",
      -  "provider",
      -  "mcp",
      -  "api",
      -  "any"
      -]New value: +[
      +  "auto",
      +  "agent",
      +  "mcp",
      +  "api",
      +  "any"
      +]
  5. Changed1 schema field changed
    • changedInput schema / properties / provider_type / description
      Previous value: -"Preferred delivery type. 'auto' (default) infers from the task; note 'AI agent' phrasing is treated as generic (neutral), not an agent-only filter. When a type is explicit (mcp/api/agent) matching providers are SOFT-RANKED to the top and the rest are kept as clearly-labelled cross_type_alternative entries — never hard-filtered (no zero-result cliff), and the functional niche is never changed. Every provider is labelled with provider_type (public values: agent | mcp | api | unknown) + type_match_score; provider_type{type_rank_boost_applied, boosted_provider_type, result_counts_by_type} is returned."New value: +"Preferred delivery type. 'auto' (default) infers from the task; note 'AI agent' phrasing is treated as generic (neutral), not an agent-only filter. When a type is explicit (mcp/api/agent) matching providers are SOFT-RANKED to the top and the rest are kept as clearly-labelled cross_type_alternative entries — never hard-filtered (no zero-result cliff), and the functional match is never changed. Every provider is labelled with provider_type (public values: agent | mcp | api | unknown) + type_match_score; provider_type{type_rank_boost_applied, boosted_provider_type, result_counts_by_type} is returned."
  6. Changed2 schema fields changed
    • changedInput schema / properties / provider_type / enum
      Previous value: -[
      -  "auto",
      -  "agent",
      -  "mcp",
      -  "api",
      -  "any"
      -]New value: +[
      +  "auto",
      +  "provider",
      +  "mcp",
      +  "api",
      +  "any"
      +]
    • changedInput schema / properties / task / description
      Previous value: -"Required — the natural-language capability/task, e.g. 'reconcile supplier invoices' or 'litigation-analysis agent'. Aliases: query, q."New value: +"Required — the natural-language capability/task, e.g. 'reconcile supplier invoices' or 'litigation-analysis provider'. Aliases: query, q."
  7. Changed1 schema field changed
    • changedInput schema / properties / provider_type / description
      Previous value: -"Preferred delivery type. 'auto' (default) infers from the task; note 'AI agent' phrasing is treated as generic, not an agent-only filter. Every provider is labelled with entity_type and result_counts_by_type is returned."New value: +"Preferred delivery type. 'auto' (default) infers from the task; note 'AI agent' phrasing is treated as generic (neutral), not an agent-only filter. When a type is explicit (mcp/api/agent) matching providers are SOFT-RANKED to the top and the rest are kept as clearly-labelled cross_type_alternative entries — never hard-filtered (no zero-result cliff), and the functional niche is never changed. Every provider is labelled with provider_type (public values: agent | mcp | api | unknown) + type_match_score; provider_type{type_rank_boost_applied, boosted_provider_type, result_counts_by_type} is returned."
  8. Changed1 schema field changed
    • addedInput schema / properties / provider_type
      Added value: +{
      +  "description": "Preferred delivery type. 'auto' (default) infers from the task; note 'AI agent' phrasing is treated as generic, not an agent-only filter. Every provider is labelled with entity_type and result_counts_by_type is returned.",
      +  "enum": [
      +    "auto",
      +    "agent",
      +    "mcp",
      +    "api",
      +    "any"
      +  ],
      +  "type": "string"
      +}
  9. Added

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already cover read-only safety, but the description adds substantive behavior: the response includes price range and median with sample size, market_position labels, compare_ready handles, and suggested_alternatives. It also discloses a scope boundary ('does not run the comparison'), though it omits latency or result-volume expectations. The added output-context value is strong, but not exhaustive.

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 front-loaded with purpose and return contents, then moves to alternatives. It is information-dense but slightly packed into two long sentences; every sentence carries useful routing or output information, with 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 an output schema present, the description need not detail return values, yet it still summarizes the key outputs an agent needs to interpret the response. All required routing, scope boundaries, and workflow alternatives are covered, leaving no ambiguity for correct invocation.

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 100%, so the schema already documents all ten parameters, including enums, defaults, and aliases. The description only repeats the `task` parameter and its aliases, adding no syntax or usage detail beyond the structured schema. Baseline 3 is appropriate.

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 uses a specific verb and resource ('one-call first overview of a buying task') and names exactly what it returns: market prices, a priced shortlist, and alternatives. It is clearly distinguishable from compare_providers, search_providers, and price_benchmark, which are named directly.

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?

It states when to use it ('when you want a quick picture') and explicitly says what it does not do ('It does not run the comparison'). It then redirects the agent to the alternative workflow (search_providers → get_provider_profile → compare_providers) for careful selection and to price_benchmark for judging a single price.

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