Skip to main content
Glama

CMD+RVL Receipts

Find covered deals

find_deals
Read-onlyIdempotent

Search covered deals by id, trust name, CIK, alias, shelf, vintage or deal_ref. An EXACT query returns one dominant result: proceed. A fuzzy query returns a small ranked set with match reasons, periods and a suggested next call. Use covered_deals only when you need the full universe.

Input Schema

NameRequiredDescriptionDefault
limitNoMaximum ranked candidates to return (default 5; 10 on the builtin fallback; max 25).
queryYesDeal name, ticker-style id, CIK, alias, shelf/vintage fragment, or deal_ref to search.

Output Schema

NameRequiredDescriptionDefault
countYes
limitYes
queryYes
matchesYesDeal id, cik, name, shelf, vintage, aliases, score.
messageYes
truncatedYes
next_actionsYes
total_matchesYes
search_backendNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed27 schema fields changed
    • removedOutput schema / properties / count / description
      Removed value: -"Number of matches returned in this response after applying limit."
    • removedOutput schema / properties / limit / description
      Removed value: -"Maximum matches requested/returned."
    • addedOutput schema / properties / matches / description
      Added value: +"Deal id, cik, name, shelf, vintage, aliases, score."
    • changedOutput schema / properties / matches / items / additionalProperties
      Previous value: -falseNew value: +true
    • removedOutput schema / properties / matches / items / properties / aliases
      Removed value: -{
      -  "items": {
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • removedOutput schema / properties / matches / items / properties / cik
      Removed value: -{
      -  "type": "string"
      -}
    • removedOutput schema / properties / matches / items / properties / deal_ref
      Removed value: -{
      -  "description": "Canonical deal-registry URN (cmdrvl:DEAL-...), or null.",
      -  "type": [
      -    "string",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / matches / items / properties / id
      Removed value: -{
      -  "type": "string"
      -}
    • removedOutput schema / properties / matches / items / properties / match_reason
      Removed value: -{
      -  "description": "Why this candidate matched the query.",
      -  "type": "string"
      -}
    • removedOutput schema / properties / matches / items / properties / matched_on
      Removed value: -{
      -  "description": "The deal metadata field/value that produced the best match.",
      -  "type": "string"
      -}
    • removedOutput schema / properties / matches / items / properties / matched_via
      Removed value: -{
      -  "description": "Match provenance from the canon search-index backend, e.g. 'exact:alias-short', 'exact:cik-key', 'ranked:prefix'. Absent on the builtin fallback scorer.",
      -  "type": "string"
      -}
    • removedOutput schema / properties / matches / items / properties / name
      Removed value: -{
      -  "type": "string"
      -}
    • removedOutput schema / properties / matches / items / properties / num_loans_current
      Removed value: -{
      -  "type": [
      -    "number",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / matches / items / properties / periods
      Removed value: -{
      -  "items": {
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • removedOutput schema / properties / matches / items / properties / score
      Removed value: -{
      -  "description": "Relative search score; higher is a stronger match.",
      -  "type": "number"
      -}
    • removedOutput schema / properties / matches / items / properties / shelf
      Removed value: -{
      -  "type": [
      -    "string",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / matches / items / properties / suggested_next_call
      Removed value: -{
      -  "additionalProperties": false,
      -  "properties": {
      -    "arguments": {
      -      "additionalProperties": {
      -        "type": "string"
      -      },
      -      "description": "Suggested arguments for that next tool.",
      -      "type": "object"
      -    },
      -    "note": {
      -      "description": "How to adapt the suggested call.",
      -      "type": "string"
      -    },
      -    "tool": {
      -      "description": "Advisory next MCP tool to call.",
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "tool",
      -    "arguments",
      -    "note"
      -  ],
      -  "type": "object"
      -}
    • removedOutput schema / properties / matches / items / properties / vintage
      Removed value: -{
      -  "type": "string"
      -}
    • removedOutput schema / properties / matches / items / required
      Removed value: -[
      -  "id",
      -  "name",
      -  "cik",
      -  "deal_ref",
      -  "shelf",
      -  "vintage",
      -  "num_loans_current",
      -  "periods",
      -  "aliases",
      -  "match_reason",
      -  "matched_on",
      -  "score",
      -  "suggested_next_call"
      -]
    • addedOutput schema / properties / search_backend / $ref
      Added value: +"#/properties/matches/items"
    • removedOutput schema / properties / search_backend / additionalProperties
      Removed value: -false
    • removedOutput schema / properties / search_backend / description
      Removed value: -"Provenance of the search backend that answered this find_deals call (bd-36t)."
    • removedOutput schema / properties / search_backend / properties
      Removed value: -{
      -  "backend": {
      -    "description": "Which search backend produced this result.",
      -    "enum": [
      -      "canon-search-index",
      -      "builtin"
      -    ],
      -    "type": "string"
      -  },
      -  "content_hash": {
      -    "description": "Content hash (blake3:…) of the index artifact; null on the builtin scorer.",
      -    "type": [
      -      "string",
      -      "null"
      -    ]
      -  },
      -  "registry_version": {
      -    "description": "Canon deal-registry version from the index artifact's metadata; null on the builtin scorer.",
      -    "type": [
      -      "string",
      -      "null"
      -    ]
      -  }
      -}
    • removedOutput schema / properties / search_backend / required
      Removed value: -[
      -  "backend",
      -  "registry_version",
      -  "content_hash"
      -]
    • removedOutput schema / properties / search_backend / type
      Removed value: -"object"
    • removedOutput schema / properties / total_matches / description
      Removed value: -"Total matching covered deals before applying limit."
    • removedOutput schema / properties / truncated / description
      Removed value: -"True when more matches exist than were returned."
  2. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and openWorldHint=false, but the description adds genuine behavioral detail beyond them: the two result regimes (single dominant result vs. small ranked set) and what a fuzzy result carries (match reasons, periods, suggested next call). It does not describe no-match behavior or error conditions, which keeps it short of a 5 for a lookup tool.

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 short sentences, front-loaded with the searchable fields and followed by the exact/fuzzy outcome behavior and the sibling exclusion. No filler and no repetition of schema or annotation content.

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 an output schema present, return values need not be explained, and the description still adds the decision-relevant result-shape behavior and the sibling routing rule. It is essentially complete for a two-parameter read tool; only edge cases such as no-match or ambiguous multi-hit resolution are left unstated.

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 both parameters are already documented, including the limit default (5), fallback (10) and max (25). The description's list of searchable identifier types largely restates the schema's own query description and adds no syntax or format guidance beyond it, so the baseline 3 applies.

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 covered deals") and enumerates the searchable identifier types (id, trust name, CIK, alias, shelf, vintage, deal_ref). It explicitly names the sibling covered_deals and the condition that distinguishes it, so an agent can tell the two apart 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 Guidelines5/5

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

Gives concrete routing rules: an exact query returns one dominant result and the agent should proceed; a fuzzy query returns a ranked set with match reasons and a suggested next call. It also states the exclusion for the alternative ("Use covered_deals only when you need the full universe"), so when-to-use and when-not-to-use are both covered.

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.