Skip to main content
Glama

Find a science model

search_models
Read-onlyIdempotent

Use this when the user asks how something works or why something happens in physics, engineering, AI, biology and medicine, earth and space science or mathematics, or asks to see or try a mechanism: e.g. “why do we have seasons”, “how does a jet engine work”, “潮汐是怎么形成的”, “Transformer 的注意力是什么”. Searches the interactive 3D models (“plates”) on world.lapla.si: first an index of the questions each plate answers (Chinese and English), then titles and topics. Returns the best plates, each with its slug, the chapter that answers the question and sometimes lab settings, to pass to show_model. Returns no results when no plate covers the question. Not for news, prices, homework calculations, or medical, legal or financial advice.

Input Schema

NameRequiredDescriptionDefault
langNoLanguage of the results: zh (Chinese) or en (English). Default: the query’s language.
limitNoHow many plates to return at most.
queryYesThe user’s question in their own words, in any language (e.g. “why is the sky blue”, “光刻机是怎么工作的”), or a topic (“black hole”, “黑洞”).

Output Schema

NameRequiredDescriptionDefault
langYesThe language of the texts: zh or en.
queryYesThe query as received.
resultsYesThe plates that answer the query, best first; empty when none does.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "lang": {
      +      "description": "The language of the texts: zh or en.",
      +      "enum": [
      +        "zh",
      +        "en"
      +      ],
      +      "type": "string"
      +    },
      +    "query": {
      +      "description": "The query as received.",
      +      "type": "string"
      +    },
      +    "results": {
      +      "description": "The plates that answer the query, best first; empty when none does.",
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "chapter": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "id": {
      +                "description": "The chapter to open at, for show_model.",
      +                "type": "string"
      +              },
      +              "n": {
      +                "description": "Its number; 0 is the cover.",
      +                "minimum": 0,
      +                "type": "integer"
      +              },
      +              "title": {
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "id",
      +              "n",
      +              "title"
      +            ],
      +            "type": "object"
      +          },
      +          "hall": {
      +            "description": "The hall of the site the plate is in.",
      +            "type": "string"
      +          },
      +          "params": {
      +            "additionalProperties": {
      +              "anyOf": [
      +                {
      +                  "type": "number"
      +                },
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "boolean"
      +                }
      +              ]
      +            },
      +            "description": "Lab settings by id.",
      +            "type": "object"
      +          },
      +          "plate": {
      +            "description": "The plate’s number on the site (e.g. \"05\", \"F07\").",
      +            "type": "string"
      +          },
      +          "slug": {
      +            "description": "The plate id, for show_model and list_chapters.",
      +            "type": "string"
      +          },
      +          "summary": {
      +            "type": "string"
      +          },
      +          "title": {
      +            "type": "string"
      +          },
      +          "url": {
      +            "description": "The plate’s page on world.lapla.si.",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "slug",
      +          "plate",
      +          "title",
      +          "summary",
      +          "hall",
      +          "url",
      +          "chapter"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "required": [
      +    "query",
      +    "lang",
      +    "results"
      +  ],
      +  "type": "object"
      +}
  2. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already cover read-only/idempotent/non-destructive, and the description adds genuinely new behavior: the two-stage search order (question index first, then titles and topics), the bilingual index, the empty-result case, and what each hit contains (slug, answering chapter, sometimes lab settings). That is materially more than the annotations provide.

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?

Front-loaded with the use trigger and tight overall, but the opening sentence is a long run-on stacking many domains and four quoted examples, which dilutes scannability. The exclusions and show_model handoff are well placed at the end.

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?

An output schema exists, yet the description still summarizes the shape of results and the no-results case, and it covers the search strategy and handoff to show_model. Nothing an agent needs to select or call this correctly is missing.

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; the description still adds meaning by clarifying that the query index is bilingual (Chinese and English) and that query may be a full question or a bare topic in any language. It says nothing about the limit parameter, so it does not fully exceed 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?

States a specific verb and resource — searches interactive 3D models ('plates') on world.lapla.si — and scopes it to answering 'how/why' science questions. It is clearly distinguished from siblings: show_model is named as the downstream step and list_chapters is implicitly a different browsing path.

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 triggers with multilingual example questions, plus an explicit negative list ('Not for news, prices, homework calculations, or medical, legal or financial advice'). It also names the follow-up tool (show_model), so the agent knows both entry and continuation.

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.