Skip to main content
Glama

Server Details

Christian discovery for AI assistants: read any Bible passage word for word from a stored public domain King James text (never generated), find verses for what someone is carrying, get honest answers about Jesus and faith from Scripture, and find real churches, prayer gatherings and Tables near any city in the world. Every Scripture answer carries an evidence label: translation, corpus version and a content hash. Read only and free for everyone. Everything points to Jesus Christ.

Ownership verified
Status
Healthy
Uptime
99.9% over 21 days
Last Tested
Transport
Streamable HTTP ยท MCP 2025-11-25
URL

TDQS

A4.4/5.0

Scored across 13 tools

Disambiguation4/5

The specific find_* and read/learn tools have clearly distinct domains, reinforced by explicit WHEN NOT cross-references. The main ambiguity is the generic fetch and search tools, which can overlap with specific tools when resolving ids or answering free-text questions, though their descriptions mostly contain this.

Naming Consistency4/5

Most tools follow a readable snake_case verb_noun pattern (find_churches, read_scripture, learn_the_faith), with only generic 'search' and 'fetch' plus a few prepositional variants as deviations. The convention is still predictable enough for an agent to infer intent.

Tool Count5/5

Thirteen tools is well-scoped for a broad Christian community, Scripture, and discovery server. Each tool earns its place and there is no obvious bloat or thinness at the set level.

Completeness4/5

The surface covers Scripture reading/search, churches, communities, gatherings, prayer connection, service needs, crisis help, faith learning, kingdom activity, onboarding, and free-text search. The main gap is that the server is entirely read-only: there are no tools for joining, committing, posting, or sending, though those are explicitly framed as signed-in actions outside this MCP surface.

Available Tools

13 tools
fetchFetch one search result in fullA
Read-onlyIdempotent
Inspect

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.

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

NameRequiredDescription
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.

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.

find_churchesFind real churches near a place, or one church by idA
Read-onlyIdempotent
Inspect

PURPOSE: Find real churches near a place, nearest first, merged live from churches on The Living Bread and an open worldwide directory of about 120,000 churches; or read one directory church's open data record by its id. WHEN TO USE: "a Baptist church in Dallas", "a parish near Manchester", or after another answer returned an lb:church id. WHEN NOT: services or events at a time: find_gatherings. Groups to join or student communities: find_communities. What a tradition is: learn_the_faith (mode heritage). MODES (required parameters in brackets): near [lat and lng, or city] churches within 250 km (denomination filters by one lowercase word such as "baptist" or "catholic"; limit 1 to 20, default 8). by_id [id, or country and slug] one church: pass the whole lb:church:/ as id, or its two parts. OUTPUT: mode, answered_by, and: near gives searched, count, churches [{id, name, where, distance_km, denomination, on_living_bread, url}], find_a_church and gatherings links, plus honest and nearest_we_hold when count is 0; by_id gives id, name, url, denomination, country, website, verified and provenance. BEHAVIOR: read only; reads the live directory and geocodes the city. City level by design: names, city and distance, never street addresses or contacts. No church within 250 km returns count 0 with an honest sentence and the nearest one held, if any. An unknown id returns a not_found error. The search words (never a user id) are logged anonymously. Parameters a mode does not use are ignored and named in ignored_params. Access: no sign-in; shared limit of 300 requests a minute per IP.

NameRequiredDescriptionDefault
idNoFor by_id: the full id, e.g. "lb:church:colombia/iglesia-la-capuchina".
latNoLatitude in decimal degrees, only if the person shared their location; pair with lng. Coordinates win over city.
lngNoLongitude in decimal degrees, paired with lat.
cityNoFor near: a city, region or country, used when there are no coordinates: "Dallas", "Lagos". Geocoded to its centre.
modeYesWhich kind of answer: near, by_id. Each mode, and the parameters it needs, is explained in the description.
slugNoFor by_id without id: the church slug, e.g. "iglesia-la-capuchina".
limitNoFor near: maximum churches, 1 to 20 (default 8).
countryNoFor by_id without id: the country slug, e.g. "colombia".
denominationNoFor near: one lowercase tradition word: "baptist", "catholic", "methodist", "pentecostal", "orthodox", "anglican".

Output Schema

NameRequiredDescription
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.
modeYesThe mode that answered.
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.
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.

TDQS

A4.9/5.0
Behavior5/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. The description adds substantial context: rate limit (300 requests/minute per IP), anonymous logging of search words, error behavior (not_found for unknown id, count 0 with honest sentence and nearest held), city-level granularity (no street addresses or contacts), and handling of ignored parameters. This goes well beyond what 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?

The description is long but well-structured with clear headings (PURPOSE, WHEN TO USE, WHEN NOT, MODES, OUTPUT, BEHAVIOR) and front-loads the purpose. Every section earns its place given the tool's complexity (two modes, nine parameters). However, some details (e.g., output fields) are repeated or could be inferred from the output schema, adding slight redundancy.

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?

The description is complete for a complex, two-mode tool: it covers purpose, usage, mode-specific parameters, output structure, and behavioral constraints. Although an output schema exists, the description's explicit output summary helps agents understand the return shape without opening the schema. No necessary information is missing.

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

Parameters5/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 adds meaningful semantics: it groups parameters by mode (near requires lat/lng or city; by_id requires id or country+slug), explains defaults (limit default 8), and clarifies denomination filtering by one lowercase word. It also explains how to pass the id (full lb:church:<country>/<slug> or its two parts). This is valuable context beyond the schema descriptions.

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?

The description gives a specific verb+resource ('Find real churches') and distinguishes from siblings explicitly in the WHEN NOT section (find_gatherings, find_communities, learn_the_faith). It also clarifies the two modes (near and by_id) in one sentence. An agent can immediately tell what this tool does and how it differs from others.

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?

It provides explicit WHEN TO USE examples ('a Baptist church in Dallas') and WHEN NOT alternatives with named sibling tools. The conditions that select each mode (near vs by_id) are clearly stated, including the option to use an lb:church id after another answer. Nothing is left to inference.

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

find_communitiesFind a community to belong to, or Christian life at a universityA
Read-onlyIdempotent
Inspect

PURPOSE: Find ongoing Christian community to belong to: discoverable groups on The Living Bread (prayer groups, study groups, city and interest communities) with member counts, how to join and the next posted gathering; or the house's University Network page for a country, US state or city. WHEN TO USE: "is there a prayer group", "a Bible study community in Atlanta", "Christian community at universities in Kenya". WHEN NOT: church buildings: find_churches. One-off events: find_gatherings. A person to pray with now: find_people_to_pray_with. MODES (required parameters in brackets): to_join [none] communities, filtered by query words matched against name, description, kind, city and country (any word matches, so more words widen), paged with limit (1 to 20, default 10) and cursor. university [place] one country, US state or city. OUTPUT: mode, answered_by, and: to_join gives count, total, communities [{id, name, kind, description, where, people, join, next_gathering, rhythm, verified, freshness, handoff}], join_here and next_cursor; university gives matched (null when not held), title, url, summary, entries (up to 14 campus or region pages), suggestions and door. BEHAVIOR: read only. to_join reads live data and never lists private family rooms; university fetches living-bread.org at call time and returns page links, not a structured list of student groups. No match returns count 0, or matched null with the places held. Parameters a mode does not use are ignored and named in ignored_params. NETWORK MODE family [optional query, place, limit, cursor]: the discoverable Christian communities a lonely or new person could join, with an honest empty and a consent note; no member is named (answered by find_my_family). Access: no sign-in; shared limit of 300 requests a minute per IP.

NameRequiredDescriptionDefault
modeYesWhich kind of answer: to_join, university, family. Each mode, and the parameters it needs, is explained in the description.
limitNoFor to_join: page size, 1 to 20 (default 10).
placeNoFor university: one country, US state or city by name: "Japan", "California", "Nairobi".
queryNoFor to_join: filter words, e.g. "prayer", "study", "Atlanta". Omit to list all.
cursorNoOpaque paging token: next_cursor from the previous answer of the same call. Omit for the first page.

Output Schema

NameRequiredDescription
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.
modeYesThe mode that answered.
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.
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.

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare read-only, idempotent, open-world, non-destructive, so the bar is low, yet the description adds substantial context: to_join never lists private family rooms, university fetches living-bread.org live and returns page links rather than structured groups, empty results return count 0 or matched null, unused params are reported in ignored_params, no member is named in family mode, and there is a 300 req/min per-IP shared limit with no sign-in.

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 labeled PURPOSE / WHEN TO USE / WHEN NOT / MODES / OUTPUT / BEHAVIOR sections, so it scans well. It is dense and long, and the NETWORK MODE family paragraph partly repeats the family mode already listed under MODES, but nearly every sentence carries operational 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?

For a three-mode, open-world lookup tool this is thorough: each mode's inputs, matching semantics, empty-result behavior, and access limits are covered. Output field lists are somewhat redundant given an output schema exists, but nothing an agent needs to invoke the tool 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 baseline is 3, but the description adds real meaning: it maps each parameter to its mode, explains that to_join query words are OR-matched across name/description/kind/city/country ('more words widen'), and notes that parameters a mode does not use are ignored and echoed back. It does not restate the limit bounds or cursor format beyond what the schema already carries.

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 (find) and resource (communities), then enumerates the three modes (to_join, university, family) and what each returns. It explicitly distinguishes itself from siblings by naming find_churches, find_gatherings, and find_people_to_pray_with as the tools for the adjacent needs.

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?

A dedicated WHEN TO USE section gives literal example queries ('is there a prayer group', 'a Bible study community in Atlanta') and a WHEN NOT section routes each excluded case to the correct sibling. Nothing about tool selection is left to inference.

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

find_gatheringsFind upcoming gatherings: tonight, this week, or any windowA
Read-onlyIdempotent
Inspect

PURPOSE: Find upcoming Christian gatherings posted on The Living Bread (services, prayer nights, Bible studies, worship nights, meals, recovery groups), soonest first. WHEN TO USE: "something on tonight in Atlanta", "church events this week near Austin", "an online service I can join". WHEN NOT: church buildings: find_churches. Ongoing groups: find_communities. A person to pray with now, or Tables open now: find_people_to_pray_with. MODES (required parameters in brackets): tonight [city] the next hours in one city, matched as text (hours 1 to 36, default 12; country disambiguates). this_week [none] the next seven days within 250 km of lat and lng or city, online gatherings included (limit up to 20, default 10). any [none] a custom window (days 1 to 60, default 14) near a place or anywhere; online true lists only online gatherings; paged with limit and cursor. OUTPUT: mode, answered_by, and count, gatherings [{id, title, when_utc, where, distance_km, kind, online, good_for_a_first_visit, freshness}], the door to every gathering, next_cursor for any, and honest when nothing is held. BEHAVIOR: read only; reads live data. Times are UTC and are what hosts posted: freshness is scheduled with available_now false, never a confirmation it is happening; convert to the person's time before telling them. None returns count 0 and suggests online gatherings. The place words (never a user id) are logged anonymously. Parameters a mode does not use are ignored and named in ignored_params. Access: no sign-in; shared limit of 300 requests a minute per IP.

NameRequiredDescriptionDefault
latNoLatitude in decimal degrees, only if the person shared their location; pair with lng. Coordinates win over city.
lngNoLongitude in decimal degrees, paired with lat.
cityNoA city: matched as text for tonight, geocoded for this_week and any. Required for tonight.
daysNoFor any: days ahead, 1 to 60 (default 14).
modeYesWhich kind of answer: any, tonight, this_week. Each mode, and the parameters it needs, is explained in the description.
hoursNoFor tonight: hours ahead, 1 to 36 (default 12).
limitNoFor this_week and any: maximum gatherings, 1 to 20.
cursorNoOpaque paging token: next_cursor from the previous answer of the same call. Omit for the first page.
onlineNoFor any: true lists only gatherings joinable online from anywhere.
countryNoFor tonight: country name or ISO code to disambiguate the city.

Output Schema

NameRequiredDescription
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.
modeYesThe mode that answered.
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.
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.

TDQS

A4.8/5.0
Behavior5/5

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

Goes well beyond the readOnly/idempotent annotations: discloses that data is live, that times are UTC as posted by hosts and must be converted, that freshness='scheduled' is not a confirmation, anonymous logging of place words, ignored_params behavior, and a 300 req/min shared rate limit. This is exactly the extra context annotations cannot carry.

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?

Dense but deliberately front-loaded with labeled sections (PURPOSE, WHEN TO USE, WHEN NOT, MODES, OUTPUT, BEHAVIOR) that make scanning easy. The MODES inline prose is somewhat compressed and could be broken out, but no sentence 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?

For a 10-parameter tool with an output schema, everything an agent needs is present: mode-to-parameter mapping, defaults, paging via cursor, empty-result behavior, and safety/rate context. The OUTPUT summary is slightly redundant against the output schema but harmless.

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 already 100%, but the description adds genuine meaning by mapping which parameters each mode requires ([city] for tonight, [none] for this_week, etc.), restating defaults and ranges, and explaining that unused parameters are ignored and echoed in ignored_params. This exceeds the schema-only baseline.

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 ('Find upcoming Christian gatherings posted on The Living Bread'), enumerates the kinds of gatherings, and explicitly distinguishes itself from siblings find_churches, find_communities, and find_people_to_pray_with. An agent can route correctly 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 both WHEN TO USE with concrete example utterances ('something on tonight in Atlanta') and an explicit WHEN NOT section naming the alternative tool for each excluded case. Nothing is left to inference.

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

find_people_to_pray_withFind real people to pray with, now or by nameA
Read-onlyIdempotent
Inspect

PURPOSE: Connect a person with real people who pray, honestly: how many believers keep the prayer watch right now and the page where a human answers, which hours of the watch are kept or uncovered, the door where believers pray for them by name, Tables open now, prayers left at places near them, the room where believers pray aloud over the family, and the door to pray for someone by name. WHEN TO USE: the person needs a human rather than information: "can someone pray with me", "is anyone there tonight", "I want someone to pray for my mother", "has anyone prayed near this hospital", "how can I keep a night hour". WHEN NOT: anyone in danger: get_crisis_help first, then this. Scripture: find_scripture_for or read_scripture. Scheduled public events: find_gatherings. MODES (required parameters in brackets): a_person_now [none] the live count keeping watch, the median time to a person, and the door (want: prayer, talk, know_jesus or hard_season picks the door; language says whether someone on watch uses it). the_watch [none] which of the next hours are kept and which are gaps (time_zone, hours 24 or 168). real_people_will_pray [none] the door where believers pray by name and how many prayed in 24 hours. live_tables [none] Tables open now; this public endpoint lists none and says so. prayers_near [lat and lng, or city] public prayers left within radius_km (default 5, max 50), nearest first. hear_the_kingdom_pray [none] the room of recorded prayers from many nations. pray_for_someone [none] the link and steps to pray for a person by name (name personalises it). ask_the_family [none] the door where a person with no account asks the family to pray for them once, and is asked how they are on day 3 and day 7; offer the link, never submit for them (language is echoed). OUTPUT: mode, answered_by, and: a_person_now gives keeping_watch_now, keeping_this_hour, said_available_now, languages, this_hour (kept or gap), time_to_a_person, door, doors and crisis_rule; the_watch gives kept, gaps, wheel [{utc, local, keepers}], gap_ranges, invitation and door; prayers_near gives count, prayers [{id, approx, place, kind, voice, words, scripture_ref, from, prayed_with, when, distance_km}] and totals; the door modes give the link, what happens there, and a scripture_ref (a reference only; read it with read_scripture). BEHAVIOR: read only. This tool never sends a request, contacts anyone or prays; asking is the person's own act at the door it returns. Counts only, never who keeps watch. Places are the centre of an approximate cell, never the exact spot. Never tell a person someone is available now unless freshness.available_now is true. Empty results say so plainly. Parameters a mode does not use are ignored and named in ignored_params. NETWORK MODE opportunities [optional want, language]: only real, opt in doors to pray with another person, available_now true only when verified live (answered by find_someone_to_pray_with). Access: no sign-in; shared limit of 300 requests a minute per IP.

NameRequiredDescriptionDefault
latNoLatitude in decimal degrees, only if the person shared their location; pair with lng. Coordinates win over city.
lngNoLongitude in decimal degrees, paired with lat.
cityNoFor prayers_near: a city or region, geocoded to its centre.
modeYesWhich kind of answer: a_person_now, the_watch, real_people_will_pray, live_tables, prayers_near, hear_the_kingdom_pray, pray_for_someone, ask_the_family, opportunities. Each mode, and the parameters it needs, is explained in the description.
nameNoFor pray_for_someone: the first name of the person to be prayed for; only personalises the answer.
wantNoFor a_person_now: what they want a person for; picks the door handed over.
hoursNoFor the_watch: 24 (the next day, default) or 168 (the week).
limitNoFor prayers_near: maximum prayers, 1 to 30 (default 8).
languageNoFor a_person_now: an ISO language code, e.g. "es".
radius_kmNoFor prayers_near: radius in km, 0.1 to 50 (default 5).
time_zoneNoFor the_watch: IANA time zone for local labels, e.g. "America/Los_Angeles". UTC when omitted.

Output Schema

NameRequiredDescription
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.
modeYesThe mode that answered.
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.
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.

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the annotations (readOnly/idempotent/openWorld), it discloses that the tool never sends or prays, returns counts only and never who keeps watch, reports approximate cells not exact spots, must not claim availability unless freshness.available_now is true, and that unused params appear in ignored_params. It also states no sign-in and a shared 300 requests/minute per IP limit.

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?

It is long but cleanly front-loaded and sectioned (PURPOSE, WHEN TO USE/NOT, MODES, OUTPUT, BEHAVIOR). The OUTPUT section partly restates what the existing output schema would carry, which is the main source of mild bloat.

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?

