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.7/5.0
Behavior5/5

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

Beyond the annotations, the description discloses important behaviors: ambiguous matches return figi_candidates and assert nothing, unresolved identifiers are explicitly listed, enrichment degrades gracefully when GLEIF/OpenFIGI is unavailable, and one call cascades through multiple lookup endpoints. This adds meaningful behavioral context and does not contradict the read-only/idempotent 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 long and dense, with heavy parentheticals, but it is front-loaded with purpose and trigger examples, and each section adds necessary behavioral or parameter detail. A tighter structure would improve scannability, but the content earns its place for a multi-source 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?

Even without an output schema, the description covers return behavior well: source-labelled identifiers, an explicit unresolved field, figi_candidates for ambiguous matches, and the drug citation format. For a complex tool with multiple backends, this is remarkably complete.

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?

Schema coverage is already 100%, but the description goes well beyond it with the crucial 'Pass the ENTITY NAME ONLY' rule, issuer-as-printed guidance for bonds, concrete input examples (AAPL, 0000320193, ozempic), and type-specific resolution mechanics. This materially increases the chance of correct invocation.

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 a specific verb and resource: resolving a user-spoken name to canonical/official identifiers, listing concrete ID types (CIK, ticker, LEI, RxCUI, FIGI). The trigger phrasings and supported types make it easy to distinguish from siblings like entity_profile or compare_entities, which are about richer profiles/comparisons rather than name-to-ID resolution.

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 explicit invocation guidance: 'Use FIRST whenever you have a name but need an ID,' plus concrete example phrasings that tell an agent when this tool is appropriate. It does not name sibling alternatives or state explicit when-not-to-use conditions, but the contextual guidance is strong enough to route an agent correctly.

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.8/5.0
Disambiguation3/5

Most tools have detailed descriptions that clearly delineate their purposes, but ask_pipeworx_beta is currently functionally identical to ask_pipeworx, and deep_research overlaps with ask_pipeworx for multi-part questions. The six polymarket_* tools also share related territory, though their boundaries are well-documented.

Naming Consistency3/5

All names use snake_case, and domain prefixes like polymarket_, pipeworx_, and ask_ add predictability. However, the set mixes verb-led names (compare_entities, resolve_entity, search_within) with noun-led names (entity_profile, recent_changes, bet_research), so there is no single consistent verb_noun convention.

Tool Count2/5

35 tools is well above the 15-25 'heavy' band and feels like a kitchen sink: the server bundles a data-research platform, prediction-market analysis, memory, subscriptions, number conversions, and web-dev utilities into one surface. Many of these are unrelated to the server's 'Numbers' identity.

Completeness4/5

The main subdomains are thoroughly covered: data lookup (ask_pipeworx variants, deep_research, validate_claim), prediction-market analysis (arbitrage, edges, fill risk, kalshi spread), memory (remember/recall/forget), and subscriptions (subscribe/list/unsubscribe/recent_alerts). Minor gaps exist, such as no subscription update operation, but core lifecycle coverage is strong.