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 when a ticker is implied; 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").

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds valuable behavioral context: graceful degradation if GLEIF/OpenFIGI are unavailable, explicit labeling of sources, and the statement that unresolved identifiers appear under 'unresolved' rather than being omitted. It also discloses internal cascading lookups, giving the agent a realistic expectation of cost and behavior.

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 but well-structured: front-loaded with examples and a 'Use FIRST' directive, followed by supported types and behavioral notes. Some redundancy exists (e.g., 'Use FIRST' appears twice), but the length is justified by the tool's complexity and multiple entity types. It remains easily scannable.

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?

Given the tool's complexity and lack of output schema, the description is remarkably complete. It details return contents for both company (CIK, ticker, company_name, LEI, FIGI, ownership, unresolved identifiers) and drug (RxCUI, ingredient, brand, citation), fallback behavior, and input variants. This equips the agent to understand results and decide when to use the 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?

The input schema already covers both parameters (type, value) with descriptions, giving 100% coverage. The description further enriches semantics by explaining how ISIN maps to legal entity via GLEIF, examples for ticker/CIK/name, and the drug type details (RxCUI, ingredient, brand). This goes well beyond the schema's basic field descriptions.

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 the tool resolves user-spoken names to canonical identifiers, with a specific verb ('resolve') and resource ('a user-spoken NAME to the canonical/official identifiers other tools require as input'). It distinguishes itself from siblings like search or entity_profile by emphasizing it produces IDs needed by other tools, and it provides concrete examples for multiple entity types.

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?

Explicit guidance: 'Use FIRST whenever you have a name but need an ID.' This directly tells the agent when to invoke the tool. It also mentions that it replaces 2-3 manual lookups, reinforcing its role. While it doesn't list exclusions, the 'FIRST' directive and specific supported types provide clear usage context.

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
Disambiguation2/5

The tool set has significant overlap among query and research tools (ask_pipeworx, ask_pipeworx_beta, ask_pipeworx_grounded, deep_research, bet_research) and among entity/company tools (entity_profile, compare_entities, recent_changes). Despite detailed descriptions, an agent would struggle to select the correct tool without careful reading, especially for nuanced differences.

Naming Consistency2/5

Tool naming is inconsistent: some start with verbs (ask_, generate_, validate_, scan_, subscribe) while others are nouns (entity_profile, popular, trending, search, recent_alerts, recent_changes). The snake_case style is consistent, but the verb_noun pattern is not, making predictions of tool names difficult.

Tool Count3/5

38 tools is on the high side for a single server, but the scope is broad (general query, research, Trakt, subscriptions, memory). The count is appropriate for the wide range of functionality, though some tools could be merged to reduce cognitive load.

Completeness4/5

The tool set covers a very wide range of tasks: querying, research, entity profiles, comparisons, subscriptions, memory, Trakt operations, etc. For the Trakt domain, it has all essential operations (search, get, list, trending). The Pipeworx side has a comprehensive set for data access, grounding, and validation. Minor gaps exist (e.g., no update for subscriptions), but overall it is well-covered.