Skip to main content
Glama

Resolve Entity

resolve_entity
Read-onlyIdempotent

"What's the ticker for…" / "find the CIK for…" / "what's the LEI for…" / "what's the RxCUI for…" / "look up the ID for…" / "what is X's official identifier" / "who owns X" / "is X a subsidiary of Y" — resolve a user-spoken NAME to the canonical/official identifiers other tools require as input. Use FIRST whenever you have a name but need an ID. SUPPORTED TYPES: "company" (cross-source identity spine: 10-digit CIK + ticker + company_name from SEC EDGAR, legal-entity LEI from GLEIF with parent/ultimate-parent/children ownership when the LEI resolves, and security FIGI from OpenFIGI — by exact ticker map when a ticker is implied, and otherwise by name search, so NON-EQUITY instruments that never have a ticker (municipal and corporate bonds, notes, authority debt) DO resolve here; when a name matches more than one instrument it asserts nothing and returns figi_candidates to pick from, which is the correct answer to an issuer name that does not identify a single bond; every identifier is labelled with the source that established it, and an identifier that could NOT be resolved is stated explicitly under unresolved rather than omitted — accepts ticker, CIK, ISIN, or company name as input; an ISIN like "CH0038863350" resolves to the LEGAL ENTITY that issued the security via the GLEIF ISIN-to-LEI mapping, covering non-US issuers EDGAR cannot reach), "drug" (returns RxCUI + ingredient + brand from RxNorm + pipeworx://rxnorm/concept/{rxcui} citation; accepts brand or generic name). LEI/FIGI enrichment degrades gracefully — if GLEIF or OpenFIGI is unavailable, the EDGAR identifiers still return. Each call cascades through several lookup endpoints internally — using resolve_entity replaces 2-3 manual lookups.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
typeYesEntity type: "company" or "drug".
valueYesFor company: ticker (AAPL), CIK (0000320193), or name. For drug: brand or generic name (e.g., "ozempic", "metformin"). Pass the ENTITY NAME ONLY — for a bond that is the ISSUER exactly as printed ("NEW YORK ST DORM AUTH"), never the question's full noun phrase ("NEW YORK ST DORM AUTH revenue bonds"): the FIGI lookup matches instrument names, so trailing security-class words match nothing.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed1 schema field changed
    • changedInput schema / properties / value / description
      Previous value: -"For company: ticker (AAPL), CIK (0000320193), or name. For drug: brand or generic name (e.g., \"ozempic\", \"metformin\")."New value: +"For company: ticker (AAPL), CIK (0000320193), or name. For drug: brand or generic name (e.g., \"ozempic\", \"metformin\"). Pass the ENTITY NAME ONLY — for a bond that is the ISSUER exactly as printed (\"NEW YORK ST DORM AUTH\"), never the question's full noun phrase (\"NEW YORK ST DORM AUTH revenue bonds\"): the FIGI lookup matches instrument names, so trailing security-class words match nothing."
  2. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the idempotent/readonly annotations, the description discloses rich behavioral details: ambiguity handling ('returns `figi_candidates` to pick from'), explicit unresolved identifiers, graceful degradation when GLEIF/OpenFIGI are unavailable, and internal cascading lookups. It adds far more than the annotations alone and contains no contradiction.

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 long but front-loaded with purpose and examples, and every section adds operational value. It remains dense and could benefit from structured bullet points, but the length is justified given the tool's multi-entity complexity.

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 does a good job explaining return behaviors for ambiguity and unresolved identifiers, plus the drug output format. However, it does not fully specify the exact output object shape for a successful company resolution (e.g., key names, nesting), leaving some residual uncertainty for a complex tool.

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?

Though schema coverage is 100%, the description adds crucial semantic nuance: for company values it distinguishes ticker, CIK, ISIN, and name; for drug values it covers brand/generic names. Most importantly, it warns that bond issuers must be passed 'exactly as printed' and not the full noun phrase, with a reason. This materially improves correct invocation beyond the schema.

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+resource: 'resolve a user-spoken NAME to the canonical/official identifiers other tools require as input.' It provides concrete query examples and explicitly says 'Use FIRST whenever you have a name but need an ID,' which clearly positions it against sibling tools that consume identifiers.

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 gives an explicit when: 'Use FIRST whenever you have a name but need an ID.' It also details supported types and input formats. However, it does not name alternatives or state when-not-to-use it, so it stops short of the fully explicit exclusions that would earn a 5.

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.

TDQS

A3.9/5.0
Disambiguation2/5

Multiple tools overlap heavily: ask_pipeworx, ask_pipeworx_beta, ask_pipeworx_grounded, deep_research, and validate_claim all route questions to the same 5,798-tool catalog and can return similar evidence-backed answers. Additionally, polymarket_arbitrage, polymarket_edges, polymarket_fill_risk, polymarket_edge_tracker, and bet_research all circle prediction-market edge detection, creating boundary ambiguity despite detailed descriptions.

Naming Consistency3/5

Most tools follow a verb_noun or noun_verb pattern (e.g., list_subscriptions, generate_llms_txt, scan_dependency, compare_entities, resolve_entity), and consistent snake_case is used throughout. However, some names are vague and unclear (query, metadata, recall, forget, datasets), and the ask_pipeworx family is not clearly versioned in naming.

Tool Count2/5

34 tools is heavy for a server that is conceptually a data-access gateway plus a few meta utilities. The count is inflated by multiple near-duplicate research modes (ask_pipeworx, ask_pipeworx_beta, ask_pipeworx_grounded, deep_research) and an extensive prediction-market subfamily that could be consolidated.

Completeness4/5

The server covers its main domains well: entity resolution, company profiles, comparisons, change feeds, claim verification, grounded Q&A, and data discovery all exist. Minor gaps include no obvious tool for general web search or full-text legal records, and the subscription/alert system lacks an update-subscription tool, but core workflows have no dead ends.