Skip to main content
Glama

api_lookup

Read-onlyIdempotent

Look up exact signatures, parameters, return types, and docs for installed Python or TypeScript symbols in BabelsHoard to verify APIs before calling them.

Instructions

Exact signature of an installed API (signature, firma, parámetros, documentación, versión instalada)

Parameters (with defaults and which are required), return type, docstring and source location of one dotted symbol, from the version installed in the environment - e.g. "pandas.DataFrame.merge", "httpx.Client", "json.dumps", or "react.useState" for a node_modules package. Use it before calling any API you are not sure about. Indexes the package on first use (local, no network; can take seconds).

Args: symbol: fully dotted path starting with the import name. env: environment id, project folder path, or omitted for the default environment. library: optional library name to disambiguate.

Returns: found=true -> {id, qualname, kind, signature, params: [{name, kind, annotation, default, required, description}], returns, summary, doc (first 1500 chars), doc_truncated, members (for modules/classes), library, source}. Use docs_read(id) for the rest of a long doc. found=false -> {certain, suggestions: [real names], message}; certain=false means the name may still exist at runtime. Keywords: signature, parameters, arguments, api lookup, what does it take, return type, firma, parametros, argumentos, que recibe, que devuelve, existe esta funcion

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
envNo
symbolYes
libraryNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, idempotent, closed-world), and the description adds genuinely new behavioral context: first-use indexing is local with no network but 'can take seconds', plus the failure semantics of found=false and the meaning of certain=false. This is exactly the extra context annotations cannot carry.

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?

Purpose is front-loaded and the Args/Returns/Keywords layout is scannable, with the keyword line serving search recall. Slightly long and the first parenthetical overlaps with the Returns section, but every block earns its place given the tool's complexity.

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?

No output schema exists, so the description supplies the return shape itself, including the params sub-object and the doc_truncated flag with a pointer to docs_read. Together with the documented parameters, the first-use indexing caveat, and the ambiguity caveat, an agent has everything needed to call and interpret it.

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 description coverage is 0%, so the description carries the full burden and does so for all three parameters: symbol as 'fully dotted path starting with the import name', env as 'environment id, project folder path, or omitted for the default environment', and library as 'optional library name to disambiguate'. Required vs optional is also implied by the defaults discussion.

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?

Opens with a specific verb+resource ('Exact signature of an installed API') and immediately scopes it with parenthetical detail (signature, parameters, docs, installed version). Concrete example symbols ('pandas.DataFrame.merge', 'json.dumps', 'react.useState') make it trivially distinguishable from siblings like docs_search or docs_read.

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?

Gives an explicit trigger ('Use it before calling any API you are not sure about') and routes follow-up work to a sibling ('Use docs_read(id) for the rest of a long doc'). It also notes the indexing precondition on first use. No explicit when-not-this-tool statement, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.