Skip to main content
Glama

Look Up Class

lookup_class
Read-onlyIdempotent

Returns case-insensitive Xojo documentation for a class, control, or data type by name, with member signatures and optional full-page or member-specific output. Use when you know the API name.

Instructions

Returns the reference page for one Xojo class, control, data type or other API, by name (case-insensitive). If no page has that exact name it tries the Desktop and Web prefixes, so 'Button' finds DesktopButton. By default the page is cut to its description and member tables (methods, properties, events with their signatures), markup stripped; pass member for one member's full entry. An unknown class is an error suggesting search_docs; an unknown member is an error listing the members the page documents. Use this when you know the name; use search_docs for concepts or a name you are unsure of, and list_doc_topics to browse page titles. Reads the installed documentation (fails if none was found) and needs no IDE.

Input Schema

NameRequiredDescriptionDefault
fullNoReturn the unprocessed page instead of the summary. Default false. The summary leaves out the member entries and the sections after them (notes, sample code, compatibility); this is how to read those. Large: String is over 70,000 characters of raw reStructuredText, and output is cut at 100,000.
memberNoReturn only this member's entry (e.g. 'Middle', 'Pressed') rather than the class summary. Case-insensitive.
class_nameYesClass or API name (e.g. 'DesktopButton', 'JSONItem'). An API page's title in list_doc_topics is the name to pass.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv3.7.1
    • changedInput schema / properties / class_name / description
      Previous value: -"Class name to look up (e.g. 'DesktopButton', 'JSONItem')"New value: +"Class or API name (e.g. 'DesktopButton', 'JSONItem'). An API page's title in list_doc_topics is the name to pass."
    • changedInput schema / properties / full / description
      Previous value: -"Return the unprocessed documentation page. Large: String is over 70,000 characters of raw reStructuredText."New value: +"Return the unprocessed page instead of the summary. Default false. The summary leaves out the member entries and the sections after them (notes, sample code, compatibility); this is how to read those. Large: String is over 70,000 characters of raw reStructuredText, and output is cut at 100,000."
  2. First observed

TDQS

A4.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and non-destructive/non-open-world, so the safety profile is covered. The description adds genuinely useful context beyond that: it reads the installed documentation and fails if none was found, needs no running IDE, truncates output at 100,000 characters, and reports errors with suggestions. Those are real behavioral disclosures, but the default output shape is largely restated from the schema's `full` parameter, so this is solid-but-not-distinctive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single dense paragraph, front-loaded with the core behavior and then failure modes and alternatives. Every sentence carries either a routing rule, a default behavior, or an error-handling instruction; nothing is filler.

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?

There is no output schema, and the description compensates by describing exactly what comes back: markup-stripped description and member tables with signatures, or raw reStructuredText when `full` is set, plus size limits. Combined with the named alternatives and prerequisite (installed docs, no IDE), an agent has everything needed to call this correctly.

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, but the description earns more by explaining the interaction between defaults and `member`: the default view is trimmed to description plus member tables, and `member` yields one member's full entry. It also characterizes the scale of `full` (class String over 70,000 characters of raw reStructuredText), which helps the agent avoid a costly call. Minor redundancy with the schema's own `full` description keeps it from a 5.

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?

States a specific verb and resource ('Returns the reference page for one Xojo class, control, data type or other API, by name') and explicitly distinguishes itself from search_docs and list_doc_topics. The name-resolution behavior (case-insensitive, Desktop/Web prefix fallback) is concrete enough that an agent can predict what a given input will retrieve.

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?

Gives explicit when-to-use routing: 'Use this when you know the name; use search_docs for concepts or a name you are unsure of, and list_doc_topics to browse page titles.' It also states what happens on failure paths (unknown class suggests search_docs; unknown member lists documented members), which steers the agent's recovery behavior rather than leaving it to guess.

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