For a nine-mode tool it covers every mode, their required parameters, per-mode outputs, the read-only/prayer-never-happens contract, empty-result handling, privacy of locations, and rate limits. An agent has everything needed to select a mode and call it 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 schema already documents each field. The description adds real value by mapping which parameters each of the nine modes requires (e.g. prayers_near needs lat/lng or city; the_watch takes time_zone/hours), which the schema alone cannot 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?

The PURPOSE line names a specific verb+resource (connect a person with real people who pray) and enumerates the concrete answers each mode returns. It is immediately distinguishable from siblings like find_scripture_for and find_gatherings.

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?

It gives an explicit WHEN TO USE list with sample user phrasings and a WHEN NOT section routing crisis cases to get_crisis_help first and scripture/gathering needs to their named siblings. Nothing about choosing this tool is left to inference.

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

find_scripture_forFind Scripture for a need, a topic, the words of Jesus, or todayA
Read-onlyIdempotent
Inspect

PURPOSE: Find the verses that speak to something, read verbatim from the stored text: the hand-picked set for a need or feeling, the house's page on what the Bible says about a topic, what Jesus Himself said about a theme, or the Daily Bread verse every member receives on a date. WHEN TO USE: the person names a feeling, a situation or a topic, or asks for today's verse, without a reference. WHEN NOT: a known reference, exact wording, translations side by side, or checking a quote: read_scripture. A ready-written prayer, a parable, a doctrine or a hard season page: learn_the_faith. Danger to life: get_crisis_help first. MODES (required parameters in brackets): need [subject] matches the person's own words to one of 99 needs ("I am scared about surgery" finds fear) and returns up to limit verses (default 5, max 12), each with a one-line why in the house's words; translation or language read them from another stored Bible. topic [subject] the house's page on one of about 300 topics (shame, money, anger) with its key verses. words_of_jesus [subject] the page on what Jesus said about one theme (love, forgiveness, worry). daily_bread [none] the one verse of a date (date YYYY-MM-DD in the person's own time zone, default today in UTC); translation or language apply. OUTPUT: mode, answered_by, and: need gives need, label, matched, verses [{ref, text, why}], page, pray_with_the_family; topic and words_of_jesus give matched (page path or null), title, url, body (the house's words), verses [{ref, text}], related, and suggestions when nothing matched; daily_bread gives date, ref, text, translation, page. evidence and content_layers keep Scripture apart from the house's words. BEHAVIOR: read only. need and daily_bread read bundled data; topic and words_of_jesus fetch the page from living-bread.org at call time and re-read its verses from the stored KJV. No matching need returns an error listing the needs held; no matching page returns matched null with suggestions. The need text (never a user id) is logged anonymously. Parameters a mode does not use are ignored and named in ignored_params. Access: no sign-in; shared limit of 300 requests a minute per IP.

NameRequiredDescriptionDefault
dateNoFor daily_bread: the calendar day as YYYY-MM-DD in the person's own time zone. Omit for today (UTC).
modeYesWhich kind of answer: need, topic, words_of_jesus, daily_bread. Each mode, and the parameters it needs, is explained in the description.
limitNoFor need: maximum verses, 1 to 12 (default 5).
subjectNoThe need, feeling or topic in the person's own words: "I am anxious", "my mother died", "shame", "forgiveness". Required for need, topic and words_of_jesus.
languageNoThe person's BCP-47 language, e.g. "es", "pt-BR", "sw". Picks the best stored public domain or freely licensed Bible for it; translation wins over it.
translationNoA stored translation id from read_scripture mode translations, e.g. "bsb", "web", "dra", "rv1909", "cuv". Default: the King James Version, or the best stored Bible for language.

Output Schema

NameRequiredDescription
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.
modeYesThe mode that answered.
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.
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.

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already establish read-only, idempotent, open-world, non-destructive, but the description adds material behavior they cannot carry: need/daily_bread read bundled data while topic/words_of_jesus fetch living-bread.org at call time and re-read verses from stored KJV; unmatched needs error with a list of held needs; unmatched pages return matched null with suggestions; the need text is logged anonymously; a shared 300 requests/minute per IP limit applies; unused params are ignored and echoed in ignored_params.

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 and organized under PURPOSE/WHEN TO USE/WHEN NOT/MODES/OUTPUT/BEHAVIOR headings, so it is scannable despite its length. It is somewhat over-packed, especially the OUTPUT section, which restates return fields that the output schema already covers.

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?

For a four-mode, six-parameter tool with an output schema, everything needed to call it correctly is present: mode selection, per-mode parameter applicability, default and error behavior, and external-fetch semantics. The OUTPUT restatement is redundant given the output schema but not harmful.

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

Parameters5/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 goes well beyond it by mapping each parameter to the mode that consumes it (date and limit only for daily_bread/need, subject for need/topic/words_of_jesus) and by explaining semantics the schema cannot: subject matches the person's own words to one of 99 needs, list default 5/max 12, date in the person's time zone defaulting to today UTC, translation winning over language.

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 ('find the verses that speak to something, read verbatim from the stored text') and enumerates the four distinct modes with the entity each one queries. It cleanly separates itself from read_scripture (known reference/lookup) and learn_the_faith (prayers, parables, doctrine), so an agent can route 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 Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit WHEN TO USE (person names a feeling, situation, topic, or asks for today's verse without a reference) and WHEN NOT, naming the alternatives read_scripture, learn_the_faith, and get_crisis_help with the condition that selects each. The danger-to-life triage rule ('get_crisis_help first') is a decisive routing instruction rarely seen.

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

find_ways_to_serveFind ways to serve: open needs from verified partnersA
Read-onlyIdempotent
Inspect

PURPOSE: Find open needs on The Living Bread Serve network, posted by verified partner ministries and Christian nonprofits: what is needed, urgency, approximate place, the partner, estimated cost, and whether it can be met in person, remotely or by funding. WHEN TO USE: "how can I help near Kigali", "a need I can fund", "volunteer from home". WHEN NOT: someone who needs prayer or a person to talk to: find_people_to_pray_with. Gatherings to attend: find_gatherings. Committing to a need is a signed-in act on /me (offer_to_serve). MODES (required parameters in brackets): near [none] nearest first within 250 km of lat and lng or city, or by country, or the whole network when no place is given (limit 1 to 20, default 8). public_needs [none] needs that ask for people, filtered by city or country name, remote_only true for needs met from anywhere. OUTPUT: mode, answered_by, and searched, count, needs [{id, title, description, category, urgency, where, distance_km, partner, ways, estimated_cost, pilot, door}], honest when empty, and the door to Serve. BEHAVIOR: read only; reads live data. Places are approximate (city, region, country), never a home address. When none is near, near returns count 0 with up to 5 remote or fundable needs instead. Parameters a mode does not use are ignored and named in ignored_params. NETWORK MODE neighbor [optional city, country, remote_only]: verified service opportunities from ministries, city and country only (answered by serve_my_neighbor). Access: no sign-in; shared limit of 300 requests a minute per IP.

NameRequiredDescriptionDefault
latNoLatitude in decimal degrees, only if the person shared their location; pair with lng. Coordinates win over city.
lngNoLongitude in decimal degrees, paired with lat.
cityNoA city: geocoded for near, matched by name for public_needs.
modeYesWhich kind of answer: near, public_needs, neighbor. Each mode, and the parameters it needs, is explained in the description.
limitNoFor near: maximum needs, 1 to 20 (default 8).
countryNoA country name (or ISO code for public_needs): "Rwanda", "Kenya".
remote_onlyNoFor public_needs: true lists only needs that can be met remotely.

Output Schema

NameRequiredDescription
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.
modeYesThe mode that answered.
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.
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.

TDQS

A4.4/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, openWorld, and non-destructive, so the safety profile is covered structurally. The description nonetheless adds real behavioral context beyond them: approximate place granularity (never a home address), the near fallback that returns count 0 plus up to 5 remote/fundable needs, ignored_params naming, and a 300 req/min shared per-IP limit with no sign-in. Strong added value, though it is delivered as a dense block rather than as cleanly separable traits.

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 and sectioned (PURPOSE, WHEN TO USE, WHEN NOT, MODES, OUTPUT, BEHAVIOR), and most sentences carry load. The structure slips at the end: the neighbor mode is described in a trailing 'NETWORK MODE' block after OUTPUT/BEHAVIOR instead of alongside the other modes, and the OUTPUT paragraph partly restates what the output schema already provides.

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?

For a 7-parameter, 3-mode, open-world tool this covers everything an agent needs: mode selection, per-mode parameters, fallback behavior, access limits, privacy of location data, and honest empty results. With an output schema present, the return-value detail is redundant but not harmful.

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 goes further by mapping each mode to the parameters it consumes (near uses lat/lng/city/country/limit, public_needs uses city/country/remote_only, neighbor uses city/country/remote_only) and by explaining that unused params are ignored and echoed in ignored_params. That is genuine semantic value beyond the field-level descriptions.

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 ('Find open needs on The Living Bread Serve network') and enumerates exactly what a result contains (need, urgency, place, partner, cost, mode of participation). It names the siblings it is not (find_people_to_pray_with, find_gatherings) so an agent can route without opening another 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?

Explicit WHEN TO USE with concrete user phrasings ('how can I help near Kigali', 'a need I can fund'), explicit WHEN NOT with the correct alternative tools, and a note that committing is a separate signed-in action (offer_to_serve). Nothing about selection is left to inference.

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

get_crisis_helpGet crisis help: the real emergency number and crisis line for a countryA
Read-onlyIdempotent
Inspect

PURPOSE: Give the real emergency number and crisis hotlines (suicide or crisis line, text line, domestic violence, child help) for one country, from the verified dataset The Living Bread ships for 53 countries, with its source and the date it was checked. WHEN TO USE: FIRST, before any other tool, whenever a person speaks of harming themselves or someone else, or is in danger ("I want to die", "my friend is suicidal", "he hits me"). WHEN NOT: for loneliness or a wish to talk with no danger, use find_people_to_pray_with (mode a_person_now); for comfort from the Word afterwards, find_scripture_for. Never give a verse in place of a phone number. PARAMETERS: country is the person's country as a name or ISO 3166-1 alpha-2 code ("Nigeria", "GB", "USA"). If you do not know it, ask; this tool never defaults to one country's number. Omit it only to get the list of countries held. OUTPUT: country {code, name} or null; emergency numbers; crisis_line, text_line, domestic_violence and child_help (each name and number, or null); source, verified_at, confidence; rule (how to use the answer); door (the app's crisis page); countries_held when no country matched. BEHAVIOR: read only; a static dataset, no network call. Matching is strict (ISO code, exact name, known alias, or an unambiguous name start of four letters or more) because a wrong line is worse than none. An unheld country returns country null with the general emergency rule (112, 911, 999) and the countries held, never a guessed number. Access: no sign-in; shared limit of 300 requests a minute per IP.

NameRequiredDescriptionDefault
countryNoThe person's country: name or ISO 3166-1 alpha-2 code ("Nigeria", "GB", "Brazil", "USA"). Omit only to list the countries held.

Output Schema

NameRequiredDescription
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.
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.
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.

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 safety, but the description adds substantial context: static dataset with no network call, strict matching rules because a wrong line is worse than none, fallback behavior for unheld countries (null + generic rule, never a guessed number), and a rate limit of 300 req/min per IP with no sign-in required.

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?

Long but tightly organized under PURPOSE / WHEN TO USE / PARAMETERS / OUTPUT / BEHAVIOR with the safety-critical instruction front-loaded. The OUTPUT section partially duplicates the existing output schema, which is the one place it spends more words than needed.

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?

For a high-stakes, single-parameter crisis tool, the definition leaves nothing an agent needs unresolved: routing, matching strictness, fallback behavior, and access limits are all stated, far exceeding the minimum given the rich annotations and output schema.

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% and already documents the name/ISO-code format, so the baseline is 3. The description adds real value on top: ask the person if the country is unknown, and the tool never defaults to a single country's number.

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 (give the real emergency number and crisis hotlines for one country) and scopes it to a verified 53-country dataset with sources. An agent can instantly tell it apart from siblings like find_scripture_for or find_people_to_pray_with.

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?

Explicit when-to-use ('FIRST, before any other tool, whenever a person speaks of harming themselves'), explicit when-not, and names the alternative tools and modes for those adjacent cases. Also states the hard constraint 'never give a verse in place of a phone number.'

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

learn_the_faithLearn the faith from the house's own pagesA
Read-onlyIdempotent
Inspect

PURPOSE: Read what The Living Bread wrote about the Christian faith, quoted not rewritten: the gospel in four steps, a doctrine, a parable or miracle of Jesus, a hymn and its story, a biblical name's meaning, a sourced saint, denomination, sacred site, biblical figure or Bible place, the saints of a date, two traditions side by side, a respectful page for someone from another faith or none, a page for a hard season of life, or a ready-written prayer. WHEN TO USE: "what is the gospel", "what is grace", "explain the prodigal son", "the story of Amazing Grace", "what does Elijah mean", "who was Augustine", "who is remembered on October 4", "Baptists and Methodists", "I grew up Muslim", "I just lost my dad", "a prayer before surgery". WHEN NOT: verses for a need or topic: find_scripture_for. The Bible text itself: read_scripture. A free question that fits no mode: search (mode answer). A real church or group: find_churches or find_communities. MODES (required parameters in brackets): gospel [none]. belief [subject, a doctrine such as "grace" or "the Trinity"]. parable [subject, "prodigal son"]. miracle [subject, "raising Lazarus"]. hymn [subject, a title or a line]. name_meaning [subject, one name]. saint [subject, a saint's name] the sourced record. saint_of_the_day [none] the saints remembered on date ("October 4" or YYYY-MM-DD; default today in UTC). heritage [kind, subject] one denomination, saint, sacred-site, biblical-figure or bible-place. compare_traditions [subject, compare_with] two denominations. other_faiths [subject, the person's background in their words: "Muslim", "grew up Hindu", "nothing really"]. hard_season [subject, the moment: "grief", "church hurt"]. a_prayer_for [subject, the situation]. OUTPUT: mode, answered_by, and: the page modes (belief, parable, miracle, hymn, name_meaning, hard_season, a_prayer_for, other_faiths, saint_of_the_day) give matched (page path or null), title, url, body in the house's words, verses [{ref, text}] read verbatim from the stored KJV, related, suggestions when unmatched, hub and door; gospel gives confession, steps [{heading, words, ref, text}], who_is_jesus and doors; heritage and saint give id (an lb: URN), name, url, sameAs and provenance; compare_traditions gives a, b, shared_root and posture. BEHAVIOR: read only. Page modes fetch living-bread.org at call time; heritage, saint and compare_traditions read the Christian Knowledge API live; gospel is fixed text with its verses read from the stored KJV. Matching is by slug, then by words; a weak match sets exact false; nothing held returns matched null with suggestions, or a not_found error for heritage and saint. content_layers marks the house's words as interpretation, never Scripture. Parameters a mode does not use are ignored and named in ignored_params. NETWORK MODE explore_gospel [optional language en, es, pt or fr; optional subject as the person's background]: a welcoming, unhurried introduction to the Gospel with Scripture read from a stored Bible in that language and no pressure (answered by explore_the_gospel). Access: no sign-in; shared limit of 300 requests a minute per IP.

NameRequiredDescriptionDefault
dateNoFor saint_of_the_day: "October 4", "4 Oct" or YYYY-MM-DD; the year is ignored. Omit for today (UTC).
kindNoFor heritage: which kind of entity subject names.
modeYesWhich kind of answer: gospel, belief, parable, miracle, hymn, name_meaning, saint, saint_of_the_day, heritage, compare_traditions, other_faiths, hard_season, a_prayer_for, explore_gospel. Each mode, and the parameters it needs, is explained in the description.
subjectNoThe one thing asked about, in plain words: a doctrine, parable, miracle, hymn, name, saint, denomination, background, life moment or situation. Required for every mode except gospel and saint_of_the_day.
languageNoFor explore_gospel: en, es, pt or fr; the Scripture is read from a stored Bible in that language when one is held.
compare_withNoFor compare_traditions: the second denomination, e.g. "Eastern Orthodox Church".

Output Schema

NameRequiredDescription
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.
modeYesThe mode that answered.
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.
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.

TDQS

A4.8/5.0
Behavior5/5

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

Even though annotations already declare readOnly/idempotent/openWorld, the description adds substantial behavioral detail beyond them: page modes fetch living-bread.org at call time, heritage/saint/compare read the Christian Knowledge API live, gospel is fixed text with verses from stored KJV, matching is by slug then words with exact=false on weak matches, not_found handling, ignored_params echoing, content_layers interpretation marking, and a 300 req/min per-IP rate limit with no sign-in.

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?

The content is dense and lengthy, but it is front-loaded and cleanly sectioned (PURPOSE / WHEN TO USE / WHEN NOT / MODES / OUTPUT / BEHAVIOR), which is appropriate for a 14-mode tool. Some sentences restate mode names and enum values already present in the schema, costing a little tightness.

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?

For a high-complexity multi-mode tool with an output schema, the description is fully sufficient: it covers mode selection, per-mode parameters, network mode, matching fallbacks, error and null-return behavior, and access limits. Nothing an agent needs to invoke it 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 description coverage is 100%, so the schema already documents each parameter, setting the baseline at 3. The description goes further by mapping each mode to the specific parameters it requires and clarifying defaults (saint_of_the_day defaults to today UTC; unused parameters are ignored and named). This adds real value over the schema, though it repeats the schema's enum listing.

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?

The description opens with a specific verb+resource ('Read what The Living Bread wrote about the Christian faith, quoted not rewritten') and enumerates the exact content types it returns. It explicitly distinguishes itself from siblings by naming find_scripture_for, read_scripture, search, find_churches, and find_communities, so an agent can route 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?

It gives an explicit WHEN TO USE block with concrete trigger phrases, a WHEN NOT block that names the alternative tool and the condition selecting it, and a per-mode table with required parameters. Alternatives are enumerated rather than inferred.

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

read_scriptureRead Scripture word for word from a stored textA
Read-onlyIdempotent
Inspect

PURPOSE: Read the Bible word for word from a stored text, never from memory: a passage by reference, a verse in its context, every verse containing given words, one verse side by side in several translations, the Hebrew or Greek words behind a verse, the passages readers link to it, a check of whether quoted words are real Scripture, the list of stored translations, or a recommendation of which translation to read. The default text is the King James Version the app ships; 69 stored public domain or freely licensed Bibles, with the Hebrew and Greek, are read by translation or language. Copyrighted Bibles (the NIV, NASB, NIrV, Amplified and every other licensed version) are read in the app and are never returned by any tool. WHEN TO USE: whenever you will quote or examine Scripture and know the reference or the words, or need to check a quotation before repeating it. WHEN NOT: verses for a feeling or need, a topic, the words of Jesus on a theme, or the verse of the day: find_scripture_for. A parable, doctrine or the gospel explained: learn_the_faith. MODES (required parameters in brackets): passage [reference] one verse, a range inside one chapter, or a whole chapter. context [reference] the passage with the verses around it (around, default 2). search [query] verses containing all the words, or an exact phrase in double quotes, a page at a time (book, testament, whole_words, limit, cursor, parallel). compare [reference] one verse in up to six translations side by side (translations, include_original). original_words [reference] each Hebrew or Greek word with its Strong's number, lexicon entry, parsing and the KJV words it became (strong keeps one number, e.g. "G25"). cross_references [reference] linked passages from OpenBible.info with votes (limit, include_text). verify [quote] checks the words against every held translation (reference optional). translations [none] every stored translation with language, canon and license (language filters; include_license_text). which_translation [optional need: first_time, study, memorize, children, listen, free, spanish, portuguese, or the person's own words] recommends translations in the house's own words with where each can be read (public domain here, in the app, or not available yet) and the page https://living-bread.org/bible-translations; it never returns licensed text. PARAMETERS: translation and language apply to passage, context, search and cross_references; compare takes a list in translations. Ranges across chapters are not supported. OUTPUT: mode, answered_by (the implementation used) and that mode's fields: passage gives ref, text, verses [{verse, text}], translation, translation_name, source, read_more; context gives passage, before and after; search gives total_matches, results and next_cursor; compare gives rows per translation; original_words gives verses[].words with strong, lemma, definition and morph; cross_references gives references with votes; verify gives verdict (verbatim, close_but_differs with a word diff, or not_found), best_match with SHA-256 hashes; translations gives the list. Every Scripture answer carries evidence (translation, license, corpus version, SHA-256 per passage) and content_layers. BEHAVIOR: read only and deterministic; the texts are bundled, no network call. An unparseable reference, an unknown translation, or a book a translation does not hold returns an error with try_instead; a search with no match returns count 0 and result_state empty. Parameters a mode does not use are ignored and named in ignored_params. NETWORK MODE languages [optional language]: which languages hold a stored Bible, under what license, and which Gospel pathway pages exist, so you never promise a text that is not held (answered by kingdom_languages). Access: no sign-in; shared limit of 300 requests a minute per IP.

NameRequiredDescriptionDefault
bookNoFor search: one book to search, e.g. "Psalms", "1 Cor".
modeYesWhich kind of answer: passage, context, search, compare, original_words, cross_references, verify, translations, which_translation, languages. Each mode, and the parameters it needs, is explained in the description.
needNoFor which_translation: what the reader needs, in a few words or one of first_time, study, memorize, children, listen, free, spanish, portuguese (default first_time).
limitNoFor search (page size, default 10, max 20) and cross_references (default 6, max 12).
queryNoFor search: words that must all appear ("mercy truth"), or an exact phrase in double quotes. Case-insensitive.
quoteNoFor verify: the exact words to check, as they would be quoted.
aroundNoFor context: verses to read on each side (default 2).
cursorNoOpaque paging token: next_cursor from the previous answer of the same call. Omit for the first page.
strongNoFor original_words: keep only the words with this Strong's number, e.g. "G25" or "H1254".
languageNoThe person's BCP-47 language, e.g. "es", "pt-BR", "sw". Picks the best stored public domain or freely licensed Bible for it; translation wins over it.
parallelNoFor search: a translation id read beside each verse found, e.g. "kjv".
referenceNoBook, chapter and optional verse or range as a reader writes it: "John 3:16", "Psalm 23", "1 Cor 13:4-7". Required for passage, context, compare, original_words and cross_references; optional for verify (the reference the words are attributed to).
testamentNoFor search: "old" or "new" to search one testament.
translationNoA stored translation id from read_scripture mode translations, e.g. "bsb", "web", "dra", "rv1909", "cuv". Default: the King James Version, or the best stored Bible for language.
whole_wordsNoFor search: true (default) matches whole words only; false matches inside words.
include_textNoFor cross_references: true (default) reads each linked passage; false returns references and votes only.
translationsNoFor compare: up to six translation ids, e.g. ["kjv","bsb","dra","rv1909"].
include_originalNoFor compare: true (default) adds the Hebrew or Greek line.
include_license_textNoFor translations: true returns each license statement in full.

Output Schema

NameRequiredDescription
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.
modeYesThe mode that answered.
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.
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.

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive/closed-world, and the description adds real behavior beyond them: texts are bundled with no network call, errors return try_instead, an empty search returns count 0 with result_state empty, unused parameters are ignored and named in ignored_params, no sign-in required, and a shared 300 req/min per IP limit. Copyrighted Bibles never being returned by any tool is an important constraint disclosed nowhere else.

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

Conciseness3/5

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

It is front-loaded and header-structured (PURPOSE / WHEN TO USE / MODES / PARAMETERS / OUTPUT / BEHAVIOR), which helps scanning a ten-mode tool. However the MODES and OUTPUT sections largely re-encode what the input schema and output schema already state, so a meaningful share of this dense ~400-word block does not earn its place.

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?

For a 19-parameter, 10-mode tool with an output schema and full annotations, the description still covers the gaps: routing, mode/parameter coupling, error semantics, paging via next_cursor, licensing/evidence fields, and access limits. An agent has everything needed to select a mode and call it 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 per-parameter meaning is already documented, but the description adds cross-parameter rules the schema cannot express: which parameters apply to which modes, that compare takes the list form of translations, that translation wins over language, and that cross-chapter ranges are unsupported. The MODES list restates the schema's own "For X:" prefixes, so it is additive rather than a full 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?

Opens with an explicit verb+resource ("Read the Bible word for word from a stored text, never from memory") and then enumerates all ten answer shapes the tool can produce. It names the siblings it is not (find_scripture_for, learn_the_faith) so an agent can route 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?

Has dedicated WHEN TO USE and WHEN NOT sections, and the WHEN NOT side names the alternative tool plus the condition that selects it (feelings/topics/verse-of-the-day โ†’ find_scripture_for; parable/doctrine โ†’ learn_the_faith). Nothing about routing is left to inference.

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

see_the_kingdomSee the Kingdom: believers by city, today, testimonies, worshipA
Read-onlyIdempotent
Inspect

PURPOSE: See the family of believers on The Living Bread as it is, in counts and in their own shared words: members by city, today's activity and what people are carrying, testimonies members chose to share, and worship songs for the person's hour. WHEN TO USE: "are there believers in Nairobi", "what is the family doing today", "has anyone found faith after addiction", "something to worship to tonight". WHEN NOT: churches: find_churches. A human to pray with: find_people_to_pray_with. A hymn and its story: learn_the_faith (mode hymn). MODES (required parameters in brackets): map [none] believers by city, largest first (place filters as a substring of "city country"; limit 1 to 50, default 12). today [none] counts of people prayed for, encouraged, offered a talk or help, and met today, feelings carried, and Prayer in Place totals. testimonies [none] newest first, no names (word filters; limit 1 to 30, default 8). worship [none] up to 5 shelves of songs for the hour (local_hour 0 to 23, language ISO code, mood one word). songs [none] the songs the app offers for singing together, metadata only (query a title or author, language ISO code, limit 1 to 24). open_room [none] the standing Open Worship Room: its door and live status only when readable, never a headcount. videos [none] Living Feed videos their authors made public: caption, verse reference, topics, no author and no media (query a topic word, language, limit 1 to 24). games [none] the three games to play together and how to invite. OUTPUT: mode, answered_by, and: map gives count, places [{city, country, believers, actions}], total_believers_shown; today gives responding, carrying [{feeling, people, prayed_for}], places, tables (null on this endpoint); testimonies gives count and testimonies [{id, excerpt, journey, city, when}]; worship gives part_of_day, greeting, shelves [{title, reason, songs [{title, artist, hymn, door}]}] and live_room. Each has a door. BEHAVIOR: read only; live data. Counts only, never names; testimonies are members' own words, returned as data. Counts understate reality (only places members chose to name). Songs are links; nothing plays here. No match returns count 0. Parameters a mode does not use are ignored and named in ignored_params. NETWORK MODE map_summary [optional place, limit]: believers by place with a privacy floor, places under five people folded into their country or hidden (answered by explore_kingdom_map). Access: no sign-in; shared limit of 300 requests a minute per IP.

NameRequiredDescriptionDefault
modeYesWhich kind of answer: map, today, testimonies, worship, map_summary, songs, open_room, videos, games. Each mode, and the parameters it needs, is explained in the description.
moodNoFor worship: one word for how they are, e.g. "weary", "thankful".
wordNoFor testimonies: one word to find in excerpts or journey labels, e.g. "addiction", "grief".
limitNoFor map (1 to 50, default 12), testimonies (1 to 30, default 8), songs (1 to 24, default 12) and videos (1 to 24, default 8).
placeNoFor map: a filter matched inside "city country", e.g. "Nairobi", "Brazil".
queryNoFor songs: a title or an author, e.g. "grace", "Newton". For videos: one topic word, e.g. "worship", "gratitude".
languageNoFor worship, songs and videos: language as an ISO 639-1 code, e.g. "es".
local_hourNoFor worship: the person's local hour, 0 to 23. Defaults to the current UTC hour.

Output Schema

NameRequiredDescription
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.
modeYesThe mode that answered.
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.
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.

TDQS

A4.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is covered. The description still adds real behavioral context beyond them: counts only and never names, testimonies are members' own words returned as data, counts understate reality, songs are links and nothing plays, no match returns count 0, and unused parameters return in ignored_params. However, it does not state whether the 'door' links are authenticated or expire, and the rate limit and no-sign-in note sit at the very end rather than being surfaced as operational constraints.

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 PURPOSE, then WHEN TO USE, WHEN NOT, MODES, OUTPUT, BEHAVIOR in labeled blocks, so an agent can stop reading at any layer. It is long and packed into a single dense paragraph with minor redundancy (the 'Each has a door' line repeats a per-item door already listed in the OUTPUT shape), which keeps it off a 5.

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?

For a nine-mode tool with 8 parameters and an output schema, the description leaves nothing blocking a correct call: mode selection criteria, per-mode parameters, per-mode output shapes, privacy behavior, and the network-rate context are all present. An agent could pick a mode and construct a valid invocation from this text alone.

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 earns above that by mapping each parameter to the modes that consume it ('map [none]', 'worship [none] ... local_hour 0 to 23'), giving defaults and limits inline, explaining that place is matched as a substring of 'city country', and naming the ignored_params behavior for out-of-mode parameters. It stops short of documenting the map_summary privacy-floor parameters beyond a partial note.

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?

Opens with an explicit verb-and-resource statement ('See the family of believers... members by city, today's activity, testimonies, worship songs') and then enumerates nine concrete modes. It also names the sibling tools it is not (find_churches, find_people_to_pray_with, learn_the_faith), so an agent can distinguish it from all nearby tools 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 Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Contains a dedicated WHEN TO USE block with real user-style phrasings ('are there believers in Nairobi', 'something to worship to tonight') and a WHEN NOT block that routes each excluded intent to a specific alternative tool. This is the explicit when/when-not/alternatives pattern.

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

start_with_christStart with Christ: begin, next steps, reading plansA
Read-onlyIdempotent
Inspect

PURPOSE: Help someone take a first or next step: what The Living Bread is and how to begin for free, six common journeys run end to end with at most five next steps each, and the multi-day Bible reading plans with one day read in full. WHEN TO USE: "what is The Living Bread", "I am new to Christianity, where do I start", "find me a community near Leeds", "someone to pray with tonight", "where can I serve this weekend", "a prayer group in Spanish", "help me understand and live Romans 12", "a reading plan for anxiety". WHEN NOT: the gospel itself: learn_the_faith (mode gospel). A single verse: read_scripture. A plain list of churches or gatherings: find_churches or find_gatherings. MODES (required parameters in brackets): begin [none] the invitation, how to describe The Living Bread truthfully (a free Christian community and prayer app from an independent nonprofit; not Living Bread Radio, not a church, not a dating app), what a person can do there today (Pray for Me, private prayer circles, Living Letters, Share the Light, conversations, video and voice prayer, live gatherings, games, singing together, the One Kingdom map, offers of more than words, Walk With Me, Scripture in many versions), the real ways to pray, gather, play and sing with others with their links, the privacy rules to keep, the web, App Store and Google Play links, and first steps. next_steps [journey] one of community_near_me, someone_to_pray_with_tonight, serve_this_weekend, new_to_christianity, prayer_group_in_my_language, understand_and_live_a_passage; place for the place journeys, language for prayer_group_in_my_language, passage for understand_and_live_a_passage. reading_plans [none] every plan, or one plan by name or need with one day in full (plan, day 1 to 31). for_my_need [need] the best real doors for a need said in a few words (find a community, pray with someone, open the Word, serve, or bring your people together), each with a handoff: the exact page, an invitation worded from what is there, and an honest if_empty when nothing suitable exists (place and language optional; online true prefers online options). OUTPUT: mode, answered_by, and: begin gives what_it_is, what_you_can_do, ways_to_be_together [{name, what, how, link, note}], privacy_rules, get_the_app, invitation, web, app_store, play_store, first_steps, who_is_jesus; next_steps gives results (at most 5, each with why and freshness), next_step {label, url}, and alternatives when nothing is held; for_my_need gives intent, experiences [{title, why, freshness, handoff}], handoff, if_empty, notes and next_tools; reading_plans gives plans and plan with its days and reading {ref, text read verbatim from the stored KJV, word, step}, or plan null. BEHAVIOR: read only; creates no account and tracks no progress. next_steps reads live data; begin and reading_plans are bundled. Give links exactly as returned. An unknown language returns an error with try_instead; nothing held returns honest alternatives. Parameters a mode does not use are ignored and named in ignored_params. NETWORK MODE bring_one [optional invite_kind come_and_see, pray_together, find_community, read_together or visit_a_gathering; invite_for; invite_message, the person's own words; language en, es, pt or fr]: PREPARES an invitation for the person to review and send themselves; sent is always false, nothing is sent or stored (answered by bring_one). Access: no sign-in; shared limit of 300 requests a minute per IP.

NameRequiredDescriptionDefault
dayNoFor reading_plans: which day to read in full (default 1).
modeYesWhich kind of answer: begin, next_steps, reading_plans, for_my_need, bring_one. Each mode, and the parameters it needs, is explained in the description.
needNoFor for_my_need: what the person is looking for, in their words, 3 to 300 characters. Used only to choose and filter; never logged, never placed in a link.
planNoFor reading_plans: a plan name or a need it serves ("Learn to Pray", "anxious", "grief"). Omit to list every plan.
placeNoFor next_steps: city, region or country as the person says it ("Leeds", "Kenya"); never a street address.
onlineNoFor for_my_need: true to prefer online options.
journeyNoFor next_steps: which journey to run.
passageNoFor next_steps understand_and_live_a_passage: a reference, e.g. "Romans 12:1-2".
languageNoFor next_steps prayer_group_in_my_language: a language name or ISO 639-1 code ("Spanish", "es").
invite_forNoFor bring_one: a first name or relationship ("my sister"); no contact details.
invite_kindNoFor bring_one: what the invitation is for (default come_and_see).
invite_messageNoFor bring_one: the person's OWN words, kept verbatim at the start of the draft; no links or contact details.

Output Schema

NameRequiredDescription
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.
modeYesThe mode that answered.
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.
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.

TDQS

A4.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive and openWorld, so the safety profile is covered. The description does add real context beyond that โ€” no account creation, no progress tracking, next_steps hits live data while begin/reading_plans are bundled, unknown language returns an error with try_instead, and a shared 300 req/min per-IP limit. However, the OUTPUT section largely restates the existing output schema, diluting the incremental value.

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

Conciseness3/5

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

Section labels (PURPOSE, WHEN TO USE, WHEN NOT, MODES, OUTPUT, BEHAVIOR, NETWORK MODE) front-load the essentials well, which is the right structure for a five-mode tool. But the 'begin' mode enumerates a long marketing-style feature list ("games, singing together, the One Kingdom map...") and the OUTPUT block duplicates the output schema, making the description far heavier than the routing task requires.

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?

For a five-mode, twelve-parameter tool this covers everything an agent needs: mode selection, per-mode parameters, error and empty-result behavior, the no-sign-in rate limit, the review-not-send guarantee on bring_one, and link-handling instructions. Return shape is documented by the output schema, and the description's restatement of it is redundant rather than 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 earns a step above by mapping each parameter to its mode (journey/place/language/passage for next_steps, plan/day for reading_plans, need/online/place/language for for_my_need) and by disclosing that unused parameters are ignored and echoed in ignored_params โ€” behavior the schema cannot express. It does not add format or syntax detail beyond what the per-property descriptions already give.

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?

The opening sentence gives a concrete verb and resource โ€” helping someone take a first or next step via guided journeys, reading plans, and first-step content โ€” and the WHEN NOT clause explicitly names the siblings it is not (learn_the_faith for the gospel, read_scripture for a single verse, find_churches/find_gatherings for plain lists). An agent can route between this and those siblings 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?

Explicit WHEN TO USE with eight representative user utterances ("I am new to Christianity, where do I start", "a prayer group in Spanish") and an explicit WHEN NOT section naming the alternative tool for each excluded case. The MODES section adds the further selection rule: which mode plus which required parameters for each kind of request.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Changedsee_the_kingdom5 fields changed
      • changedInput schema / properties / language / description
        Previous value: -"For worship: preferred song language as an ISO 639-1 code, e.g. \"es\"."New value: +"For worship, songs and videos: language as an ISO 639-1 code, e.g. \"es\"."
      • changedInput schema / properties / limit / description
        Previous value: -"For map (1 to 50, default 12) and testimonies (1 to 30, default 8)."New value: +"For map (1 to 50, default 12), testimonies (1 to 30, default 8), songs (1 to 24, default 12) and videos (1 to 24, default 8)."
      • changedInput schema / properties / mode / description
        Previous value: -"Which kind of answer: map, today, testimonies, worship, map_summary. Each mode, and the parameters it needs, is explained in the description."New value: +"Which kind of answer: map, today, testimonies, worship, map_summary, songs, open_room, videos, games. Each mode, and the parameters it needs, is explained in the description."
      • changedInput schema / properties / mode / enum
        Previous value: -[
        -  "map",
        -  "today",
        -  "testimonies",
        -  "worship",
        -  "map_summary"
        -]New value: +[
        +  "map",
        +  "today",
        +  "testimonies",
        +  "worship",
        +  "map_summary",
        +  "songs",
        +  "open_room",
        +  "videos",
        +  "games"
        +]
      • addedInput schema / properties / query
        Added value: +{
        +  "description": "For songs: a title or an author, e.g. \"grace\", \"Newton\". For videos: one topic word, e.g. \"worship\", \"gratitude\".",
        +  "maxLength": 80,
        +  "type": "string"
        +}
  2. 1 tool update
    • Changedread_scripture3 fields changed
      • changedInput schema / properties / mode / description
        Previous value: -"Which kind of answer: passage, context, search, compare, original_words, cross_references, verify, translations, languages. Each mode, and the parameters it needs, is explained in the description."New value: +"Which kind of answer: passage, context, search, compare, original_words, cross_references, verify, translations, which_translation, languages. Each mode, and the parameters it needs, is explained in the description."
      • changedInput schema / properties / mode / enum
        Previous value: -[
        -  "passage",
        -  "context",
        -  "search",
        -  "compare",
        -  "original_words",
        -  "cross_references",
        -  "verify",
        -  "translations",
        -  "languages"
        -]New value: +[
        +  "passage",
        +  "context",
        +  "search",
        +  "compare",
        +  "original_words",
        +  "cross_references",
        +  "verify",
        +  "translations",
        +  "which_translation",
        +  "languages"
        +]
      • addedInput schema / properties / need
        Added value: +{
        +  "description": "For which_translation: what the reader needs, in a few words or one of first_time, study, memorize, children, listen, free, spanish, portuguese (default first_time).",
        +  "maxLength": 80,
        +  "type": "string"
        +}
  3. 8 tool updates
    • Changedfind_communities2 fields changed
      • changedInput schema / properties / mode / description
        Previous value: -"Which kind of answer: to_join, university. Each mode, and the parameters it needs, is explained in the description."New value: +"Which kind of answer: to_join, university, family. Each mode, and the parameters it needs, is explained in the description."
      • changedInput schema / properties / mode / enum
        Previous value: -[
        -  "to_join",
        -  "university"
        -]New value: +[
        +  "to_join",
        +  "university",
        +  "family"
        +]
    • Changedfind_people_to_pray_with2 fields changed
      • changedInput schema / properties / mode / description
        Previous value: -"Which kind of answer: a_person_now, the_watch, real_people_will_pray, live_tables, prayers_near, hear_the_kingdom_pray, pray_for_someone, ask_the_family. Each mode, and the parameters it needs, is explained in the description."New value: +"Which kind of answer: a_person_now, the_watch, real_people_will_pray, live_tables, prayers_near, hear_the_kingdom_pray, pray_for_someone, ask_the_family, opportunities. Each mode, and the parameters it needs, is explained in the description."
      • changedInput schema / properties / mode / enum
        Previous value: -[
        -  "a_person_now",
        -  "the_watch",
        -  "real_people_will_pray",
        -  "live_tables",
        -  "prayers_near",
        -  "hear_the_kingdom_pray",
        -  "pray_for_someone",
        -  "ask_the_family"
        -]New value: +[
        +  "a_person_now",
        +  "the_watch",
        +  "real_people_will_pray",
        +  "live_tables",
        +  "prayers_near",
        +  "hear_the_kingdom_pray",
        +  "pray_for_someone",
        +  "ask_the_family",
        +  "opportunities"
        +]
    • Changedfind_ways_to_serve2 fields changed
      • changedInput schema / properties / mode / description
        Previous value: -"Which kind of answer: near, public_needs. Each mode, and the parameters it needs, is explained in the description."New value: +"Which kind of answer: near, public_needs, neighbor. Each mode, and the parameters it needs, is explained in the description."
      • changedInput schema / properties / mode / enum
        Previous value: -[
        -  "near",
        -  "public_needs"
        -]New value: +[
        +  "near",
        +  "public_needs",
        +  "neighbor"
        +]
    • Changedlearn_the_faith3 fields changed
      • addedInput schema / properties / language
        Added value: +{
        +  "description": "For explore_gospel: en, es, pt or fr; the Scripture is read from a stored Bible in that language when one is held.",
        +  "enum": [
        +    "en",
        +    "es",
        +    "pt",
        +    "fr"
        +  ],
        +  "type": "string"
        +}
      • changedInput schema / properties / mode / description
        Previous value: -"Which kind of answer: gospel, belief, parable, miracle, hymn, name_meaning, saint, saint_of_the_day, heritage, compare_traditions, other_faiths, hard_season, a_prayer_for. Each mode, and the parameters it needs, is explained in the description."New value: +"Which kind of answer: gospel, belief, parable, miracle, hymn, name_meaning, saint, saint_of_the_day, heritage, compare_traditions, other_faiths, hard_season, a_prayer_for, explore_gospel. Each mode, and the parameters it needs, is explained in the description."
      • changedInput schema / properties / mode / enum
        Previous value: -[
        -  "gospel",
        -  "belief",
        -  "parable",
        -  "miracle",
        -  "hymn",
        -  "name_meaning",
        -  "saint",
        -  "saint_of_the_day",
        -  "heritage",
        -  "compare_traditions",
        -  "other_faiths",
        -  "hard_season",
        -  "a_prayer_for"
        -]New value: +[
        +  "gospel",
        +  "belief",
        +  "parable",
        +  "miracle",
        +  "hymn",
        +  "name_meaning",
        +  "saint",
        +  "saint_of_the_day",
        +  "heritage",
        +  "compare_traditions",
        +  "other_faiths",
        +  "hard_season",
        +  "a_prayer_for",
        +  "explore_gospel"
        +]
    • Changedread_scripture2 fields changed
      • changedInput schema / properties / mode / description
        Previous value: -"Which kind of answer: passage, context, search, compare, original_words, cross_references, verify, translations. Each mode, and the parameters it needs, is explained in the description."New value: +"Which kind of answer: passage, context, search, compare, original_words, cross_references, verify, translations, languages. Each mode, and the parameters it needs, is explained in the description."
      • changedInput schema / properties / mode / enum
        Previous value: -[
        -  "passage",
        -  "context",
        -  "search",
        -  "compare",
        -  "original_words",
        -  "cross_references",
        -  "verify",
        -  "translations"
        -]New value: +[
        +  "passage",
        +  "context",
        +  "search",
        +  "compare",
        +  "original_words",
        +  "cross_references",
        +  "verify",
        +  "translations",
        +  "languages"
        +]
    • Changedsearch2 fields changed
      • changedInput schema / properties / mode / description
        Previous value: -"Which kind of answer: results, answer, protocol. Default results. Each mode is explained in the description."New value: +"Which kind of answer: results, answer, protocol, discover. Default results. Each mode is explained in the description."
      • changedInput schema / properties / mode / enum
        Previous value: -[
        -  "results",
        -  "answer",
        -  "protocol"
        -]New value: +[
        +  "results",
        +  "answer",
        +  "protocol",
        +  "discover"
        +]
    • Changedsee_the_kingdom2 fields changed
      • changedInput schema / properties / mode / description
        Previous value: -"Which kind of answer: map, today, testimonies, worship. Each mode, and the parameters it needs, is explained in the description."New value: +"Which kind of answer: map, today, testimonies, worship, map_summary. Each mode, and the parameters it needs, is explained in the description."
      • changedInput schema / properties / mode / enum
        Previous value: -[
        -  "map",
        -  "today",
        -  "testimonies",
        -  "worship"
        -]New value: +[
        +  "map",
        +  "today",
        +  "testimonies",
        +  "worship",
        +  "map_summary"
        +]
    • Changedstart_with_christ5 fields changed
      • addedInput schema / properties / invite_for
        Added value: +{
        +  "description": "For bring_one: a first name or relationship (\"my sister\"); no contact details.",
        +  "maxLength": 40,
        +  "type": "string"
        +}
      • addedInput schema / properties / invite_kind
        Added value: +{
        +  "description": "For bring_one: what the invitation is for (default come_and_see).",
        +  "enum": [
        +    "come_and_see",
        +    "pray_together",
        +    "find_community",
        +    "read_together",
        +    "visit_a_gathering"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / invite_message
        Added value: +{
        +  "description": "For bring_one: the person's OWN words, kept verbatim at the start of the draft; no links or contact details.",
        +  "maxLength": 400,
        +  "type": "string"
        +}
      • changedInput schema / properties / mode / description
        Previous value: -"Which kind of answer: begin, next_steps, reading_plans, for_my_need. Each mode, and the parameters it needs, is explained in the description."New value: +"Which kind of answer: begin, next_steps, reading_plans, for_my_need, bring_one. Each mode, and the parameters it needs, is explained in the description."
      • changedInput schema / properties / mode / enum
        Previous value: -[
        -  "begin",
        -  "next_steps",
        -  "reading_plans",
        -  "for_my_need"
        -]New value: +[
        +  "begin",
        +  "next_steps",
        +  "reading_plans",
        +  "for_my_need",
        +  "bring_one"
        +]
  4. 1 tool update
    • Changedstart_with_christ4 fields changed
      • changedInput schema / properties / mode / description
        Previous value: -"Which kind of answer: begin, next_steps, reading_plans. Each mode, and the parameters it needs, is explained in the description."New value: +"Which kind of answer: begin, next_steps, reading_plans, for_my_need. Each mode, and the parameters it needs, is explained in the description."
      • changedInput schema / properties / mode / enum
        Previous value: -[
        -  "begin",
        -  "next_steps",
        -  "reading_plans"
        -]New value: +[
        +  "begin",
        +  "next_steps",
        +  "reading_plans",
        +  "for_my_need"
        +]
      • addedInput schema / properties / need
        Added value: +{
        +  "description": "For for_my_need: what the person is looking for, in their words, 3 to 300 characters. Used only to choose and filter; never logged, never placed in a link.",
        +  "maxLength": 300,
        +  "minLength": 3,
        +  "type": "string"
        +}
      • addedInput schema / properties / online
        Added value: +{
        +  "description": "For for_my_need: true to prefer online options.",
        +  "type": "boolean"
        +}
  5. 1 tool update
    • Changedfind_people_to_pray_with2 fields changed
      • changedInput schema / properties / mode / description
        Previous value: -"Which kind of answer: a_person_now, the_watch, real_people_will_pray, live_tables, prayers_near, hear_the_kingdom_pray, pray_for_someone. Each mode, and the parameters it needs, is explained in the description."New value: +"Which kind of answer: a_person_now, the_watch, real_people_will_pray, live_tables, prayers_near, hear_the_kingdom_pray, pray_for_someone, ask_the_family. Each mode, and the parameters it needs, is explained in the description."
      • changedInput schema / properties / mode / enum
        Previous value: -[
        -  "a_person_now",
        -  "the_watch",
        -  "real_people_will_pray",
        -  "live_tables",
        -  "prayers_near",
        -  "hear_the_kingdom_pray",
        -  "pray_for_someone"
        -]New value: +[
        +  "a_person_now",
        +  "the_watch",
        +  "real_people_will_pray",
        +  "live_tables",
        +  "prayers_near",
        +  "hear_the_kingdom_pray",
        +  "pray_for_someone",
        +  "ask_the_family"
        +]
  6. 63 tool updates
    • Removeda_person_now
    • Removeda_prayer_for
    • Removedask_living_bread
    • Removedbegin
    • Removedbelief
    • Removedbody_today
    • Removedchristianity_and_other_faiths
    • Removedchurch
    • Removedcommunities_to_join
    • Removedcompare_translations
    • Removedcrisis_resources
    • Removedcross_references
    • Removeddaily_bread
    • Removeddenomination_compare
    • Removedevents_this_week
    • Removedfaith_in_a_hard_season
    • Changedfetch5 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"
        +]
    • Addedfind_churches
    • Removedfind_churches_near
    • Addedfind_communities
    • Addedfind_gatherings
    • Removedfind_gatherings_near
    • Addedfind_people_to_pray_with
    • Addedfind_scripture_for
    • Addedfind_ways_to_serve
    • Removedgatherings_tonight
    • Addedget_crisis_help
    • Removedhear_the_kingdom_pray
    • Removedheritage_lookup
    • Removedhymn
    • Removedjourney_next_steps
    • Removedkingdom_map
    • Removedkingdom_protocol_lookup
    • Addedlearn_the_faith
    • Removedlist_translations
    • Removedmiracle
    • Removedname_meaning
    • Removedneeds_near
    • Removedoriginal_words
    • Removedparable
    • Removedpray_for_someone
    • Removedprayers_left_near
    • Addedread_scripture
    • Removedreading_plans
    • Removedreal_people_will_pray
    • Removedsaint_of_the_day
    • Removedscripture_context
    • Removedscripture_passage
    • Removedscripture_search
    • Changedsearch7 fields changed
      • addedInput schema / properties / mode
        Added value: +{
        +  "default": "results",
        +  "description": "Which kind of answer: results, answer, protocol. Default results. Each mode is explained in the description.",
        +  "enum": [
        +    "results",
        +    "answer",
        +    "protocol"
        +  ],
        +  "type": "string"
        +}
      • changedInput schema / properties / query / description
        Previous value: -"Free text, 1 to 300 characters: a reference (\"Psalm 23\"), a need (\"anxiety\"), a name (\"Augustine\"), a place (\"Lagos\"), or a topic."New value: +"Free text, 1 to 300 characters: a reference (\"Psalm 23\"), a need (\"anxiety\"), a name (\"Augustine\"), a place (\"Lagos\"), a question, or an lb: URN for mode protocol."
      • 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"
        +}
      • addedOutput schema / properties / mode
        Added value: +{
        +  "description": "The mode that answered.",
        +  "type": "string"
        +}
      • removedOutput schema / properties / results
        Removed value: -{
        -  "description": "Matches with id (verse:<ref>, need:<slug>, church:<uuid>, gathering:<uuid>, community:<uuid>, or an lb: id), title, one-line text and a web URL. Pass id to fetch.",
        -  "items": {
        -    "additionalProperties": {},
        -    "properties": {
        -      "id": {
        -        "type": "string"
        -      },
        -      "text": {
        -        "type": "string"
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "url": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "id",
        -      "title",
        -      "text",
        -      "url"
        -    ],
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • changedOutput schema / required
        Previous value: -[
        -  "results"
        -]New value: +[
        +  "mode",
        +  "answered_by"
        +]
    • Addedsee_the_kingdom
    • Addedstart_with_christ
    • Removedtables_live_now
    • Removedteaching_of_jesus
    • Removedtestimonies
    • Removedthe_gospel
    • Removedthe_watch_tonight
    • Removeduniversities
    • Removedverify_scripture_quote
    • Removedverses_for
    • Removedwhat_the_bible_says_about
    • Removedwhere_can_i_serve_publicly
    • Removedworship_now
  7. 2 tool updates
    • Addeda_person_now
    • Addedthe_watch_tonight
  8. 11 tool updates
    • Addedcompare_translations
    • Changedcross_references3 fields changed
      • addedInput schema / properties / language
        Added value: +{
        +  "description": "Optional BCP-47 language of the person, e.g. \"es\", \"pt-BR\", \"sw\", \"zh-Hant\". Picks the best stored public domain or freely licensed translation for that language; translation overrides it.",
        +  "maxLength": 16,
        +  "minLength": 2,
        +  "type": "string"
        +}
      • addedInput schema / properties / translation
        Added value: +{
        +  "description": "Optional translation id from list_translations, e.g. \"bsb\", \"web\", \"dra\", \"rv1909\", \"lsg\", \"cuv\", \"neno\", \"wlc\", \"byz\". Default: the King James Version (or the language default).",
        +  "maxLength": 24,
        +  "minLength": 2,
        +  "type": "string"
        +}
      • changedOutput schema / properties / references / description
        Previous value: -"Strongest first: reference, reader votes, verbatim KJV text (null when include_text is false), whether the text was shortened to 4 verses, and web link."New value: +"Strongest first: reference, reader votes, verbatim text in the chosen translation, KJV by default (null when include_text is false or the translation lacks it), whether the text was shortened to 4 verses, and web link."
    • Changeddaily_bread6 fields changed
      • addedInput schema / properties / language
        Added value: +{
        +  "description": "Optional BCP-47 language of the person, e.g. \"es\", \"pt-BR\", \"sw\", \"zh-Hant\". Picks the best stored public domain or freely licensed translation for that language; translation overrides it.",
        +  "maxLength": 16,
        +  "minLength": 2,
        +  "type": "string"
        +}
      • addedInput schema / properties / translation
        Added value: +{
        +  "description": "Optional translation id from list_translations, e.g. \"bsb\", \"web\", \"dra\", \"rv1909\", \"lsg\", \"cuv\", \"neno\", \"wlc\", \"byz\". Default: the King James Version (or the language default).",
        +  "maxLength": 24,
        +  "minLength": 2,
        +  "type": "string"
        +}
      • changedOutput schema / properties / ref / description
        Previous value: -"Verse reference."New value: +"Verse reference, in the chosen translation's own numbering."
      • changedOutput schema / properties / text / description
        Previous value: -"Verse text, verbatim KJV."New value: +"Verse text, verbatim from the chosen translation."
      • changedOutput schema / properties / translation / description
        Previous value: -"Always KJV."New value: +"Translation code returned: KJV by default."
      • addedOutput schema / properties / translation_name
        Added value: +{
        +  "description": "Full name of the translation returned.",
        +  "type": "string"
        +}
    • Addedlist_translations
    • Addedoriginal_words
    • Addedreal_people_will_pray
    • Changedscripture_context2 fields changed
      • addedInput schema / properties / language
        Added value: +{
        +  "description": "Optional BCP-47 language of the person, e.g. \"es\", \"pt-BR\", \"sw\", \"zh-Hant\". Picks the best stored public domain or freely licensed translation for that language; translation overrides it.",
        +  "maxLength": 16,
        +  "minLength": 2,
        +  "type": "string"
        +}
      • addedInput schema / properties / translation
        Added value: +{
        +  "description": "Optional translation id from list_translations, e.g. \"bsb\", \"web\", \"dra\", \"rv1909\", \"lsg\", \"cuv\", \"neno\", \"wlc\", \"byz\". Default: the King James Version (or the language default).",
        +  "maxLength": 24,
        +  "minLength": 2,
        +  "type": "string"
        +}
    • Changedscripture_passage13 fields changed
      • addedInput schema / properties / language
        Added value: +{
        +  "description": "Optional BCP-47 language of the person, e.g. \"es\", \"pt-BR\", \"sw\", \"zh-Hant\". Picks the best stored public domain or freely licensed translation for that language; translation overrides it.",
        +  "maxLength": 16,
        +  "minLength": 2,
        +  "type": "string"
        +}
      • changedInput schema / properties / reference / description
        Previous value: -"Book, chapter and optional verse or range, as a reader writes it: \"John 3:16\", \"Psalm 23\", \"Romans 8:38-39\", \"1 Cor 13:4-7\". Common abbreviations are accepted."New value: +"Book, chapter and optional verse or range, as a reader writes it: \"John 3:16\", \"Psalm 23\", \"Romans 8:38-39\", \"1 Cor 13:4-7\". Common abbreviations are accepted. Deuterocanonical books (\"Tobit 1\") need a translation that holds them, such as \"dra\"."
      • removedInput schema / properties / translation / default
        Removed value: -"KJV"
      • changedInput schema / properties / translation / description
        Previous value: -"KJV (whole Bible, default) or WEB (World English Bible, held for a limited set of passages; otherwise KJV is returned with a note)."New value: +"Optional translation id from list_translations, e.g. \"bsb\", \"web\", \"dra\", \"rv1909\", \"lsg\", \"cuv\", \"neno\", \"wlc\", \"byz\". Default: the King James Version (or the language default)."
      • removedInput schema / properties / translation / enum
        Removed value: -[
        -  "KJV",
        -  "WEB"
        -]
      • addedInput schema / properties / translation / maxLength
        Added value: +24
      • addedInput schema / properties / translation / minLength
        Added value: +2
      • addedOutput schema / properties / missing_verses
        Added value: +{
        +  "description": "Verses the chosen translation does not have; never filled from another text.",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • changedOutput schema / properties / note / description
        Previous value: -"Present only when WEB was asked for and KJV was returned instead."New value: +"Present when numbering differs or verses are missing or joined in the chosen translation."
      • addedOutput schema / properties / own_ref
        Added value: +{
        +  "description": "The reference in that translation's own numbering when it differs (Psalm 23 is Psalm 22 in the Douay-Rheims).",
        +  "type": "string"
        +}
      • changedOutput schema / properties / source / description
        Previous value: -"Translation name and license (public domain)."New value: +"Translation name and its license, copied from the source."
      • changedOutput schema / properties / translation / description
        Previous value: -"The translation actually returned: KJV or WEB."New value: +"Code of the translation actually returned, e.g. KJV, WEB, BSB, RV1909."
      • addedOutput schema / properties / translation_name
        Added value: +{
        +  "description": "Full name of the translation, present when translation or language was given.",
        +  "type": "string"
        +}
    • Changedscripture_search4 fields changed
      • addedInput schema / properties / language
        Added value: +{
        +  "description": "Optional BCP-47 language of the person, e.g. \"es\", \"pt-BR\", \"sw\", \"zh-Hant\". Picks the best stored public domain or freely licensed translation for that language; translation overrides it.",
        +  "maxLength": 16,
        +  "minLength": 2,
        +  "type": "string"
        +}
      • addedInput schema / properties / parallel
        Added value: +{
        +  "description": "Optional translation id read beside each verse found, e.g. \"kjv\" or \"bsb\". Default for a search in another language: kjv.",
        +  "maxLength": 24,
        +  "minLength": 2,
        +  "type": "string"
        +}
      • addedInput schema / properties / translation
        Added value: +{
        +  "description": "Optional translation id from list_translations, e.g. \"bsb\", \"web\", \"dra\", \"rv1909\", \"lsg\", \"cuv\", \"neno\", \"wlc\", \"byz\". Default: the King James Version (or the language default).",
        +  "maxLength": 24,
        +  "minLength": 2,
        +  "type": "string"
        +}
      • changedOutput schema / properties / results / description
        Previous value: -"Matching verses in canonical order: reference, verbatim KJV text, web link."New value: +"Matching verses in canonical order: reference, verbatim text in the chosen translation (KJV by default), web link; a search in another translation adds the parallel verse."
    • Addedverify_scripture_quote
    • Changedverses_for4 fields changed
      • addedInput schema / properties / language
        Added value: +{
        +  "description": "Optional BCP-47 language of the person, e.g. \"es\", \"pt-BR\", \"sw\", \"zh-Hant\". Picks the best stored public domain or freely licensed translation for that language; translation overrides it.",
        +  "maxLength": 16,
        +  "minLength": 2,
        +  "type": "string"
        +}
      • addedInput schema / properties / translation
        Added value: +{
        +  "description": "Optional translation id from list_translations, e.g. \"bsb\", \"web\", \"dra\", \"rv1909\", \"lsg\", \"cuv\", \"neno\", \"wlc\", \"byz\". Default: the King James Version (or the language default).",
        +  "maxLength": 24,
        +  "minLength": 2,
        +  "type": "string"
        +}
      • changedOutput schema / properties / translation / description
        Previous value: -"Always KJV."New value: +"Translation code the verses were read from: KJV by default."
      • addedOutput schema / properties / translation_name
        Added value: +{
        +  "description": "Full name of that translation.",
        +  "type": "string"
        +}
  9. 45 tool updates
    • Changeda_prayer_for23 fields changed
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Credit line for the data: The Living Bread (living-bread.org).",
        +  "type": "string"
        +}
      • addedOutput schema / properties / body / description
        Added value: +"Page text, up to about 1,600 characters, in the house's words."
      • 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 / door / description
        Added value: +"Where the person continues on the web."
      • 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 / exact / description
        Added value: +"False when the page is only the closest match to the input."
      • 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 / hub / description
        Added value: +"Index page of the whole collection."
      • 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 / matched / description
        Added value: +"Path of the page used, or null when no page matched."
      • 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 / related / description
        Added value: +"Up to 5 related pages in the same collection."
      • 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 / suggestions / description
        Added value: +"When matched is null: pages the collection holds."
      • addedOutput schema / properties / summary / description
        Added value: +"The page's own one-line description."
      • addedOutput schema / properties / title / description
        Added value: +"Page title."
      • addedOutput schema / properties / url / description
        Added value: +"Page URL."
      • addedOutput schema / properties / verses / description
        Added value: +"Up to 4 verses the page names, verbatim KJV."
      • addedOutput schema / properties / visibility
        Added value: +{
        +  "description": "\"public\" for shared data, \"yours\" for the signed-in believer's own data.",
        +  "type": "string"
        +}
    • Changedask_living_bread20 fields changed
      • changedInput schema / properties / question / description
        Previous value: -"The question, in the person's own words."New value: +"The question in the person's own words, 2 to 300 characters: \"what is a Methodist\", \"are there churches in Kenya\"."
      • addedOutput schema / properties / answer / description
        Added value: +"A short grounded summary from the Knowledge API, or null when it has none."
      • 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 / entities / description
        Added value: +"Sourced entities matched: lb: id, type, name, page URL, and data source."
      • 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 / grounding / description
        Added value: +"Statement of what the answer is grounded in."
      • 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 / 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 / next_steps / description
        Added value: +"Suggested next links (find a church, prayer, etc.)."
      • 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 / question / description
        Added value: +"The question as understood."
      • 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 / road_to_christ / description
        Added value: +"Pages that explain who Jesus is, related to the question."
      • addedOutput schema / properties / scripture / description
        Added value: +"The Scripture topic the question matched, with up to 3 verbatim KJV verses; null when none."
      • 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 / visibility
        Added value: +{
        +  "description": "\"public\" for shared data, \"yours\" for the signed-in believer's own data.",
        +  "type": "string"
        +}
    • Changedbegin19 fields changed
      • addedOutput schema / properties / app_store / description
        Added value: +"iOS App Store link."
      • 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 / first_steps / description
        Added value: +"What a newcomer meets first, in order."
      • addedOutput schema / properties / free / description
        Added value: +"Always true: joining costs nothing."
      • 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 / ids
        Added value: +{
        +  "description": "Up to 25 ids found in this answer, for follow-up calls.",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / invitation / description
        Added value: +"A short invitation in the house's words."
      • addedOutput schema / properties / license
        Added value: +{
        +  "description": "License URL of the returned data (CC BY 4.0 unless stated).",
        +  "type": "string"
        +}
      • 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 / play_store / description
        Added value: +"Google Play link."
      • 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 / visibility
        Added value: +{
        +  "description": "\"public\" for shared data, \"yours\" for the signed-in believer's own data.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / web / description
        Added value: +"Web home link."
      • addedOutput schema / properties / who_is_jesus / description
        Added value: +"Link to the page on who Jesus is."
    • Changedbelief24 fields changed
      • changedInput schema / properties / topic / description
        Previous value: -"The belief: \"grace\", \"sin\", \"repentance\", \"faith\", \"salvation\", \"the Holy Spirit\", \"the Trinity\"."New value: +"The doctrine in a word or two: \"grace\", \"sin\", \"repentance\", \"salvation\", \"the Holy Spirit\", \"the Trinity\"."
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Credit line for the data: The Living Bread (living-bread.org).",
        +  "type": "string"
        +}
      • addedOutput schema / properties / body / description
        Added value: +"Page text, up to about 1,600 characters, in the house's words."
      • 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 / door / description
        Added value: +"Where the person continues on the web."
      • 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 / exact / description
        Added value: +"False when the page is only the closest match to the input."
      • 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 / hub / description
        Added value: +"Index page of the whole collection."
      • 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 / matched / description
        Added value: +"Path of the page used, or null when no page matched."
      • 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 / related / description
        Added value: +"Up to 5 related pages in the same collection."
      • 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 / suggestions / description
        Added value: +"When matched is null: pages the collection holds."
      • addedOutput schema / properties / summary / description
        Added value: +"The page's own one-line description."
      • addedOutput schema / properties / title / description
        Added value: +"Page title."
      • addedOutput schema / properties / url / description
        Added value: +"Page URL."
      • addedOutput schema / properties / verses / description
        Added value: +"Up to 4 verses the page names, verbatim KJV."
      • addedOutput schema / properties / visibility
        Added value: +{
        +  "description": "\"public\" for shared data, \"yours\" for the signed-in believer's own data.",
        +  "type": "string"
        +}
    • Changedbody_today17 fields changed
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Credit line for the data: The Living Bread (living-bread.org).",
        +  "type": "string"
        +}
      • addedOutput schema / properties / carrying / description
        Added value: +"Today's feelings named by members: feeling, people carrying it, and how many of them were prayed over. Empty when none named yet."
      • 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 / door / description
        Added value: +"Link to The Living Bread home."
      • 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 / 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 / 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 / places / description
        Added value: +"Worldwide Prayer in Place totals: prayers, places, places prayed at today, approximate countries."
      • addedOutput schema / properties / responding / description
        Added value: +"Today's counts of people prayed for, encouraged, offered a talk, offered help, and met in person; null if unreadable."
      • 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 / tables / description
        Added value: +"Signed-in only: people gathered at Tables today, Tables set, and people at a Table now. Null on the public endpoint."
      • addedOutput schema / properties / visibility
        Added value: +{
        +  "description": "\"public\" for shared data, \"yours\" for the signed-in believer's own data.",
        +  "type": "string"
        +}
    • Changedchristianity_and_other_faiths22 fields changed
      • changedInput schema / properties / background / description
        Previous value: -"Their background in their own words: \"Muslim\", \"Hindu\", \"Jewish\", \"Buddhist\", \"Sikh\", \"Stoic\", \"new age\", \"nothing really\"."New value: +"The person's religion or worldview in their own words: \"Muslim\", \"grew up Hindu\", \"Jewish\", \"Buddhist\", \"Sikh\", \"Stoic\", \"new age\", \"astrology\", \"nothing really\"."
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Credit line for the data: The Living Bread (living-bread.org).",
        +  "type": "string"
        +}
      • addedOutput schema / properties / body / description
        Added value: +"Page text (up to about 1,200 characters), the house's words."
      • 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 / doors / description
        Added value: +"Links: come_and_see, who_is_jesus, a_table, a_shepherd, talk."
      • 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 / 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 / matched / description
        Added value: +"Path of the page used, or null when none was held."
      • 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 / posture / description
        Added value: +"The house's stance: respectful, no argument, an invitation to a conversation."
      • addedOutput schema / properties / questions / description
        Added value: +"Questions the page opens, each its own page."
      • 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 / suggestions / description
        Added value: +"When matched is null: every comparison page held."
      • addedOutput schema / properties / title / description
        Added value: +"Page title."
      • addedOutput schema / properties / url / description
        Added value: +"Page URL."
      • addedOutput schema / properties / verses / description
        Added value: +"Verses named on the page, verbatim KJV (up to 3)."
      • addedOutput schema / properties / visibility
        Added value: +{
        +  "description": "\"public\" for shared data, \"yours\" for the signed-in believer's own data.",
        +  "type": "string"
        +}
    • Changedchurch22 fields changed
      • changedInput schema / properties / country / description
        Previous value: -"Country slug or name: \"united-states\", \"colombia\", \"andorra\"."New value: +"Country slug (the part after \"lb:church:\" and before \"/\"): \"united-states\", \"colombia\". A plain country name is slugified."
      • changedInput schema / properties / slug / description
        Previous value: -"The church slug from a nearby result or id, e.g. \"capella-de-casa-rossell\"."New value: +"Church slug (the part after \"/\"), e.g. \"iglesia-la-capuchina\". A full lb:church:<country>/<slug> id is also accepted."
      • 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 / country / description
        Added value: +"Country name."
      • addedOutput schema / properties / denomination / description
        Added value: +"Denomination when known."
      • 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: +"Stable id, lb:church:<country>/<slug>."
      • 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 / name / description
        Added value: +"Church name."
      • 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 / provenance / description
        Added value: +"Where each part of the record came from (e.g. OpenStreetMap, Wikidata)."
      • 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 / url / description
        Added value: +"Open-data page for the church."
      • addedOutput schema / properties / verified / description
        Added value: +"Details the church supplied and verified itself; absent when it has not."
      • addedOutput schema / properties / visibility
        Added value: +{
        +  "description": "\"public\" for shared data, \"yours\" for the signed-in believer's own data.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / website / description
        Added value: +"The church's own website, when known."
    • Changedcommunities_to_join20 fields changed
      • changedInput schema / properties / cursor / description
        Previous value: -"Opaque cursor from a previous answer's next_cursor, for the next page."New value: +"Opaque paging token: the next_cursor value from the previous answer of this same call. Omit for the first page."
      • addedInput schema / properties / limit / description
        Added value: +"Page size, 1 to 20 (default 10)."
      • changedInput schema / properties / query / description
        Previous value: -"Optional: a word, a city, or a kind (\"prayer\", \"study\", \"Atlanta\")."New value: +"Optional filter words matched against name, description, kind, city and country: \"prayer\", \"study\", \"Atlanta\". Omit to list all."
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Credit line for the data: The Living Bread (living-bread.org).",
        +  "type": "string"
        +}
      • addedOutput schema / properties / communities / description
        Added value: +"Each community: id (fetch with community:<id>), name, kind, its own description, city or \"everywhere\", member count, how to join, next posted gathering (UTC) or null, and whether it is verified."
      • 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 / count / description
        Added value: +"Communities on this page; 0 when none matched."
      • 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 / ids
        Added value: +{
        +  "description": "Up to 25 ids found in this answer, for follow-up calls.",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / join_here / description
        Added value: +"Link where communities are joined."
      • addedOutput schema / properties / license
        Added value: +{
        +  "description": "License URL of the returned data (CC BY 4.0 unless stated).",
        +  "type": "string"
        +}
      • 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 / next_cursor / description
        Added value: +"Pass back as cursor for the next page; null when there is none."
      • 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 / total
        Added value: +{
        +  "description": "Total matching communities across all pages.",
        +  "type": "number"
        +}
      • addedOutput schema / properties / visibility
        Added value: +{
        +  "description": "\"public\" for shared data, \"yours\" for the signed-in believer's own data.",
        +  "type": "string"
        +}
    • Changedcrisis_resources25 fields changed
      • changedInput schema / properties / country / description
        Previous value: -"Country name or ISO 3166-1 alpha-2 code (\"Nigeria\", \"GB\", \"Brazil\"). Ask the person if unknown."New value: +"The person's country: name or ISO 3166-1 alpha-2 code (\"Nigeria\", \"GB\", \"Brazil\", \"USA\"). Omit only to get the list of countries held."
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Credit line for the data: The Living Bread (living-bread.org).",
        +  "type": "string"
        +}
      • addedOutput schema / properties / child_help / description
        Added value: +"Child help line, or null."
      • addedOutput schema / properties / confidence / description
        Added value: +"Confidence of the verification."
      • 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 / countries_held / description
        Added value: +"When country is null: every country held, \"Name (CODE)\"."
      • addedOutput schema / properties / country / description
        Added value: +"The country matched (ISO code and name), or null when not held."
      • addedOutput schema / properties / crisis_line / description
        Added value: +"National suicide or crisis line (name, number, hours, url when known), or null."
      • addedOutput schema / properties / domestic_violence / description
        Added value: +"Domestic violence line, or null."
      • addedOutput schema / properties / door / description
        Added value: +"The app's own crisis page."
      • addedOutput schema / properties / emergency / description
        Added value: +"Emergency numbers to dial; empty when the country is not held."
      • 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 / 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 / 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 / rule / description
        Added value: +"How to use the result: give the number first and plainly, stay with the person."
      • addedOutput schema / properties / source / description
        Added value: +"Where the numbers were verified."
      • 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_line / description
        Added value: +"Crisis text line, or null."
      • addedOutput schema / properties / verified_at / description
        Added value: +"Date the numbers were last checked."
      • addedOutput schema / properties / visibility
        Added value: +{
        +  "description": "\"public\" for shared data, \"yours\" for the signed-in believer's own data.",
        +  "type": "string"
        +}
    • Changedcross_references20 fields changed
      • changedInput schema / properties / include_text / description
        Previous value: -"Read each linked passage from the stored text (up to 4 verses each)."New value: +"true (default): read each linked passage verbatim (up to 4 verses each, shortened flag set when cut). false: references and votes only."
      • addedInput schema / properties / limit / description
        Added value: +"Maximum linked passages, 1 to 12 (default 6)."
      • changedInput schema / properties / reference / description
        Previous value: -"One verse, e.g. \"Romans 8:28\". For a range, the first verse is used."New value: +"One verse: \"Romans 8:28\". For a range, its first verse is used; a whole chapter is an error."
      • 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 / description
        Added value: +"Marks Scripture fields and the human judgement of which passages link."
      • addedOutput schema / properties / count / description
        Added value: +"Linked passages returned; 0 when the verse has none."
      • 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 / 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 / description
        Added value: +"The dataset's license."
      • 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 / ref / description
        Added value: +"The verse looked up."
      • addedOutput schema / properties / references / description
        Added value: +"Strongest first: reference, reader votes, verbatim KJV text (null when include_text is false), whether the text was shortened to 4 verses, and web link."
      • 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 / description
        Added value: +"The cross-reference dataset."
      • 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 / visibility
        Added value: +{
        +  "description": "\"public\" for shared data, \"yours\" for the signed-in believer's own data.",
        +  "type": "string"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "ref",
        -  "count",
        -  "references",
        -  "source",
        -  "license",
        -  "content_layers"
        -]New value: +[
        +  "content_layers",
        +  "license",
        +  "ref",
        +  "count",
        +  "references",
        +  "source"
        +]
    • Changeddaily_bread19 fields changed
      • changedInput schema / properties / date / description
        Previous value: -"A calendar day as YYYY-MM-DD in the person's own time zone. Defaults to today (UTC)."New value: +"Calendar day as YYYY-MM-DD, ideally in the person's own time zone, e.g. \"2026-10-06\". Omit for today (UTC)."
      • 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 / date / description
        Added value: +"The date answered, YYYY-MM-DD."
      • 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 / 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 / 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 / page / description
        Added value: +"Web page with today's verse, a reflection and a prayer."
      • addedOutput schema / properties / ref / description
        Added value: +"Verse reference."
      • 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 / shared / description
        Added value: +"One sentence explaining that everyone receives this same verse that day."
      • 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: +"Verse text, verbatim KJV."
      • addedOutput schema / properties / translation / description
        Added value: +"Always KJV."
      • addedOutput schema / properties / visibility
        Added value: +{
        +  "description": "\"public\" for shared data, \"yours\" for the signed-in believer's own data.",
        +  "type": "string"
        +}
    • Changeddenomination_compare19 fields changed
      • changedInput schema / properties / a / description
        Previous value: -"First tradition: \"Methodism\", \"Baptists\", \"Catholic Church\"."New value: +"First denomination by name or slug: \"Methodism\", \"Baptists\", \"Catholic Church\"."
      • changedInput schema / properties / b / description
        Previous value: -"Second tradition."New value: +"Second denomination, same format: \"Eastern Orthodox Church\"."
      • addedOutput schema / properties / a / description
        Added value: +"First tradition: lb: id, name, page, parent, branch ids, sameAs links; null when not held."
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Credit line for the data: The Living Bread (living-bread.org).",
        +  "type": "string"
        +}
      • addedOutput schema / properties / b / description
        Added value: +"Second tradition, same shape; null when not held."
      • 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 / door / description
        Added value: +"The house's overview of Christian traditions."
      • 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 / 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 / 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 / posture / description
        Added value: +"The house's stance on describing traditions, in its words."
      • 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 / shared_root / description
        Added value: +"The lb: id of a parent both share, or null."
      • 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 / visibility
        Added value: +{
        +  "description": "\"public\" for shared data, \"yours\" for the signed-in believer's own data.",
        +  "type": "string"
        +}
    • Changedevents_this_week20 fields changed
      • changedInput schema / properties / city / description
        Previous value: -"A city, region or country, when there are no coordinates."New value: +"A city, region or country, used when there are no coordinates: \"Austin\", \"Kigali\". Geocoded to its centre."
      • changedInput schema / properties / lat / description
        Previous value: -"Latitude, if the person has shared where they are."New value: +"Latitude in decimal degrees, only if the person shared their location. Must be paired with lng; coordinates win over city."
      • addedInput schema / properties / limit / description
        Added value: +"Maximum gatherings to return, 1 to 20 (default 10)."
      • changedInput schema / properties / lng / description
        Previous value: -"Longitude, paired with lat."New value: +"Longitude in decimal degrees, paired with lat."
      • 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 / count / description
        Added value: +"Gatherings returned; 0 when none."
      • addedOutput schema / properties / door / description
        Added value: +"Link to every gathering."
      • 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 / gatherings / description
        Added value: +"Soonest first: id (fetch with gathering:<id>), title, start in UTC, city-level place or \"online\", distance in km, category, online flag."
      • 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 / 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 / searched / description
        Added value: +"The place searched, as resolved, or \"anywhere\"."
      • 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 / visibility
        Added value: +{
        +  "description": "\"public\" for shared data, \"yours\" for the signed-in believer's own data.",
        +  "type": "string"
        +}
    • Changedfaith_in_a_hard_season24 fields changed
      • changedInput schema / properties / life_event / description
        Previous value: -"The moment in their words: \"grief\", \"lonely\", \"church hurt\", \"starting out\", \"I miss God\"."New value: +"The moment in the person's words: \"grief\", \"lonely\", \"church hurt\", \"I miss God\", \"start here\"."
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Credit line for the data: The Living Bread (living-bread.org).",
        +  "type": "string"
        +}
      • addedOutput schema / properties / body / description
        Added value: +"Page text, up to about 1,600 characters, in the house's words."
      • 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 / door / description
        Added value: +"Where the person continues on the web."
      • 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 / exact / description
        Added value: +"False when the page is only the closest match to the input."
      • 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 / hub / description
        Added value: +"Index page of the whole collection."
      • 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 / matched / description
        Added value: +"Path of the page used, or null when no page matched."
      • 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 / related / description
        Added value: +"Up to 5 related pages in the same collection."
      • 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 / suggestions / description
        Added value: +"When matched is null: pages the collection holds."
      • addedOutput schema / properties / summary / description
        Added value: +"The page's own one-line description."
      • addedOutput schema / properties / title / description
        Added value: +"Page title."
      • addedOutput schema / properties / url / description
        Added value: +"Page URL."
      • addedOutput schema / properties / verses / description
        Added value: +"Up to 4 verses the page names, verbatim KJV."
      • addedOutput schema / properties / visibility
        Added value: +{
        +  "description": "\"public\" for shared data, \"yours\" for the signed-in believer's own data.",
        +  "type": "string"
        +}
    • Changedfetch18 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"
        +}
    • Changedfind_churches_near24 fields changed
      • changedInput schema / properties / city / description
        Previous value: -"A city, region or country, when there are no coordinates: \"Dallas\", \"Lagos\", \"Greater London\"."New value: +"A city, region or country, used when there are no coordinates: \"Dallas\", \"Lagos\", \"Greater London\". Geocoded to its centre."
      • changedInput schema / properties / denomination / description
        Previous value: -"Optional: \"baptist\", \"catholic\", \"methodist\", \"pentecostal\", \"orthodox\", \"anglican\"..."New value: +"Optional tradition filter, one lowercase word: \"baptist\", \"catholic\", \"methodist\", \"pentecostal\", \"orthodox\", \"anglican\"."
      • changedInput schema / properties / lat / description
        Previous value: -"Latitude, if the person has shared where they are."New value: +"Latitude in decimal degrees, only if the person shared their location. Must be paired with lng; coordinates win over city."
      • addedInput schema / properties / limit / description
        Added value: +"Maximum churches to return, 1 to 20 (default 8)."
      • changedInput schema / properties / lng / description
        Previous value: -"Longitude, paired with lat."New value: +"Longitude in decimal degrees, paired with lat."
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Credit line for the data: The Living Bread (living-bread.org).",
        +  "type": "string"
        +}
      • addedOutput schema / properties / churches / description
        Added value: +"Nearest first: name, city-level place, distance in km, denomination when known, whether the church is on The Living Bread, its open-data page, and an id (lb:church:<country>/<slug> ids work with church and fetch)."
      • 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 / count / description
        Added value: +"Number of churches returned; 0 when none is held within 250 km."
      • 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 / find_a_church / description
        Added value: +"Link to the live church finder map."
      • 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 / gatherings / description
        Added value: +"Link to upcoming gatherings."
      • addedOutput schema / properties / honest / description
        Added value: +"Present when count is 0: what the empty result means."
      • 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 / nearest_we_hold / description
        Added value: +"When count is 0, the nearest church held beyond 250 km, if any."
      • 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 / searched / description
        Added value: +"The place searched, as resolved."
      • 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 / visibility
        Added value: +{
        +  "description": "\"public\" for shared data, \"yours\" for the signed-in believer's own data.",
        +  "type": "string"
        +}
    • Changedfind_gatherings_near25 fields changed
      • changedInput schema / properties / city / description
        Previous value: -"A city, region or country, when there are no coordinates: \"Dallas\", \"Lagos\", \"Greater London\"."New value: +"A city, region or country, used when there are no coordinates: \"Dallas\", \"Lagos\", \"Greater London\". Geocoded to its centre."
      • changedInput schema / properties / cursor / description
        Previous value: -"Opaque cursor from a previous answer's next_cursor, for the next page."New value: +"Opaque paging token: the next_cursor value from the previous answer of this same call. Omit for the first page."
      • changedInput schema / properties / days / description
        Previous value: -"How many days ahead to look."New value: +"How many days ahead to look, 1 to 60 (default 14)."
      • changedInput schema / properties / lat / description
        Previous value: -"Latitude, if the person has shared where they are."New value: +"Latitude in decimal degrees, only if the person shared their location. Must be paired with lng; coordinates win over city."
      • addedInput schema / properties / limit / description
        Added value: +"Page size, 1 to 20 (default 8)."
      • changedInput schema / properties / lng / description
        Previous value: -"Longitude, paired with lat."New value: +"Longitude in decimal degrees, paired with lat."
      • changedInput schema / properties / online / description
        Previous value: -"True for gatherings joinable from anywhere."New value: +"true: only gatherings joinable online from anywhere. Omit to include in-person and online."
      • 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 / count / description
        Added value: +"Gatherings on this page; 0 when none."
      • 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 / gatherings / description
        Added value: +"Soonest first: id (fetch with gathering:<id>), title, start in UTC, city-level place or \"online\", distance in km, category, online flag, and whether the host marked it good for a first visit."
      • addedOutput schema / properties / gatherings_page / description
        Added value: +"Link to every gathering on the web."
      • addedOutput schema / properties / honest / description
        Added value: +"Present when count is 0: what the empty result means and what to try."
      • 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 / 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 / next_cursor / description
        Added value: +"Pass back as cursor for the next page; null when there is none."
      • 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 / searched / description
        Added value: +"The place searched, as resolved, or \"online\"."
      • 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 / visibility
        Added value: +{
        +  "description": "\"public\" for shared data, \"yours\" for the signed-in believer's own data.",
        +  "type": "string"
        +}
    • Changedgatherings_tonight21 fields changed
      • changedInput schema / properties / city / description
        Previous value: -"The city, for example \"Atlanta\" or \"San Diego\"."New value: +"City name, matched as text: \"Atlanta\", \"San Diego\"."
      • changedInput schema / properties / country / description
        Previous value: -"Optional country, as an ISO code (US) or a name."New value: +"Optional country to disambiguate the city, ISO code (\"US\") or name."
      • changedInput schema / properties / hours / description
        Previous value: -"How many hours ahead to look, 1 to 36. Default 12."New value: +"How many hours ahead to look, 1 to 36 (default 12)."
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Credit line for the data: The Living Bread (living-bread.org).",
        +  "type": "string"
        +}
      • addedOutput schema / properties / city / description
        Added value: +"The city searched."
      • 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 / count / description
        Added value: +"Gatherings returned; 0 when none."
      • addedOutput schema / properties / door / description
        Added value: +"Link to every gathering."
      • 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 / gatherings / description
        Added value: +"Each gathering: id, title, start (ISO, UTC), city, region, country, online flag, host name, venue name, and its public JSON data URL."
      • addedOutput schema / properties / honest / description
        Added value: +"Present when count is 0: what the empty result means."
      • addedOutput schema / properties / hours / description
        Added value: +"The window used, in hours."
      • 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 / 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 / visibility
        Added value: +{
        +  "description": "\"public\" for shared data, \"yours\" for the signed-in believer's own data.",
        +  "type": "string"
        +}
    • Changedhear_the_kingdom_pray16 fields changed
      • 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 / how_to_add_your_voice / description
        Added value: +"How a member adds a voice prayer (one a day) and what recording supports."
      • 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 / link / description
        Added value: +"Link to the Kingdom praying room."
      • 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 / scripture_ref / description
        Added value: +"A reference (not text) for the verse the room opens with."
      • 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 / visibility
        Added value: +{
        +  "description": "\"public\" for shared data, \"yours\" for the signed-in believer's own data.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / what_it_is / description
        Added value: +"What the person hears there."
    • Changedheritage_lookup23 fields changed
      • addedInput schema / properties / kind / description
        Added value: +"Which kind of entity: denomination, saint, sacred-site, biblical-figure or bible-place."
      • changedInput schema / properties / name / description
        Previous value: -"A name or slug."New value: +"The entity's name or slug: \"Methodism\", \"augustine-of-hippo\", \"Bethlehem\"."
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Credit line for the data: The Living Bread (living-bread.org).",
        +  "type": "string"
        +}
      • addedOutput schema / properties / children / description
        Added value: +"Related lb: ids (for a denomination, its branches)."
      • 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: +"Stable id, e.g. lb:denomination:methodism."
      • 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 / image / description
        Added value: +"Image URL when held."
      • addedOutput schema / properties / license
        Added value: +{
        +  "description": "License URL of the returned data (CC BY 4.0 unless stated).",
        +  "type": "string"
        +}
      • addedOutput schema / properties / name / description
        Added value: +"Display name."
      • 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 / parent / description
        Added value: +"For a denomination, the tradition it grew from."
      • addedOutput schema / properties / provenance / description
        Added value: +"Where the record came from."
      • 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 / sameAs / description
        Added value: +"Equivalent pages elsewhere (Wikidata, Wikipedia)."
      • 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 / type / description
        Added value: +"Entity type."
      • addedOutput schema / properties / url / description
        Added value: +"Sourced web page for the entity."
      • addedOutput schema / properties / visibility
        Added value: +{
        +  "description": "\"public\" for shared data, \"yours\" for the signed-in believer's own data.",
        +  "type": "string"
        +}
    • Changedhymn23 fields changed
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Credit line for the data: The Living Bread (living-bread.org).",
        +  "type": "string"
        +}
      • addedOutput schema / properties / body / description
        Added value: +"Page text, up to about 1,600 characters, in the house's words."
      • 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 / door / description
        Added value: +"Where the person continues on the web."
      • 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 / exact / description
        Added value: +"False when the page is only the closest match to the input."
      • 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 / hub / description
        Added value: +"Index page of the whole collection."
      • 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 / matched / description
        Added value: +"Path of the page used, or null when no page matched."
      • 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 / related / description
        Added value: +"Up to 5 related pages in the same collection."
      • 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 / suggestions / description
        Added value: +"When matched is null: pages the collection holds."
      • addedOutput schema / properties / summary / description
        Added value: +"The page's own one-line description."
      • addedOutput schema / properties / title / description
        Added value: +"Page title."
      • addedOutput schema / properties / url / description
        Added value: +"Page URL."
      • addedOutput schema / properties / verses / description
        Added value: +"Up to 4 verses the page names, verbatim KJV."
      • addedOutput schema / properties / visibility
        Added value: +{
        +  "description": "\"public\" for shared data, \"yours\" for the signed-in believer's own data.",
        +  "type": "string"
        +}
    • Changedjourney_next_steps25 fields changed
      • changedInput schema / properties / journey / description
        Previous value: -"Which journey."New value: +"Which journey to run: community_near_me, someone_to_pray_with_tonight, serve_this_weekend, new_to_christianity, prayer_group_in_my_language, understand_and_live_a_passage."
      • changedInput schema / properties / language / description
        Previous value: -"For prayer_group_in_my_language: a language name or ISO code (\"Spanish\", \"es\", \"Korean\")."New value: +"For prayer_group_in_my_language: language name or ISO 639-1 code (\"Spanish\", \"es\", \"Korean\")."
      • changedInput schema / properties / passage / description
        Previous value: -"For understand_and_live_a_passage: a Bible reference, e.g. \"Romans 12:1-2\"."New value: +"For understand_and_live_a_passage: a Bible reference (\"Romans 12:1-2\")."
      • changedInput schema / properties / place / description
        Previous value: -"A city, region or country, as the person says it. Never an address."New value: +"City, region or country as the person says it (\"Leeds\", \"Kenya\"); never a street address. Used by the place-based journeys."
      • addedOutput schema / properties / alternatives / description
        Added value: +"Other links to try when results are thin."
      • 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 / count / description
        Added value: +"Results returned, at most 5."
      • addedOutput schema / properties / empty / description
        Added value: +"True when nothing fitting was found."
      • 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 / honest / description
        Added value: +"When empty or thin, a plain statement of what is missing; else null."
      • 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 / journey / description
        Added value: +"The journey run."
      • addedOutput schema / properties / license
        Added value: +{
        +  "description": "License URL of the returned data (CC BY 4.0 unless stated).",
        +  "type": "string"
        +}
      • 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 / next_step / description
        Added value: +"The single recommended next link; give it exactly as returned."
      • 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 / results / description
        Added value: +"Ranked results: id, kind (church, community, gathering, people, need, reading_plan, scripture, page, door, act), title, why it fits, and source URL; each also carries freshness."
      • 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 / steps_taken / description
        Added value: +"The sources consulted, in order."
      • addedOutput schema / properties / title / description
        Added value: +"Human title of the journey."
      • addedOutput schema / properties / visibility
        Added value: +{
        +  "description": "\"public\" for shared data, \"yours\" for the signed-in believer's own data.",
        +  "type": "string"
        +}
    • Changedkingdom_map18 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Maximum places to return, 1 to 50 (default 12)."
      • changedInput schema / properties / place / description
        Previous value: -"A city or country word to filter by."New value: +"Optional filter, matched as a substring of \"city country\": \"Nairobi\", \"Brazil\"."
      • 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 / count / description
        Added value: +"Places returned; 0 when none matched."
      • addedOutput schema / properties / door / description
        Added value: +"Link to the live map."
      • 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 / 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 / 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 / places / description
        Added value: +"Largest first: city, country, member count, and count of recent actions there."
      • 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 / total_believers_shown / description
        Added value: +"Sum of members across the places returned."
      • addedOutput schema / properties / visibility
        Added value: +{
        +  "description": "\"public\" for shared data, \"yours\" for the signed-in believer's own data.",
        +  "type": "string"
        +}
    • Changedkingdom_protocol_lookup20 fields changed
      • changedInput schema / properties / urn / description
        Previous value: -"An lb: URN, for example lb:gathering:<uuid> or lb:ministry:hope-for-a-good-life."New value: +"An lb: URN, lowercase kind: \"lb:gathering:<uuid>\", \"lb:ministry:hope-for-a-good-life\", \"lb:profile:<handle>\"."
      • 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 / door / description
        Added value: +"Documentation page for the protocol or graph."
      • 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 / found / description
        Added value: +"False when unknown, not public, or not a URN."
      • 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 / 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 / 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 / object / description
        Added value: +"The public object as stored, or null."
      • 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 / protocol_kind / description
        Added value: +"Protocol kind (gathering, church, ministry, community, need, service-opportunity, testimony, prayer, person), or null for Kingdom Graph entities."
      • 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 / schema / description
        Added value: +"URL of the JSON Schema for this kind, or null."
      • addedOutput schema / properties / source / description
        Added value: +"The read that answered (a protocol function name, or kingdom_graph)."
      • 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 / urn / description
        Added value: +"The URN requested."
      • addedOutput schema / properties / visibility
        Added value: +{
        +  "description": "\"public\" for shared data, \"yours\" for the signed-in believer's own data.",
        +  "type": "string"
        +}
    • Changedmiracle24 fields changed
      • changedInput schema / properties / name / description
        Previous value: -"The miracle: \"water into wine\", \"feeding the five thousand\", \"walking on water\", \"raising Lazarus\", \"calming the storm\"."New value: +"The miracle in a few words: \"water into wine\", \"feeding the five thousand\", \"walking on water\", \"raising Lazarus\", \"calming the storm\"."
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Credit line for the data: The Living Bread (living-bread.org).",
        +  "type": "string"
        +}
      • addedOutput schema / properties / body / description
        Added value: +"Page text, up to about 1,600 characters, in the house's words."
      • 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 / door / description
        Added value: +"Where the person continues on the web."
      • 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 / exact / description
        Added value: +"False when the page is only the closest match to the input."
      • 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 / hub / description
        Added value: +"Index page of the whole collection."
      • 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 / matched / description
        Added value: +"Path of the page used, or null when no page matched."
      • 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 / related / description
        Added value: +"Up to 5 related pages in the same collection."
      • 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 / suggestions / description
        Added value: +"When matched is null: pages the collection holds."
      • addedOutput schema / properties / summary / description
        Added value: +"The page's own one-line description."
      • addedOutput schema / properties / title / description
        Added value: +"Page title."
      • addedOutput schema / properties / url / description
        Added value: +"Page URL."
      • addedOutput schema / properties / verses / description
        Added value: +"Up to 4 verses the page names, verbatim KJV."
      • addedOutput schema / properties / visibility
        Added value: +{
        +  "description": "\"public\" for shared data, \"yours\" for the signed-in believer's own data.",
        +  "type": "string"
        +}
    • Changedname_meaning24 fields changed
      • changedInput schema / properties / name / description
        Previous value: -"The name: \"Elijah\", \"Hannah\", \"Caleb\"."New value: +"One name: \"Elijah\", \"Hannah\", \"Caleb\"."
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Credit line for the data: The Living Bread (living-bread.org).",
        +  "type": "string"
        +}
      • addedOutput schema / properties / body / description
        Added value: +"Page text, up to about 1,600 characters, in the house's words."
      • 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 / door / description
        Added value: +"Where the person continues on the web."
      • 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 / exact / description
        Added value: +"False when the page is only the closest match to the input."
      • 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 / hub / description
        Added value: +"Index page of the whole collection."
      • 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 / matched / description
        Added value: +"Path of the page used, or null when no page matched."
      • 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 / related / description
        Added value: +"Up to 5 related pages in the same collection."
      • 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 / suggestions / description
        Added value: +"When matched is null: pages the collection holds."
      • addedOutput schema / properties / summary / description
        Added value: +"The page's own one-line description."
      • addedOutput schema / properties / title / description
        Added value: +"Page title."
      • addedOutput schema / properties / url / description
        Added value: +"Page URL."
      • addedOutput schema / properties / verses / description
        Added value: +"Up to 4 verses the page names, verbatim KJV."
      • addedOutput schema / properties / visibility
        Added value: +{
        +  "description": "\"public\" for shared data, \"yours\" for the signed-in believer's own data.",
        +  "type": "string"
        +}
    • Changedneeds_near22 fields changed
      • changedInput schema / properties / city / description
        Previous value: -"A city, region or country, when there are no coordinates."New value: +"A city, region or country, used when there are no coordinates: \"Austin\", \"Kigali\". Geocoded to its centre."
      • changedInput schema / properties / country / description
        Previous value: -"A country, to list its needs without coordinates."New value: +"Country name to list its needs when there are no coordinates or city: \"Rwanda\", \"Kenya\". Matched as text against country and region."
      • changedInput schema / properties / lat / description
        Previous value: -"Latitude, if the person has shared where they are."New value: +"Latitude in decimal degrees, only if the person shared their location. Must be paired with lng; coordinates win over city."
      • addedInput schema / properties / limit / description
        Added value: +"Maximum needs to return, 1 to 20 (default 8)."
      • changedInput schema / properties / lng / description
        Previous value: -"Longitude, paired with lat."New value: +"Longitude in decimal degrees, paired with lat."
      • 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 / count / description
        Added value: +"Needs matching the place; 0 when none (needs then holds remote or fundable alternatives)."
      • addedOutput schema / properties / door / description
        Added value: +"Link to Serve."
      • 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 / honest / description
        Added value: +"Present when count is 0: what the empty result means."
      • 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 / needs / description
        Added value: +"Each need: id (uuid for offer_to_serve), title, description, category, urgency, approximate city/region/country, distance in km (null without coordinates), partner name, ways to meet it (\"in person\", \"remotely\", \"by funding\"), estimated cost with currency, whether it is a labelled pilot example, and link."
      • 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 / searched / description
        Added value: +"The place searched, or \"the whole network\"."
      • 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 / visibility
        Added value: +{
        +  "description": "\"public\" for shared data, \"yours\" for the signed-in believer's own data.",
        +  "type": "string"
        +}
    • Changedparable24 fields changed
      • changedInput schema / properties / name / description
        Previous value: -"The parable: \"prodigal son\", \"good samaritan\", \"the sower\", \"lost sheep\", \"talents\"."New value: +"The parable's name, with or without \"parable of\": \"prodigal son\", \"good samaritan\", \"the sower\", \"lost sheep\", \"talents\"."
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Credit line for the data: The Living Bread (living-bread.org).",
        +  "type": "string"
        +}
      • addedOutput schema / properties / body / description
        Added value: +"Page text, up to about 1,600 characters, in the house's words."
      • 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 / door / description
        Added value: +"Where the person continues on the web."
      • 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 / exact / description
        Added value: +"False when the page is only the closest match to the input."
      • 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 / hub / description
        Added value: +"Index page of the whole collection."
      • 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 / matched / description
        Added value: +"Path of the page used, or null when no page matched."
      • 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 / related / description
        Added value: +"Up to 5 related pages in the same collection."
      • 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 / suggestions / description
        Added value: +"When matched is null: pages the collection holds."
      • addedOutput schema / properties / summary / description
        Added value: +"The page's own one-line description."
      • addedOutput schema / properties / title / description
        Added value: +"Page title."
      • addedOutput schema / properties / url / description
        Added value: +"Page URL."
      • addedOutput schema / properties / verses / description
        Added value: +"Up to 4 verses the page names, verbatim KJV."
      • addedOutput schema / properties / visibility
        Added value: +{
        +  "description": "\"public\" for shared data, \"yours\" for the signed-in believer's own data.",
        +  "type": "string"
        +}
    • Changedpray_for_someone21 fields changed
      • changedInput schema / properties / name / description
        Previous value: -"Who the prayer is for, if known."New value: +"First name of the person to be prayed for, used only to personalise the explanation. Optional."
      • addedOutput schema / properties / app_store / description
        Added value: +"iOS App Store link."
      • 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 / for / description
        Added value: +"The name given, or null."
      • 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 / 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 / link / description
        Added value: +"Deep link to the voice prayer screen (opens the app or web)."
      • 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 / not_on_living_bread_yet / description
        Added value: +"How to reach someone without an account, by private link."
      • 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 / play_store / description
        Added value: +"Google Play link."
      • addedOutput schema / properties / recording / description
        Added value: +"What recording currently supports, stated honestly."
      • 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 / scripture_ref / description
        Added value: +"A reference (not text) for the verse this screen opens with; read it with scripture_passage."
      • 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 / visibility
        Added value: +{
        +  "description": "\"public\" for shared data, \"yours\" for the signed-in believer's own data.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / what_happens / description
        Added value: +"Plain explanation of what the person does and what the other person receives."
    • Changedprayers_left_near22 fields changed
      • changedInput schema / properties / city / description
        Previous value: -"A city, region or country, when there are no coordinates."New value: +"A city, region or country, used when there are no coordinates: \"Austin\", \"Kigali\". Geocoded to its centre."
      • changedInput schema / properties / lat / description
        Previous value: -"Latitude, if the person has shared where they are."New value: +"Latitude in decimal degrees, only if the person shared their location. Must be paired with lng; coordinates win over city."
      • addedInput schema / properties / limit / description
        Added value: +"Maximum prayers to return, 1 to 30 (default 8)."
      • changedInput schema / properties / lng / description
        Previous value: -"Longitude, paired with lat."New value: +"Longitude in decimal degrees, paired with lat."
      • addedInput schema / properties / radius_km / description
        Added value: +"Search radius in km around the point, 0.1 to 50 (default 5)."
      • 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 / count / description
        Added value: +"Prayers returned; 0 when none within the radius."
      • addedOutput schema / properties / door / description
        Added value: +"Link to Prayer in Place in the app."
      • 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 / 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 / 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 / prayers / description
        Added value: +"Nearest first: id, geohash cell and its approximate centre, place name or kind, prayer kind, whether it is a voice prayer, written words (null for voice), Scripture reference, first name or \"someone\", times heard, times prayed with, ISO time left, distance in km, and the cell's link."
      • 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 / searched / description
        Added value: +"The place searched, as resolved."
      • 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 / totals / description
        Added value: +"Worldwide counts: prayers, places, places prayed at today."
      • addedOutput schema / properties / visibility
        Added value: +{
        +  "description": "\"public\" for shared data, \"yours\" for the signed-in believer's own data.",
        +  "type": "string"
        +}
    • Changedreading_plans17 fields changed
      • changedInput schema / properties / day / description
        Previous value: -"Which day to read in full (default 1)."New value: +"Which day of the plan to read in full, 1 to 31 (default 1; clamped to the plan's length)."
      • changedInput schema / properties / plan / description
        Previous value: -"A plan name, or a need: \"anxious\", \"new to the Bible\", \"grief\", \"learn to pray\"."New value: +"A plan name or a need it serves: \"Learn to Pray\", \"anxious\", \"new to the Bible\", \"grief\". Omit to list all plans."
      • 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 / door / description
        Added value: +"Link to all plans in the app."
      • 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 / 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 / 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 / plan / description
        Added value: +"The matched plan with its day outline and the requested day's reading (reference, verbatim KJV text, reflection word and step in the house's words); null when no plan matched."
      • addedOutput schema / properties / plans / description
        Added value: +"Every plan: id, title, subtitle, number of days, who it is for, link."
      • 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 / visibility
        Added value: +{
        +  "description": "\"public\" for shared data, \"yours\" for the signed-in believer's own data.",
        +  "type": "string"
        +}
    • Changedsaint_of_the_day20 fields changed
      • changedInput schema / properties / date / description
        Previous value: -"YYYY-MM-DD or \"October 4\". Defaults to today."New value: +"The day as YYYY-MM-DD or month and day in English: \"2026-10-04\", \"October 4\", \"4 Oct\". Omit for today (UTC)."
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Credit line for the data: The Living Bread (living-bread.org).",
        +  "type": "string"
        +}
      • addedOutput schema / properties / body / description
        Added value: +"Page text, up to about 1,200 characters."
      • 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 / date / description
        Added value: +"The day answered, e.g. \"October 4\"."
      • addedOutput schema / properties / door / description
        Added value: +"Index of every day."
      • 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 / 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 / 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 / remembered / description
        Added value: +"Names of the saints and blesseds remembered that day (up to 12)."
      • 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 / title / description
        Added value: +"Page title."
      • addedOutput schema / properties / url / description
        Added value: +"Page URL."
      • addedOutput schema / properties / verses / description
        Added value: +"Up to 2 verses the page names, verbatim KJV."
      • addedOutput schema / properties / visibility
        Added value: +{
        +  "description": "\"public\" for shared data, \"yours\" for the signed-in believer's own data.",
        +  "type": "string"
        +}
    • Changedscripture_context21 fields changed
      • changedInput schema / properties / around / description
        Previous value: -"How many verses to read before and after, 0 to 10."New value: +"Verses to read on each side, 0 to 10 (default 3)."
      • changedInput schema / properties / reference / description
        Previous value: -"A verse or short range, e.g. \"Jeremiah 29:11\" or \"Romans 8:28-30\"."New value: +"One verse or a short range, not a whole chapter: \"Jeremiah 29:11\", \"Romans 8:28-30\"."
      • addedOutput schema / properties / after / description
        Added value: +"The verses just after, or null at the end of the book."
      • addedOutput schema / properties / around / description
        Added value: +"Verses read on each side."
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Credit line for the data: The Living Bread (living-bread.org).",
        +  "type": "string"
        +}
      • addedOutput schema / properties / before / description
        Added value: +"The verses just before, or null at the start of the book."
      • 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 / description
        Added value: +"Marks which fields are Scripture."
      • 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 / 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 / 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 / passage / description
        Added value: +"The passage itself: ref, verbatim text, and verses."
      • addedOutput schema / properties / read_more / description
        Added value: +"Web page for the passage."
      • addedOutput schema / properties / ref / description
        Added value: +"Normalised reference of the passage asked for."
      • 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 / visibility
        Added value: +{
        +  "description": "\"public\" for shared data, \"yours\" for the signed-in believer's own data.",
        +  "type": "string"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "ref",
        -  "passage",
        -  "before",
        -  "after",
        -  "around",
        -  "read_more",
        -  "content_layers"
        -]New value: +[
        +  "content_layers",
        +  "ref",
        +  "passage",
        +  "before",
        +  "after",
        +  "around",
        +  "read_more"
        +]
    • Changedscripture_passage23 fields changed
      • changedInput schema / properties / reference / description
        Previous value: -"A Bible reference as a reader says it, e.g. \"John 3:16\", \"Psalm 23\", \"Romans 8:38-39\"."New value: +"Book, chapter and optional verse or range, as a reader writes it: \"John 3:16\", \"Psalm 23\", \"Romans 8:38-39\", \"1 Cor 13:4-7\". Common abbreviations are accepted."
      • changedInput schema / properties / translation / description
        Previous value: -"KJV (whole Bible) or WEB (World English Bible, held for a limited set of passages; falls back to KJV and says so)."New value: +"KJV (whole Bible, default) or WEB (World English Bible, held for a limited set of passages; otherwise KJV is returned with a note)."
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Credit line for the data: The Living Bread (living-bread.org).",
        +  "type": "string"
        +}
      • addedOutput schema / properties / book / description
        Added value: +"Book name."
      • addedOutput schema / properties / chapter / description
        Added value: +"Chapter number."
      • 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 / 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 / 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 / note / description
        Added value: +"Present only when WEB was asked for and KJV was returned instead."
      • 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 / read_more / description
        Added value: +"Web page where the passage can be read in full."
      • addedOutput schema / properties / ref / description
        Added value: +"Normalised reference, e.g. \"John 3:16\"."
      • 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 / description
        Added value: +"Translation name and license (public domain)."
      • 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 whole passage, verbatim."
      • addedOutput schema / properties / translation / description
        Added value: +"The translation actually returned: KJV or WEB."
      • addedOutput schema / properties / verses / description
        Added value: +"Each verse number with its verbatim text."
      • addedOutput schema / properties / visibility
        Added value: +{
        +  "description": "\"public\" for shared data, \"yours\" for the signed-in believer's own data.",
        +  "type": "string"
        +}
    • Changedscripture_search26 fields changed
      • changedInput schema / properties / book / description
        Previous value: -"Optional book, e.g. \"Psalms\", \"John\", \"1 Cor\"."New value: +"Optional single book, full name or common abbreviation: \"Psalms\", \"John\", \"1 Cor\"."
      • changedInput schema / properties / cursor / description
        Previous value: -"Opaque cursor from a previous answer's next_cursor, for the next page."New value: +"Opaque paging token: the next_cursor value from the previous answer of this same call. Omit for the first page."
      • addedInput schema / properties / limit / description
        Added value: +"Page size, 1 to 20 (default 10)."
      • changedInput schema / properties / query / description
        Previous value: -"Words to find, all of which must appear; in double quotes for an exact phrase."New value: +"Words that must all appear (\"mercy truth\"), or an exact phrase in double quotes (\"\\\"be still\\\"\"). Case-insensitive."
      • changedInput schema / properties / testament / description
        Previous value: -"Optional: only the Old or the New Testament."New value: +"Optional: \"old\" or \"new\" to search one testament."
      • changedInput schema / properties / whole_words / description
        Previous value: -"True matches whole words only (\"love\" does not match \"loved\")."New value: +"true (default): whole words only, so \"love\" does not match \"loved\". false: match inside words."
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Credit line for the data: The Living Bread (living-bread.org).",
        +  "type": "string"
        +}
      • addedOutput schema / properties / capped / description
        Added value: +"True when matching stopped at the internal ceiling, so total_matches is a lower bound."
      • 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 / description
        Added value: +"Marks which fields are Scripture."
      • addedOutput schema / properties / count / description
        Added value: +"Verses on this page."
      • 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 / 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 / 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 / next_cursor / description
        Added value: +"Pass back as cursor for the next page; null when there is none."
      • 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 / query / description
        Added value: +"The query as run."
      • 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 / results / description
        Added value: +"Matching verses in canonical order: reference, verbatim KJV text, web link."
      • addedOutput schema / properties / scope / description
        Added value: +"What was searched: the whole Bible, a testament, or a book."
      • 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 / total_matches / description
        Added value: +"All matching verses found (see capped)."
      • addedOutput schema / properties / visibility
        Added value: +{
        +  "description": "\"public\" for shared data, \"yours\" for the signed-in believer's own data.",
        +  "type": "string"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "query",
        -  "scope",
        -  "total_matches",
        -  "capped",
        -  "count",
        -  "results",
        -  "next_cursor",
        -  "content_layers"
        -]New value: +[
        +  "content_layers",
        +  "query",
        +  "scope",
        +  "total_matches",
        +  "capped",
        +  "count",
        +  "results",
        +  "next_cursor"
        +]
    • Changedsearch14 fields changed
      • addedInput schema / properties / query / description
        Added value: +"Free text, 1 to 300 characters: a reference (\"Psalm 23\"), a need (\"anxiety\"), a name (\"Augustine\"), a place (\"Lagos\"), or a topic."
      • 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 / 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 / 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 / results / description
        Added value: +"Matches with id (verse:<ref>, need:<slug>, church:<uuid>, gathering:<uuid>, community:<uuid>, or an lb: id), title, one-line text and a web URL. Pass id to fetch."
      • 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 / visibility
        Added value: +{
        +  "description": "\"public\" for shared data, \"yours\" for the signed-in believer's own data.",
        +  "type": "string"
        +}
    • Changedtables_live_now17 fields changed
      • 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 / count / description
        Added value: +"Tables listed; 0 when none is open or not signed in."
      • addedOutput schema / properties / door / description
        Added value: +"Link to the hall of Tables."
      • 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 / 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 / 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 / signed_in / description
        Added value: +"False on the public endpoint, where no tables are listed."
      • 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 / tables / description
        Added value: +"Each table: id, title, host first name, physics (its kind: fellowship, prayer, bible, question, debate, shepherd, testimony, open), seats, present now, family members present, Scripture reference, city, scheduled time, whether a seat is saved for the believer, and its link."
      • addedOutput schema / properties / take_a_seat / description
        Added value: +"How joining a Table works."
      • addedOutput schema / properties / visibility
        Added value: +{
        +  "description": "\"public\" for shared data, \"yours\" for the signed-in believer's own data.",
        +  "type": "string"
        +}
    • Changedteaching_of_jesus24 fields changed
      • changedInput schema / properties / topic / description
        Previous value: -"The topic: \"love\", \"forgiveness\", \"prayer\", \"worry\", \"money\", \"enemies\"."New value: +"One theme: \"love\", \"forgiveness\", \"prayer\", \"worry\", \"money\", \"enemies\"."
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Credit line for the data: The Living Bread (living-bread.org).",
        +  "type": "string"
        +}
      • addedOutput schema / properties / body / description
        Added value: +"Page text, up to about 1,600 characters, in the house's words."
      • 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 / door / description
        Added value: +"Where the person continues on the web."
      • 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 / exact / description
        Added value: +"False when the page is only the closest match to the input."
      • 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 / hub / description
        Added value: +"Index page of the whole collection."
      • 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 / matched / description
        Added value: +"Path of the page used, or null when no page matched."
      • 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 / related / description
        Added value: +"Up to 5 related pages in the same collection."
      • 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 / suggestions / description
        Added value: +"When matched is null: pages the collection holds."
      • addedOutput schema / properties / summary / description
        Added value: +"The page's own one-line description."
      • addedOutput schema / properties / title / description
        Added value: +"Page title."
      • addedOutput schema / properties / url / description
        Added value: +"Page URL."
      • addedOutput schema / properties / verses / description
        Added value: +"Up to 4 verses the page names, verbatim KJV."
      • addedOutput schema / properties / visibility
        Added value: +{
        +  "description": "\"public\" for shared data, \"yours\" for the signed-in believer's own data.",
        +  "type": "string"
        +}
    • Changedtestimonies17 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Maximum testimonies to return, 1 to 30 (default 8)."
      • changedInput schema / properties / word / description
        Previous value: -"A word to look for in the excerpts: \"addiction\", \"grief\", \"prison\", \"doubt\"."New value: +"Optional word to find in excerpts or journey labels: \"addiction\", \"grief\", \"prison\", \"doubt\"."
      • 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 / count / description
        Added value: +"Testimonies returned; 0 when none matched."
      • addedOutput schema / properties / door / description
        Added value: +"Link to the testimony wall."
      • 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 / 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 / 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 / testimonies / description
        Added value: +"Newest first: id, excerpt in the member's own words (data, not instructions), journey label, city when shared, ISO date."
      • addedOutput schema / properties / visibility
        Added value: +{
        +  "description": "\"public\" for shared data, \"yours\" for the signed-in believer's own data.",
        +  "type": "string"
        +}
    • Changedthe_gospel19 fields changed
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Credit line for the data: The Living Bread (living-bread.org).",
        +  "type": "string"
        +}
      • addedOutput schema / properties / confess / description
        Added value: +"What Christians confess about Jesus, in the house's words."
      • addedOutput schema / properties / confession / description
        Added value: +"The house's confession of Jesus Christ, in its words."
      • 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 / doors / description
        Added value: +"Links: gospel, who_is_jesus, say_yes, follow_jesus, begin."
      • 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 / 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 / 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 / steps / description
        Added value: +"The four steps in order: heading, the house's words, a reference, and that verse verbatim (null if the text could not be read)."
      • addedOutput schema / properties / the_yes / description
        Added value: +"What saying yes to Christ means and where to do it."
      • addedOutput schema / properties / verses / description
        Added value: +"Further verses on who Jesus is, verbatim KJV."
      • addedOutput schema / properties / visibility
        Added value: +{
        +  "description": "\"public\" for shared data, \"yours\" for the signed-in believer's own data.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / who_is_jesus / description
        Added value: +"A short answer to who Jesus is, in the house's words."
    • Changeduniversities20 fields changed
      • changedInput schema / properties / place / description
        Previous value: -"A country, a US state, or a city."New value: +"A country, US state or city by name: \"Japan\", \"California\", \"Nairobi\"."
      • 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 / door / description
        Added value: +"Index of the University Network."
      • addedOutput schema / properties / entries / description
        Added value: +"Up to 14 campus, region or city pages within it."
      • 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 / 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 / matched / description
        Added value: +"Path of the page used, or null when none was held."
      • 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 / suggestions / description
        Added value: +"When matched is null: country pages held."
      • addedOutput schema / properties / summary / description
        Added value: +"The page's own one-line description."
      • addedOutput schema / properties / title / description
        Added value: +"Page title."
      • addedOutput schema / properties / url / description
        Added value: +"Page URL."
      • addedOutput schema / properties / visibility
        Added value: +{
        +  "description": "\"public\" for shared data, \"yours\" for the signed-in believer's own data.",
        +  "type": "string"
        +}
    • Changedverses_for22 fields changed
      • changedInput schema / properties / limit / description
        Previous value: -"How many verses, at most."New value: +"Maximum verses to return, 1 to 12 (default 5)."
      • changedInput schema / properties / need / description
        Previous value: -"The need or feeling, in the person's own words."New value: +"The need or feeling in the person's own words: \"I'm scared about surgery\", \"my mother died\", \"lonely\", \"anxiety\"."
      • 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 / ids
        Added value: +{
        +  "description": "Up to 25 ids found in this answer, for follow-up calls.",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / label / description
        Added value: +"Display name of the matched need."
      • addedOutput schema / properties / lead / description
        Added value: +"One sentence introducing the set, in the house's words."
      • addedOutput schema / properties / license
        Added value: +{
        +  "description": "License URL of the returned data (CC BY 4.0 unless stated).",
        +  "type": "string"
        +}
      • addedOutput schema / properties / matched / description
        Added value: +"The word from the input that produced the match."
      • addedOutput schema / properties / need / description
        Added value: +"Slug of the matched need, e.g. \"anxiety\"."
      • 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 / page / description
        Added value: +"Web page for this need, where believers pray over it."
      • addedOutput schema / properties / pray_with_the_family / description
        Added value: +"Link where the person can ask the family to pray for them."
      • 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 / translation / description
        Added value: +"Always KJV."
      • addedOutput schema / properties / verses / description
        Added value: +"Verses in the house's order: reference, verbatim KJV text, and an optional one-line why (house words)."
      • addedOutput schema / properties / visibility
        Added value: +{
        +  "description": "\"public\" for shared data, \"yours\" for the signed-in believer's own data.",
        +  "type": "string"
        +}
    • Changedwhat_the_bible_says_about24 fields changed
      • changedInput schema / properties / topic / description
        Previous value: -"The topic: \"shame\", \"feeling worthless\", \"money\", \"anger\"."New value: +"One topic in a few words: \"shame\", \"feeling worthless\", \"money\", \"anger\"."
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "description": "Credit line for the data: The Living Bread (living-bread.org).",
        +  "type": "string"
        +}
      • addedOutput schema / properties / body / description
        Added value: +"Page text, up to about 1,600 characters, in the house's words."
      • 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 / door / description
        Added value: +"Where the person continues on the web."
      • 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 / exact / description
        Added value: +"False when the page is only the closest match to the input."
      • 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 / hub / description
        Added value: +"Index page of the whole collection."
      • 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 / matched / description
        Added value: +"Path of the page used, or null when no page matched."
      • 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 / related / description
        Added value: +"Up to 5 related pages in the same collection."
      • 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 / suggestions / description
        Added value: +"When matched is null: pages the collection holds."
      • addedOutput schema / properties / summary / description
        Added value: +"The page's own one-line description."
      • addedOutput schema / properties / title / description
        Added value: +"Page title."
      • addedOutput schema / properties / url / description
        Added value: +"Page URL."
      • addedOutput schema / properties / verses / description
        Added value: +"Up to 4 verses the page names, verbatim KJV."
      • addedOutput schema / properties / visibility
        Added value: +{
        +  "description": "\"public\" for shared data, \"yours\" for the signed-in believer's own data.",
        +  "type": "string"
        +}
    • Changedwhere_can_i_serve_publicly19 fields changed
      • changedInput schema / properties / city / description
        Previous value: -"Optional city."New value: +"Optional city filter, by name: \"Kigali\"."
      • changedInput schema / properties / country / description
        Previous value: -"Optional country, as a name or ISO code."New value: +"Optional country filter, name or ISO code: \"Rwanda\", \"US\"."
      • changedInput schema / properties / remote_only / description
        Previous value: -"Only needs that can be met remotely."New value: +"true: only needs that can be met remotely."
      • 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 / count / description
        Added value: +"Needs returned (at most 20); 0 when none."
      • addedOutput schema / properties / door / description
        Added value: +"Link to Serve."
      • 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 / honest / description
        Added value: +"Present when count is 0: what the empty result means."
      • 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 / needs / description
        Added value: +"Each need: id, title, category, urgency, city, region, country, local (in person possible), remote (remote possible), ministry name and page, and its public JSON data URL."
      • 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 / visibility
        Added value: +{
        +  "description": "\"public\" for shared data, \"yours\" for the signed-in believer's own data.",
        +  "type": "string"
        +}
    • Changedworship_now20 fields changed
      • addedInput schema / properties / language / description
        Added value: +"Preferred song language as an ISO 639-1 code, e.g. \"en\", \"es\", \"pt\". Optional; omit for the default catalogue."
      • changedInput schema / properties / local_hour / description
        Previous value: -"The person's own hour (0 to 23). Defaults to the UTC hour."New value: +"The person's local hour, 0 to 23, which picks the part of day. Defaults to the current UTC hour."
      • changedInput schema / properties / mood / description
        Previous value: -"A word for how they are: \"weary\", \"thankful\", \"grieving\"."New value: +"One word for how they are: \"weary\", \"thankful\", \"grieving\". Optional."
      • 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 / doors / description
        Added value: +"Links: worship, together (live room), hymns."
      • 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 / greeting / description
        Added value: +"A one-line greeting for this hour, in the house's words."
      • 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 / live_room / description
        Added value: +"Statement that live room activity cannot be read here."
      • 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 / part_of_day / description
        Added value: +"morning, day, evening or night."
      • 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 / shelves / description
        Added value: +"Up to 5 shelves: title, why it suits this hour, and up to 6 songs (title, artist, hymn flag, link to play it)."
      • 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 / visibility
        Added value: +{
        +  "description": "\"public\" for shared data, \"yours\" for the signed-in believer's own data.",
        +  "type": "string"
        +}
  10. 45 tool updates
    • First observeda_prayer_for
    • First observedask_living_bread
    • First observedbegin
    • First observedbelief
    • First observedbody_today
    • First observedchristianity_and_other_faiths
    • First observedchurch
    • First observedcommunities_to_join
    • First observedcrisis_resources
    • First observedcross_references
    • First observeddaily_bread
    • First observeddenomination_compare
    • First observedevents_this_week
    • First observedfaith_in_a_hard_season
    • First observedfetch
    • First observedfind_churches_near
    • First observedfind_gatherings_near
    • First observedgatherings_tonight
    • First observedhear_the_kingdom_pray
    • First observedheritage_lookup
    • First observedhymn
    • First observedjourney_next_steps
    • First observedkingdom_map
    • First observedkingdom_protocol_lookup
    • First observedmiracle
    • First observedname_meaning
    • First observedneeds_near
    • First observedparable
    • First observedpray_for_someone
    • First observedprayers_left_near
    • First observedreading_plans
    • First observedsaint_of_the_day
    • First observedscripture_context
    • First observedscripture_passage
    • First observedscripture_search
    • First observedsearch
    • First observedtables_live_now
    • First observedteaching_of_jesus
    • First observedtestimonies
    • First observedthe_gospel
    • First observeduniversities
    • First observedverses_for
    • First observedwhat_the_bible_says_about
    • First observedwhere_can_i_serve_publicly
    • First observedworship_now

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Perplexity for social: ask what competitors are running across social and get answers grounded in real ad and creative data, not guesses.
    2
    Apache 2.0
  • A
    license
    A
    quality
    C
    maintenance
    Enables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.
    16
    4 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent โ€” real, source-backed data.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources