Skip to main content
Glama

Santismm Knowledge — Harness Engineering, Agentic AI & Governance

Search every SANTISMM knowledge surface

search_all
Read-onlyIdempotent

Search the core corpus, first-party essays, executable Labs, epistemic claims, the Homeric Atlas, the AI benchmarks (professions and benchmark catalogue) and Physical AI (robot platforms, documented deployments, deployment guide) in one call. Use this first when a natural-language question might require a calculation, a long-form essay, a claim audit or a model choice rather than only a core knowledge unit. Results name the next tool to call; calculator-shaped questions are routed toward Labs, 'which AI model for…' questions toward the benchmarks, and robotics questions toward Physical AI.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "query": "<query>"
    },
    "name": "search_all"
  }
}

Input Schema

NameRequiredDescriptionDefault
queryYesQuestion or topic, in English, Spanish, Portuguese, French, German, Japanese or Simplified Chinese.
localeNoLanguage of the returned body. Default: en.
surfacesNoRestrict the search. Omit to search all seven surfaces.
content_localesNoKeep only results whose text is entirely in these languages. `locale` is a presentation preference and still returns substitutions, labelled; this is the hard filter. A result that mixes a language you did not allow is dropped, and so is one that cannot declare its languages.
limit_per_surfaceNoMaximum hits from each surface. Default: 5.

Output Schema

