Skip to main content
Glama

Fetch one search result in full

fetch
Read-onlyIdempotent

PURPOSE: Read one item in full by an id that search (or another tool) returned: a verse (KJV text), a need's verse set, a church, a gathering (with whether it has passed), a community, or an lb: denomination, saint, sacred site, biblical figure, Bible place or directory church. WHEN TO USE: right after search, with an id exactly as returned (the ChatGPT connector contract). WHEN NOT: other lb: URNs (gatherings, ministries, needs, testimonies, profiles): search (mode protocol). A reference you already know: read_scripture. PARAMETERS: id, passed unchanged: verse:, need:, church:, gathering:, community:, or lb::. The prefix before the first colon picks the source. OUTPUT: id, title, text (Scripture verbatim), url, and metadata (kind-specific facts plus attribution; unresolved holds the id when it was not found). BEHAVIOR: read only. An id that cannot be resolved returns a normal result with metadata.unresolved, not an error. Access: no sign-in; shared limit of 300 requests a minute per IP.

Input Schema

NameRequiredDescriptionDefault
idYesAn id exactly as returned: verse:<ref>, need:<slug>, church:<uuid>, gathering:<uuid>, community:<uuid>, or lb:<kind>:<slug> (e.g. lb:denomination:methodism).

Output Schema

NameRequiredDescriptionDefault
idYesThe id requested.
okNoAlways true on a successful answer (errors come back as isError, never here).
idsNoUp to 25 ids found in this answer, for follow-up calls.
urlYesWeb page for the item.
textYesThe item in full as plain text (Scripture verbatim).
titleYesItem title.
licenseNoLicense URL of the returned data (CC BY 4.0 unless stated).
evidenceNoPresent when Scripture was read: translation, canon, corpus version, attribution, and a SHA-256 per passage.
metadataNoKind-specific facts plus attribution; unresolved when the id was not found.
freshnessNoHow current the answer is: kind (scheduled | recently_observed | verified_live | record), retrieved_at, available_now (true only when activity was verified live).
source_urlNoThe first public web page this answer came from or points to.
visibilityNo"public" for shared data, "yours" for the signed-in believer's own data.
answered_byYesThe implementation that answered (the same tool name the signed-in endpoint lists).
attributionNoCredit line for the data: The Living Bread (living-bread.org).
next_actionsNoUp to 4 links the person can open next.
result_stateNo"empty" when nothing matched (count 0, no results); the text then says so plainly.
content_flagsNo["instruction_like_text_removed"] when retrieved text was withheld.
content_layersNoWhich fields are Scripture and which are human interpretation or reflection.
ignored_paramsNoParameters given that this mode does not use.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • changedInput schema / properties / id / description
      Previous value: -"An id exactly as returned: verse:<ref>, need:<slug>, church:<uuid>, gathering:<uuid>, community:<uuid>, or lb:<kind>:<slug> (e.g. lb:denomination:methodism, lb:church:colombia/iglesia-la-capuchina)."New value: +"An id exactly as returned: verse:<ref>, need:<slug>, church:<uuid>, gathering:<uuid>, community:<uuid>, or lb:<kind>:<slug> (e.g. lb:denomination:methodism)."
    • addedOutput schema / properties / answered_by
      Added value: +{
      +  "description": "The implementation that answered (the same tool name the signed-in endpoint lists).",
      +  "type": "string"
      +}
    • addedOutput schema / properties / ignored_params
      Added value: +{
      +  "description": "Parameters given that this mode does not use.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • changedOutput schema / properties / metadata / description
      Previous value: -"Kind-specific facts (translation, verses, when_utc, has_passed, join_policy, sameAs) plus attribution; unresolved when the id was not found."New value: +"Kind-specific facts plus attribution; unresolved when the id was not found."
    • changedOutput schema / required
      Previous value: -[
      -  "id",
      -  "title",
      -  "text",
      -  "url"
      -]New value: +[
      +  "answered_by",
      +  "id",
      +  "title",
      +  "text",
      +  "url"
      +]
  2. Changed18 schema fields changed
    • addedInput schema / properties / id / description
      Added value: +"An id exactly as returned: verse:<ref>, need:<slug>, church:<uuid>, gathering:<uuid>, community:<uuid>, or lb:<kind>:<slug> (e.g. lb:denomination:methodism, lb:church:colombia/iglesia-la-capuchina)."
    • addedOutput schema / properties / attribution
      Added value: +{
      +  "description": "Credit line for the data: The Living Bread (living-bread.org).",
      +  "type": "string"
      +}
    • addedOutput schema / properties / content_flags
      Added value: +{
      +  "description": "[\"instruction_like_text_removed\"] when retrieved text was withheld.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / content_layers
      Added value: +{
      +  "additionalProperties": {},
      +  "description": "Which fields are Scripture and which are human interpretation or reflection.",
      +  "properties": {},
      +  "type": "object"
      +}
    • addedOutput schema / properties / evidence
      Added value: +{
      +  "additionalProperties": {},
      +  "description": "Present when Scripture was read: translation, canon, corpus version, attribution, and a SHA-256 per passage.",
      +  "properties": {},
      +  "type": "object"
      +}
    • addedOutput schema / properties / freshness
      Added value: +{
      +  "additionalProperties": {},
      +  "description": "How current the answer is: kind (scheduled | recently_observed | verified_live | record), retrieved_at, available_now (true only when activity was verified live).",
      +  "properties": {},
      +  "type": "object"
      +}
    • addedOutput schema / properties / id / description
      Added value: +"The id requested."
    • addedOutput schema / properties / ids
      Added value: +{
      +  "description": "Up to 25 ids found in this answer, for follow-up calls.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / license
      Added value: +{
      +  "description": "License URL of the returned data (CC BY 4.0 unless stated).",
      +  "type": "string"
      +}
    • addedOutput schema / properties / metadata / description
      Added value: +"Kind-specific facts (translation, verses, when_utc, has_passed, join_policy, sameAs) plus attribution; unresolved when the id was not found."
    • addedOutput schema / properties / next_actions
      Added value: +{
      +  "description": "Up to 4 links the person can open next.",
      +  "items": {
      +    "additionalProperties": {},
      +    "properties": {
      +      "label": {
      +        "type": "string"
      +      },
      +      "url": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "label",
      +      "url"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / ok
      Added value: +{
      +  "description": "Always true on a successful answer (errors come back as isError, never here).",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / result_state
      Added value: +{
      +  "description": "\"empty\" when nothing matched (count 0, no results); the text then says so plainly.",
      +  "enum": [
      +    "useful",
      +    "empty"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / source_url
      Added value: +{
      +  "description": "The first public web page this answer came from or points to.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / text / description
      Added value: +"The item in full as plain text (Scripture verbatim)."
    • addedOutput schema / properties / title / description
      Added value: +"Item title."
    • addedOutput schema / properties / url / description
      Added value: +"Web page for the item."
    • addedOutput schema / properties / visibility
      Added value: +{
      +  "description": "\"public\" for shared data, \"yours\" for the signed-in believer's own data.",
      +  "type": "string"
      +}
  3. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/openWorld/no-destructive, but the description adds genuine context beyond them: an unresolvable id returns a normal result with metadata.unresolved rather than an error, no sign-in is required, and there is a shared 300 req/min per-IP limit. These are non-obvious behaviors that materially affect how an agent should call and interpret the tool.

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?

Labeled sections (PURPOSE/WHEN TO USE/WHEN NOT/PARAMETERS/OUTPUT/BEHAVIOR) front-load the decision-relevant content and each sentence carries information. It is dense and somewhat long for a single-parameter tool, but nothing is wasted 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?

Even though an output schema exists, the description adds the error-semantics and access/rate-limit facts an agent needs, and covers all disambiguation cases against its many siblings. Nothing required to call it correctly or interpret a failed lookup 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, and the schema already enumerates the accepted id formats. The description adds interpretive value by explaining that 'the prefix before the first colon picks the source,' which tells the agent how the id is parsed rather than just which forms exist.

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 ('Read one item in full by an id') and enumerates exactly which kinds of items qualify (verse, need, church, gathering, community, lb: kinds). It also explicitly names the siblings it is not, so an agent can distinguish it from search and read_scripture without opening any schema.

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?

Provides explicit WHEN TO USE ('right after search, with an id exactly as returned') and WHEN NOT clauses that route to named alternatives: other lb: URNs go to search (mode protocol), and a known reference goes to read_scripture. Both the positive and negative selection conditions are covered.

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.

Resources