Skip to main content
Glama

Search

search
Read-onlyIdempotent

Identify a specific financial instrument by name and get its FIGI — municipal bonds ("munis"), corporate and government bonds, equities, funds and futures. For a municipal bond, pass the issuer as it appears on the bond ("CALIFORNIA ST", "NEW YORK ST DORM AUTH") with marketSecDes "Muni": each result returns a FIGI plus a ticker carrying the coupon and maturity, e.g. "CA CAS 4.5 06/01/2013", which is what identifies one bond among an issuer's many. Answers "which bond is this", "find the FIGI for this issuer's bonds", "what municipal bonds has California issued under this name". Returns identifiers only — no price, no yield, and no reported trade data.

Input Schema

NameRequiredDescriptionDefault
queryYesInstrument or issuer name as written on the security, e.g. "Apple Inc", "CALIFORNIA ST", "NEW YORK ST DORM AUTH".
currencyNoCurrency filter, e.g. "USD".
exchCodeNoExchange code, e.g. "US". Municipal bonds have no exchange — leave this off for munis.
marketSecDesNoMarket sector. Pass "Muni" to restrict to municipal bonds; other values include "Corp", "Equity", "Govt", "Comdty".
securityTypeNoSecurity type, e.g. "FIXED" for a fixed-rate bond.

Output Schema

NameRequiredDescriptionDefault
dataNo
nextNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • addedOutput schema / properties / data
      Added value: +{
      +  "items": {
      +    "properties": {
      +      "compositeFIGI": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "exchCode": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "figi": {
      +        "type": "string"
      +      },
      +      "marketSector": {
      +        "type": "string"
      +      },
      +      "name": {
      +        "type": "string"
      +      },
      +      "securityDescription": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "securityType": {
      +        "type": "string"
      +      },
      +      "securityType2": {
      +        "type": "string"
      +      },
      +      "shareClassFIGI": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "ticker": {
      +        "type": "string"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / next
      Added value: +{
      +  "type": "string"
      +}
    • removedOutput schema / properties / query
      Removed value: -{
      -  "description": "The search query string",
      -  "type": "string"
      -}
    • removedOutput schema / properties / result
      Removed value: -{
      -  "description": "Array of matching instruments",
      -  "items": {
      -    "description": "Instrument record with FIGI, name, and metadata",
      -    "type": "object"
      -  },
      -  "type": "array"
      -}
  2. Changed6 schema fields changed
    • changedInput schema / examples
      Previous value: -[
      -  {
      -    "query": "Apple Inc"
      -  },
      -  {
      -    "currency": "USD",
      -    "exchCode": "US",
      -    "query": "Treasury Bond",
      -    "securityType": "Bond"
      -  }
      -]New value: +[
      +  {
      +    "query": "Apple Inc"
      +  },
      +  {
      +    "marketSecDes": "Muni",
      +    "query": "CALIFORNIA ST"
      +  },
      +  {
      +    "currency": "USD",
      +    "exchCode": "US",
      +    "query": "Treasury Bond",
      +    "securityType": "Bond"
      +  }
      +]
    • addedInput schema / properties / currency / description
      Added value: +"Currency filter, e.g. \"USD\"."
    • addedInput schema / properties / exchCode / description
      Added value: +"Exchange code, e.g. \"US\". Municipal bonds have no exchange — leave this off for munis."
    • addedInput schema / properties / marketSecDes / description
      Added value: +"Market sector. Pass \"Muni\" to restrict to municipal bonds; other values include \"Corp\", \"Equity\", \"Govt\", \"Comdty\"."
    • addedInput schema / properties / query / description
      Added value: +"Instrument or issuer name as written on the security, e.g. \"Apple Inc\", \"CALIFORNIA ST\", \"NEW YORK ST DORM AUTH\"."
    • addedInput schema / properties / securityType / description
      Added value: +"Security type, e.g. \"FIXED\" for a fixed-rate bond."
  3. Changed2 schema fields changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "query": "Apple Inc"
      +  },
      +  {
      +    "currency": "USD",
      +    "exchCode": "US",
      +    "query": "Treasury Bond",
      +    "securityType": "Bond"
      +  }
      +]
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "query": {
      +      "description": "The search query string",
      +      "type": "string"
      +    },
      +    "result": {
      +      "description": "Array of matching instruments",
      +      "items": {
      +        "description": "Instrument record with FIGI, name, and metadata",
      +        "type": "object"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "type": "object"
      +}
  4. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnly and idempotent, and the description adds valuable behavioral details beyond them: it discloses that output is limited to identifiers (no price/yield/trade data) and explains how muni results include a ticker carrying coupon/maturity. This enriches the agent's understanding of what to expect without contradicting the hints.

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 compact and front-loaded with the core purpose, then dives into muni specifics crucial for correct use, and finishes with a clear limitation. It avoids fluff, though a bulleted breakdown might improve scannability; still, every sentence earns its place.

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?

Given the tool's moderate complexity (5 params, 1 required) and the presence of an output schema, the description covers the key tricky aspects (muni handling, identifier-only output) without needing to restate schema details. It is sufficient for an agent to call correctly in most cases, though it stops short of discussing ambiguity or multiple matches.

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 100%, so the baseline is 3; the description adds extra nuance by explaining the muni-specific workflow (pass issuer as written, set marketSecDes to 'Muni', and that the resulting ticker 'CA CAS 4.5 06/01/2013' disambiguates bonds). This goes slightly beyond a bare schema, justifying a 4.

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 states a specific verb ('Identify'), resource ('financial instrument'), and outcome ('get its FIGI'), listing instrument categories and clarifying scope with examples like 'CALIFORNIA ST' and the muni flow. It clearly distinguishes itself from a generic search by narrowing to instrument identification and explicitly stating it returns only identifiers, not prices or trades.

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?

The description provides concrete use-case hints ('Answers "which bond is this"...') and advises on muni parameterization (pass issuer with marketSecDes 'Muni'). However, it does not explicitly name alternative tools or state when NOT to use it, though the 'returns identifiers only' caveat implicitly steers away from price/yield needs.

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.