NameRequiredDescriptionDefault
countYes
queryYes
resultsYes
empty_reasonNoWhy a strict content_locales filter returned nothing.
requested_localeYesThe locale this search asked for.
substituted_countYesHow many results are not in the requested language.
unavailable_surfacesYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • changedInput schema / properties / surfaces / description
      Previous value: -"Restrict the search. Omit to search all six surfaces."New value: +"Restrict the search. Omit to search all seven surfaces."
    • changedInput schema / properties / surfaces / items / enum
      Previous value: -[
      -  "core",
      -  "articles",
      -  "labs",
      -  "claims",
      -  "homeric_atlas",
      -  "benchmarks"
      -]New value: +[
      +  "core",
      +  "articles",
      +  "labs",
      +  "claims",
      +  "homeric_atlas",
      +  "benchmarks",
      +  "physical_ai"
      +]
    • changedOutput schema / properties / results / items / properties / surface / enum
      Previous value: -[
      -  "core",
      -  "articles",
      -  "labs",
      -  "claims",
      -  "homeric_atlas",
      -  "benchmarks"
      -]New value: +[
      +  "core",
      +  "articles",
      +  "labs",
      +  "claims",
      +  "homeric_atlas",
      +  "benchmarks",
      +  "physical_ai"
      +]
    • changedOutput schema / properties / unavailable_surfaces / items / properties / surface / enum
      Previous value: -[
      -  "articles",
      -  "labs",
      -  "benchmarks"
      -]New value: +[
      +  "articles",
      +  "labs",
      +  "benchmarks",
      +  "physical_ai"
      +]
  2. Changed2 schema fields changed
    • removedOutput schema / properties / results / items / properties / content_locale / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / results / items / properties / content_locale / type
      Added value: +[
      +  "string",
      +  "null"
      +]
  3. Changed6 schema fields changed
    • changedInput schema / properties / content_locales / description
      Previous value: -"Keep only results actually written in these languages. `locale` is a presentation preference and still returns substitutions, labelled; this is the hard filter. A result that cannot declare its language is dropped."New value: +"Keep only results whose text is entirely in these languages. `locale` is a presentation preference and still returns substitutions, labelled; this is the hard filter. A result that mixes a language you did not allow is dropped, and so is one that cannot declare its languages."
    • addedOutput schema / properties / results / items / properties / content_locale / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedOutput schema / properties / results / items / properties / content_locale / description
      Previous value: -"The language this result is actually in."New value: +"The single language the whole result is in, or null when it mixes languages. Filter on content_locales, not on this."
    • removedOutput schema / properties / results / items / properties / content_locale / type
      Removed value: -"string"
    • addedOutput schema / properties / results / items / properties / content_locales
      Added value: +{
      +  "description": "Every language this result's text is actually in. More than one means the result mixes them — a localised title with an English summary, for instance.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • changedOutput schema / properties / results / items / properties / fallback / description
      Previous value: -"True when content_locale differs from the requested locale."New value: +"True unless the whole result is in the requested language."
  4. Changed11 schema fields changed
    • addedInput schema / properties / content_locales
      Added value: +{
      +  "description": "Keep only results actually written in these languages. `locale` is a presentation preference and still returns substitutions, labelled; this is the hard filter. A result that cannot declare its language is dropped.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "minItems": 1,
      +  "type": "array"
      +}
    • changedInput schema / properties / surfaces / description
      Previous value: -"Restrict the search. Omit to search all five surfaces."New value: +"Restrict the search. Omit to search all six surfaces."
    • changedInput schema / properties / surfaces / items / enum
      Previous value: -[
      -  "core",
      -  "articles",
      -  "labs",
      -  "claims",
      -  "homeric_atlas"
      -]New value: +[
      +  "core",
      +  "articles",
      +  "labs",
      +  "claims",
      +  "homeric_atlas",
      +  "benchmarks"
      +]
    • addedOutput schema / properties / empty_reason
      Added value: +{
      +  "description": "Why a strict content_locales filter returned nothing.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / requested_locale
      Added value: +{
      +  "description": "The locale this search asked for.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / results / items / properties / content_locale
      Added value: +{
      +  "description": "The language this result is actually in.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / results / items / properties / fallback
      Added value: +{
      +  "description": "True when content_locale differs from the requested locale.",
      +  "type": "boolean"
      +}
    • changedOutput schema / properties / results / items / properties / surface / enum
      Previous value: -[
      -  "core",
      -  "articles",
      -  "labs",
      -  "claims",
      -  "homeric_atlas"
      -]New value: +[
      +  "core",
      +  "articles",
      +  "labs",
      +  "claims",
      +  "homeric_atlas",
      +  "benchmarks"
      +]
    • addedOutput schema / properties / substituted_count
      Added value: +{
      +  "description": "How many results are not in the requested language.",
      +  "type": "number"
      +}
    • changedOutput schema / properties / unavailable_surfaces / items / properties / surface / enum
      Previous value: -[
      -  "articles",
      -  "labs"
      -]New value: +[
      +  "articles",
      +  "labs",
      +  "benchmarks"
      +]
    • changedOutput schema / required
      Previous value: -[
      -  "query",
      -  "count",
      -  "results",
      -  "unavailable_surfaces"
      -]New value: +[
      +  "query",
      +  "requested_locale",
      +  "count",
      +  "results",
      +  "substituted_count",
      +  "unavailable_surfaces"
      +]
  5. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, open-world and non-destructive, so the safety profile is covered. The description adds genuinely new behavioral context: results name the next tool to call, and queries are routed by shape (calculator to Labs, model-choice to benchmarks, robotics to Physical AI). It does not mention result volume or latency, but the limit semantics live in the schema.

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 scope enumeration, then the decision rule, then routing outcomes — a logical order with no filler. The middle sentence is dense and slightly convoluted, but every clause conveys usable selection or routing information.

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, so return values need no explanation, and the description still adds the crucial fact that results point to the next tool. For a broad multi-surface search with five documented parameters, nothing an agent needs to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter including the locale/content_locales distinction is already documented in the schema. The description references surfaces only by naming them in prose, which does not add syntax or semantics beyond the enum. Baseline 3 applies since the schema carries the parameter burden.

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 (Search) and enumerates exactly which resources are covered: core corpus, essays, Labs, claims, Homeric Atlas, benchmarks, Physical AI. The phrase 'in one call' distinguishes it from the per-surface siblings like search_articles and search_physical_ai without the agent needing to open their schemas.

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 this first when a natural-language question might require a calculation, a long-form essay, a claim audit or a model choice'), which is real when-to-use guidance. It stops short of naming the narrower alternatives ('search', 'search_articles') as the fallback for pure core-knowledge lookups, leaving a small inference gap.

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.