Skip to main content
Glama

Find upcoming gatherings: tonight, this week, or any window

find_gatherings
Read-onlyIdempotent

Real gatherings of Christians near a place: any, tonight, this week. Real rows only, with freshness. Example: {mode:"tonight", city:"Austin"}. Full guide: living-bread://tools/find_gatherings. Access: no sign-in; shared limit of 300 requests a minute per IP.

Input Schema

NameRequiredDescriptionDefault
latNoLatitude, if shared.
lngNoLongitude, if shared.
cityNoCity or region.
daysNoFor any: days ahead, 1 to 60 (default 14).
modeNoThe kind of answer. Leave out for a guide to the modes.
hoursNoFor tonight: hours ahead, 1 to 36 (default 12).
limitNoPage size.
cursorNonext_cursor from the last answer.
detailNolean (default) or full evidence record.
onlineNoFor any: true lists only gatherings joinable online from anywhere.
countryNoFor tonight. Country name or code.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed27 schema fields changed
    • removedInput schema / $schema
      Removed value: -"http://json-schema.org/draft-07/schema#"
    • changedInput schema / properties / city / description
      Previous value: -"A city: matched as text for tonight, geocoded for this_week and any. Required for tonight."New value: +"City or region."
    • changedInput schema / properties / country / description
      Previous value: -"For tonight: country name or ISO code to disambiguate the city."New value: +"For tonight. Country name or code."
    • changedInput schema / properties / cursor / description
      Previous value: -"Opaque paging token: next_cursor from the previous answer of the same call. Omit for the first page."New value: +"next_cursor from the last answer."
    • changedInput schema / properties / detail / description
      Previous value: -"lean (default): the answer, its credit and one door. full: the complete evidence record (per-passage hashes, canon, layers)."New value: +"lean (default) or full evidence record."
    • changedInput schema / properties / lat / description
      Previous value: -"Latitude in decimal degrees, only if the person shared their location; pair with lng. Coordinates win over city."New value: +"Latitude, if shared."
    • changedInput schema / properties / limit / description
      Previous value: -"For this_week and any: maximum gatherings, 1 to 20."New value: +"Page size."
    • changedInput schema / properties / lng / description
      Previous value: -"Longitude in decimal degrees, paired with lat."New value: +"Longitude, if shared."
    • changedInput schema / properties / mode / description
      Previous value: -"Which kind of answer: any, tonight, this_week. Each mode, and the parameters it needs, is explained in the description. Leave it out and the answer says what each mode is for."New value: +"The kind of answer. Leave out for a guide to the modes."
    • removedOutput schema / $schema
      Removed value: -"http://json-schema.org/draft-07/schema#"
    • removedOutput schema / properties / answered_by
      Removed value: -{
      -  "description": "The implementation that answered (the same tool name the signed-in endpoint lists).",
      -  "type": "string"
      -}
    • removedOutput schema / properties / attribution
      Removed value: -{
      -  "description": "Credit: The Living Bread (living-bread.org).",
      -  "type": "string"
      -}
    • removedOutput schema / properties / content_flags
      Removed value: -{
      -  "description": "Set when retrieved text was withheld.",
      -  "items": {
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • removedOutput schema / properties / content_layers
      Removed value: -{
      -  "additionalProperties": {},
      -  "description": "full detail: Scripture versus interpretation versus reflection.",
      -  "properties": {},
      -  "type": "object"
      -}
    • removedOutput schema / properties / evidence
      Removed value: -{
      -  "additionalProperties": {},
      -  "description": "When Scripture was read: translation, license, attribution, corpus version (full detail adds hashes and canon).",
      -  "properties": {},
      -  "type": "object"
      -}
    • removedOutput schema / properties / freshness
      Removed value: -{
      -  "additionalProperties": {},
      -  "description": "kind, retrieved_at, available_now (true only when verified live).",
      -  "properties": {},
      -  "type": "object"
      -}
    • removedOutput schema / properties / ids
      Removed value: -{
      -  "description": "Up to 25 ids in this answer.",
      -  "items": {
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • removedOutput schema / properties / ignored_params
      Removed value: -{
      -  "description": "Parameters given that this mode does not use.",
      -  "items": {
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • removedOutput schema / properties / license
      Removed value: -{
      -  "description": "License URL (CC BY 4.0 unless stated).",
      -  "type": "string"
      -}
    • removedOutput schema / properties / mode
      Removed value: -{
      -  "description": "The mode that answered.",
      -  "type": "string"
      -}
    • removedOutput schema / properties / next_actions
      Removed value: -{
      -  "description": "Links to open next.",
      -  "items": {
      -    "additionalProperties": {},
      -    "properties": {
      -      "label": {
      -        "type": "string"
      -      },
      -      "url": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "label",
      -      "url"
      -    ],
      -    "type": "object"
      -  },
      -  "type": "array"
      -}
    • removedOutput schema / properties / ok
      Removed value: -{
      -  "description": "Always true on success.",
      -  "type": "boolean"
      -}
    • removedOutput schema / properties / result_state
      Removed value: -{
      -  "description": "\"empty\" when nothing matched.",
      -  "enum": [
      -    "useful",
      -    "empty"
      -  ],
      -  "type": "string"
      -}
    • removedOutput schema / properties / scripture_fields
      Removed value: -{
      -  "description": "Which fields are Scripture (all else is the house's own words).",
      -  "items": {
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • removedOutput schema / properties / source_url
      Removed value: -{
      -  "description": "A public page of The Living Bread this answer came from.",
      -  "type": [
      -    "string",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / visibility
      Removed value: -{
      -  "description": "\"public\" or \"yours\".",
      -  "type": "string"
      -}
    • removedOutput schema / required
      Removed value: -[
      -  "mode",
      -  "answered_by"
      -]
  2. Changed14 schema fields changed
    • addedInput schema / properties / detail
      Added value: +{
      +  "description": "lean (default): the answer, its credit and one door. full: the complete evidence record (per-passage hashes, canon, layers).",
      +  "enum": [
      +    "lean",
      +    "full"
      +  ],
      +  "type": "string"
      +}
    • changedOutput schema / properties / attribution / description
      Previous value: -"Credit line for the data: The Living Bread (living-bread.org)."New value: +"Credit: The Living Bread (living-bread.org)."
    • changedOutput schema / properties / content_flags / description
      Previous value: -"[\"instruction_like_text_removed\"] when retrieved text was withheld."New value: +"Set when retrieved text was withheld."
    • changedOutput schema / properties / content_layers / description
      Previous value: -"Which fields are Scripture and which are human interpretation or reflection."New value: +"full detail: Scripture versus interpretation versus reflection."
    • changedOutput schema / properties / evidence / description
      Previous value: -"Present when Scripture was read: translation, canon, corpus version, attribution, and a SHA-256 per passage."New value: +"When Scripture was read: translation, license, attribution, corpus version (full detail adds hashes and canon)."
    • changedOutput schema / properties / freshness / description
      Previous value: -"How current the answer is: kind (scheduled | recently_observed | verified_live | record), retrieved_at, available_now (true only when activity was verified live)."New value: +"kind, retrieved_at, available_now (true only when verified live)."
    • changedOutput schema / properties / ids / description
      Previous value: -"Up to 25 ids found in this answer, for follow-up calls."New value: +"Up to 25 ids in this answer."
    • changedOutput schema / properties / license / description
      Previous value: -"License URL of the returned data (CC BY 4.0 unless stated)."New value: +"License URL (CC BY 4.0 unless stated)."
    • changedOutput schema / properties / next_actions / description
      Previous value: -"Up to 4 links the person can open next."New value: +"Links to open next."
    • changedOutput schema / properties / ok / description
      Previous value: -"Always true on a successful answer (errors come back as isError, never here)."New value: +"Always true on success."
    • changedOutput schema / properties / result_state / description
      Previous value: -"\"empty\" when nothing matched (count 0, no results); the text then says so plainly."New value: +"\"empty\" when nothing matched."
    • addedOutput schema / properties / scripture_fields
      Added value: +{
      +  "description": "Which fields are Scripture (all else is the house's own words).",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • changedOutput schema / properties / source_url / description
      Previous value: -"The first public web page this answer came from or points to."New value: +"A public page of The Living Bread this answer came from."
    • changedOutput schema / properties / visibility / description
      Previous value: -"\"public\" for shared data, \"yours\" for the signed-in believer's own data."New value: +"\"public\" or \"yours\"."
  3. Changed2 schema fields changed
    • changedInput schema / properties / mode / description
      Previous value: -"Which kind of answer: any, tonight, this_week. Each mode, and the parameters it needs, is explained in the description."New value: +"Which kind of answer: any, tonight, this_week. Each mode, and the parameters it needs, is explained in the description. Leave it out and the answer says what each mode is for."
    • removedInput schema / required
      Removed value: -[
      -  "mode"
      -]
  4. Added

TDQS

A3.7/5.0
Behavior4/5

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

Beyond the readOnly/idempotent annotations, the description discloses auth ('no sign-in'), a concrete rate limit ('shared limit of 300 requests a minute per IP'), and a data-quality guarantee ('Real rows only, with freshness') — exactly the operational context annotations cannot carry. Pagination behavior is left to the cursor schema, so it stops short of a 5.

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 the example, then the guide pointer, then access/limits — a sensible order with no filler. The telegraphic phrasing ('Real rows only, with freshness') is slightly clipped but each sentence carries distinct information.

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

Completeness4/5

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

For an 11-parameter open-world search with an output schema and rich annotations, the description supplies access constraints, rate limits, a usage example, and a URI to a deeper guide. Nothing critical is missing, though the absence of any sibling comparison leaves the choice among the several 'find_*' tools implicit.

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

Parameters3/5

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

Schema coverage is 100%, so all 11 parameters are already documented in the input schema and the baseline is 3. The description adds only an illustrative payload and a restatement of the three modes, not clarifying semantics (e.g., interaction between lat/lng and city, or when 'full' detail is warranted).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence names a specific verb-and-resource ('Real gatherings of Christians near a place') and enumerates the supported time windows (any, tonight, this week), so the agent knows exactly what it retrieves. It does not differentiate itself from nearby siblings such as find_churches or find_communities, which keeps it out of the top band.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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

'Example: {mode:"tonight", city:"Austin"}' and the mode list imply which call shape fits which intent, and the schema note 'Leave out for a guide to the modes' hints at a discovery path. However, there is no explicit when-to-use-this-versus-find_churches guidance and no stated exclusions, so an agent must infer the routing.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources