Skip to main content
Glama

Urantia Papers

Semantic Search

search.semantic
Read-onlyIdempotent

Search the Urantia Papers using semantic similarity (vector embeddings). Returns conceptually related results even without exact keyword matches. A reference such as "99:1.1" gives those paragraphs; a pasted paragraph gives itself first. Each result has strength (strong, related, weak) and match (reference, exact, similar). The list holds the 100 nearest; meta.total is the length of that list, and meta.related counts the related or better.

Input Schema

NameRequiredDescriptionDefault
qNoAlias for `query` (REST compatibility).
langNoLanguage of the results. "es" gives the Spanish text and titles; the question can be in Spanish or English, and `strength` allows for the lower similarity of a Spanish question. Default "eng".eng
pageNoPage number (0-indexed)
limitNoResults per page (1-100)
queryNoNatural language query. Example: "What is the meaning of life?"
part_idNoFilter to a specific part ID (1-4)
paper_idNoFilter to a specific paper ID
include_entitiesNoInclude entity mentions
include_bible_parallelsNoInclude the top-10 Bible verses semantically nearest to each result (Urantia → Bible).
include_urantia_parallelsNoInclude the top-10 most-similar OTHER Urantia paragraphs for each result.

Output Schema

NameRequiredDescriptionDefault
dataYes
metaYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / lang
      Added value: +{
      +  "default": "eng",
      +  "description": "Language of the results. \"es\" gives the Spanish text and titles; the question can be in Spanish or English, and `strength` allows for the lower similarity of a Spanish question. Default \"eng\".",
      +  "enum": [
      +    "eng",
      +    "es"
      +  ],
      +  "type": "string"
      +}
  2. Changed2 schema fields changed
    • addedOutput schema / properties / data / items / properties / language
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / data / items / properties / translation
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "license": {
      +      "const": "CC0-1.0",
      +      "type": "string"
      +    },
      +    "method": {
      +      "const": "machine",
      +      "type": "string"
      +    },
      +    "review": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    }
      +  },
      +  "required": [
      +    "method",
      +    "license",
      +    "review"
      +  ],
      +  "type": "object"
      +}
  3. Changed7 schema fields changed
    • addedInput schema / properties / q / maxLength
      Added value: +2000
    • addedInput schema / properties / query / maxLength
      Added value: +2000
    • addedOutput schema / properties / data / items / properties / match
      Added value: +{
      +  "enum": [
      +    "reference",
      +    "exact",
      +    "similar"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / data / items / properties / strength
      Added value: +{
      +  "enum": [
      +    "strong",
      +    "related",
      +    "weak"
      +  ],
      +  "type": "string"
      +}
    • changedOutput schema / properties / data / items / required
      Previous value: -[
      -  "id",
      -  "standardReferenceId",
      -  "sortId",
      -  "paperId",
      -  "sectionId",
      -  "partId",
      -  "paperTitle",
      -  "sectionTitle",
      -  "paragraphId",
      -  "text",
      -  "labels",
      -  "similarity"
      -]New value: +[
      +  "id",
      +  "standardReferenceId",
      +  "sortId",
      +  "paperId",
      +  "sectionId",
      +  "partId",
      +  "paperTitle",
      +  "sectionTitle",
      +  "paragraphId",
      +  "text",
      +  "labels",
      +  "similarity",
      +  "strength",
      +  "match"
      +]
    • addedOutput schema / properties / meta / properties / related
      Added value: +{
      +  "maximum": 9007199254740991,
      +  "minimum": -9007199254740991,
      +  "type": "integer"
      +}
    • changedOutput schema / properties / meta / required
      Previous value: -[
      -  "page",
      -  "limit",
      -  "total",
      -  "totalPages"
      -]New value: +[
      +  "page",
      +  "limit",
      +  "total",
      +  "totalPages",
      +  "related"
      +]
  4. Changed4 schema fields changed
    • changedInput schema / properties / include_bible_parallels / description
      Previous value: -"Include the top-10 Bible verses semantically nearest to each result (UB → Bible)."New value: +"Include the top-10 Bible verses semantically nearest to each result (Urantia → Bible)."
    • removedOutput schema / properties / data / items / properties / audio
      Removed value: -{}
    • removedOutput schema / properties / data / items / properties / htmlText
      Removed value: -{
      -  "type": "string"
      -}
    • changedOutput schema / properties / data / items / required
      Previous value: -[
      -  "id",
      -  "standardReferenceId",
      -  "sortId",
      -  "paperId",
      -  "sectionId",
      -  "partId",
      -  "paperTitle",
      -  "sectionTitle",
      -  "paragraphId",
      -  "text",
      -  "htmlText",
      -  "labels",
      -  "audio",
      -  "similarity"
      -]New value: +[
      +  "id",
      +  "standardReferenceId",
      +  "sortId",
      +  "paperId",
      +  "sectionId",
      +  "partId",
      +  "paperTitle",
      +  "sectionTitle",
      +  "paragraphId",
      +  "text",
      +  "labels",
      +  "similarity"
      +]
  5. Changed4 schema fields changed
    • addedInput schema / properties / include_bible_parallels
      Added value: +{
      +  "default": false,
      +  "description": "Include the top-10 Bible verses semantically nearest to each result (UB → Bible).",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / include_urantia_parallels
      Added value: +{
      +  "default": false,
      +  "description": "Include the top-10 most-similar OTHER Urantia paragraphs for each result.",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / data / items / properties / bibleParallels
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "bookCode": {
      +        "type": "string"
      +      },
      +      "chapter": {
      +        "maximum": 9007199254740991,
      +        "minimum": -9007199254740991,
      +        "type": "integer"
      +      },
      +      "chunkId": {
      +        "type": "string"
      +      },
      +      "embeddingModel": {
      +        "type": "string"
      +      },
      +      "rank": {
      +        "maximum": 9007199254740991,
      +        "minimum": -9007199254740991,
      +        "type": "integer"
      +      },
      +      "reference": {
      +        "type": "string"
      +      },
      +      "similarity": {
      +        "type": "number"
      +      },
      +      "source": {
      +        "type": "string"
      +      },
      +      "text": {
      +        "type": "string"
      +      },
      +      "verseEnd": {
      +        "maximum": 9007199254740991,
      +        "minimum": -9007199254740991,
      +        "type": "integer"
      +      },
      +      "verseStart": {
      +        "maximum": 9007199254740991,
      +        "minimum": -9007199254740991,
      +        "type": "integer"
      +      }
      +    },
      +    "required": [
      +      "chunkId",
      +      "reference",
      +      "bookCode",
      +      "chapter",
      +      "verseStart",
      +      "verseEnd",
      +      "text",
      +      "similarity",
      +      "rank",
      +      "source",
      +      "embeddingModel"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / data / items / properties / urantiaParallels
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "embeddingModel": {
      +        "type": "string"
      +      },
      +      "id": {
      +        "type": "string"
      +      },
      +      "paperId": {
      +        "type": "string"
      +      },
      +      "paperTitle": {
      +        "type": "string"
      +      },
      +      "rank": {
      +        "maximum": 9007199254740991,
      +        "minimum": -9007199254740991,
      +        "type": "integer"
      +      },
      +      "sectionTitle": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "similarity": {
      +        "type": "number"
      +      },
      +      "source": {
      +        "type": "string"
      +      },
      +      "standardReferenceId": {
      +        "type": "string"
      +      },
      +      "text": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "id",
      +      "standardReferenceId",
      +      "paperId",
      +      "paperTitle",
      +      "sectionTitle",
      +      "text",
      +      "similarity",
      +      "rank",
      +      "source",
      +      "embeddingModel"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
  6. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and open-world, so the safety profile is covered. The description adds real behavioral context beyond that: result `strength` (strong/related/weak), `match` (reference/exact/similar), and the fact that the list holds the 100 nearest with meta.total/meta.related counts.

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?

Four dense sentences, front-loaded with the core purpose and the keyword-vs-semantic distinction, then result semantics. No filler, though the strength/match enumeration is slightly compressed and could read as jargon on first pass.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With a full schema and an output schema present, the description supplies what those don't: input forms and result-label semantics. The only loose end is that the "100 nearest" list is not reconciled with `limit`/`page` pagination, a minor ambiguity.

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% across 10 parameters, so baseline is 3. The description still adds meaning by explaining the two query modes (reference string vs pasted paragraph) that determine how `query` is interpreted, which the schema does not convey.

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+resource (semantic search over the Urantia Papers via vector embeddings) and immediately differentiates from the keyword-based sibling by noting it returns conceptually related results without exact matches. An agent can distinguish it from search.fulltext without opening a schema.

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 concrete usage signals: a reference like "99:1.1" retrieves those paragraphs, and a pasted paragraph returns itself first — useful guidance on accepted query shapes. It stops short of explicitly naming when to prefer search.fulltext over this tool, so it is clear context without full alternative routing.

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.