Bible Swipe
Server Details
A Bible reading a day, line by line, any passage by reference, and search.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- GoodTurnStudio/goodturn-mcp
- GitHub Stars
- 0
- Server Listing
- goodturn-mcp
TDQS
Scored across 6 tools
get_card, get_today, and get_reading all return a reading line-by-line, and get_card vs get_today (both 'today's reading, line by line') differ only by a vague 'for voice' hint, risking misselection. get_passage, list_readings, and search_readings are clearly distinct, so overlap is limited to the reading-retrieval trio.
All six tools follow a clean verb_noun snake_case pattern: get_card, get_passage, get_reading, get_today, list_readings, search_readings. The verbs are used consistently (get for retrieval, list/search for discovery).
Six tools is well-scoped for a read-only scripture app covering today's reading, arbitrary passages, plans, and search. No redundant bloat, though the today-related tools could be consolidated.
Core lifecycle for a read-only Bible reader (list/search readings, get today's, get any passage) is covered. Minor gaps: no full-text Bible search and no per-plan metadata tool, but these are workarounds-friendly for the stated domain.
Available Tools
6 toolsget_cardToday's reading one line at a time, for voiceCRead-onlyIdempotentInspect
Today's reading one line at a time, for voice.. Bible: daily readings, plans, search and passage lookup (World English Bible)
| Name | Required | Description | Default |
|---|---|---|---|
| n | No | Which card, starting at 1. Defaults to 1. | |
| date | No | Optional day as YYYY-MM-DD. Defaults to today (UTC). | |
| reading | No | A reading or plan id from /readings. Defaults to today's reading. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety and idempotency profile is covered by structured data. The description adds the genuinely useful behavioral trait that output is chunked one line at a time for voice playback, but says nothing about termination (when there are no more cards) or how n relates to total length.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The distinctive behavior ('one line at a time, for voice') is front-loaded, which is good, but the sentence carries a doubled period typo and then appends generic server-level Bible boilerplate that does not help invoke this specific tool. Roughly half the text is not earning its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of explaining the return shape for a paginated-by-line tool. It implies iteration via n but never explains how an agent knows it has reached the end, how many lines a reading contains, or what a single 'card' contains — key gaps for correct calling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 n ('which card, starting at 1'), date (YYYY-MM-DD, defaults to today UTC), and reading (a plan/reading id). The description adds no syntax, format, or range detail beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description conveys a specific behavior — today's reading delivered 'one line at a time, for voice' — which is more than the opaque name 'get_card' suggests. However, it never defines what a 'card' is, and it gives no differentiation from close siblings like get_reading or get_today. The appended 'Bible: daily readings, plans, search and passage lookup' is server-level boilerplate, not tool-specific purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no statement of when to prefer this over get_reading, get_today, get_passage, or list_readings, and no prerequisites. The 'for voice' phrasing weakly implies a TTS/chunked-consumption context but never states the condition explicitly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_passageAny verse, range, chapter or cross-chapter range (Genesis 1:1-2:3) of the...CRead-onlyIdempotentInspect
Any verse, range, chapter or cross-chapter range (Genesis 1:1-2:3) of the World English Bible
| Name | Required | Description | Default |
|---|---|---|---|
| ref | Yes | For example: John 3:16 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. Beyond that the description adds nothing: no note on invalid-reference behavior, no indication of translation alternatives, and no scoping context for how broad a passage request can be.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tight fragment with no filler, and the example reference is placed inline where it is immediately useful. It loses a point for being a structural fragment rather than a front-loaded statement of what the tool returns.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so return values need not be described, and the tool is simple (single required string). Still, the description omits how this differs from get_reading and what happens on a malformed reference, leaving real gaps for an agent choosing among six sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single parameter has its own example ('For example: John 3:16'), so the baseline is 3. The description modestly extends this by listing accepted reference forms (range, chapter, cross-chapter) beyond the schema's verse-only example, but does not frame this as parameter guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (a passage of the World English Bible) and its accepted shapes (verse, range, chapter, cross-chapter, with an example). However, it is a verbless noun phrase that essentially restates the title verbatim, so it never says what the tool actually does, and it does nothing to separate it from sibling read tools such as get_reading.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no named alternative. With siblings like get_reading and get_today plausibly returning adjacent content, an agent gets no signal about which tool to pick for a given request.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_readingOne reading or plan, line by lineCRead-onlyIdempotentInspect
One reading or plan, line by line. Bible: daily readings, plans, search and passage lookup (World English Bible)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | A reading or plan id from /readings, or a plan name such as "japji" or "The Gita in 18 Days". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description adds only 'line by line', which weakly hints at the return shape, and nothing about behaviour, limits, or error cases when the id is invalid.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the second sentence is ambiguous boilerplate about 'search and passage lookup' that does not describe this tool and arguably belongs to a server description. The genuinely informative part is buried in a fragment.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one parameter, no output schema, and rich annotations, the description still fails to say what comes back beyond a vague 'line by line', and does not clarify the relationship to get_passage or get_today. For a tool whose whole job is retrieving a specific item by id, that leaves a real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the single 'id' parameter is fully documented in the schema, including that it accepts an id from /readings or a plan name like 'japji'. The description contributes nothing beyond that, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The phrasing 'One reading or plan, line by line' hints at fetching a single reading or plan as text, but it never names a verb like 'fetch' or 'retrieve' and gives no basis to distinguish it from siblings such as get_passage, get_today, or list_readings. The trailing 'Bible: daily readings, plans, search and passage lookup' reads like server-level metadata rather than this tool's purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to choose this tool over get_passage, get_today, or list_readings, despite five closely related siblings. The reader is left to infer that 'id' points at a specific reading or plan, and no prerequisites or exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_todayToday's reading, line by line (same as the app shows today)CRead-onlyIdempotentInspect
Today's reading, line by line (same as the app shows today). Bible: daily readings, plans, search and passage lookup (World English Bible)
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Optional day as YYYY-MM-DD. Defaults to today (UTC). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety and repeat-call behavior are covered. The description's only added behavioral signal is the output shape hint ('line by line', 'same as the app shows today'), which is mild but genuine context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first sentence mostly restates the tool title verbatim, and the second sentence is generic app boilerplate about Bible features and translation that does not help an agent select or invoke this tool. Roughly half the text is unearned.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-required-parameter, no-nesting read tool with annotations covering safety, the definition is minimally sufficient. But with no output schema, the description should explain what 'line by line' actually returns (passages, references, verse text), which it leaves ambiguous.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single optional 'date' parameter is fully documented in the schema (YYYY-MM-DD, defaults to today UTC). The description adds nothing about the parameter, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a resource (today's reading) and adds a scope qualifier ('same as the app shows today', 'line by line'), so an agent can infer it returns today's devotional text. However, it never uses a clear verb like 'retrieve/return' and does not differentiate itself from siblings such as get_reading or list_readings, which plausibly cover overlapping reading-fetching behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all: nothing tells the agent to prefer this over get_reading when no specific date is wanted, nor that the optional date parameter overrides 'today'. The trailing app blurb ('daily readings, plans, search and passage lookup') is marketing copy, not routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_readingsAll curated daily readings and plansCRead-onlyIdempotentInspect
All curated daily readings and plans. Bible: daily readings, plans, search and passage lookup (World English Bible)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety is fully covered elsewhere. The description contributes no additional behavioral context — nothing about result volume, pagination, ordering, or freshness of the curated readings, which is the main unknown for a no-argument listing tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences are structurally fine and the purpose leads, but the second sentence ('Bible: daily readings, plans, search and passage lookup (World English Bible)') is domain marketing that does not help an agent call the tool and arguably belongs to the server, not this definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless list tool with rich annotations and no output schema, the definition is minimally viable but leaves the key unknown unanswered: whether this returns the full curated set or a bounded/summarized view, and in what order. An agent can call it without error, but not predict its payload.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is empty, so there is nothing for the description to explain. Baseline 4 applies; no parameter detail is missing or misleading.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence repeats the title verbatim ('All curated daily readings and plans'), which is tautology rather than an independent statement of what the tool does. There is no explicit verb such as 'list/enumerate', and nothing separates it from sibling search_readings or get_reading — the second sentence describes the Bible content domain, not this tool's function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance is given. It never says whether to call this to enumerate everything versus narrowing with search_readings or fetching a single item with get_reading/get_today. The mention of 'search and passage lookup' describes the broader product, not an alternative-tool decision.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_readingsSearch the curated readings, best match firstBRead-onlyIdempotentInspect
Search the curated readings, best match first. Bible: daily readings, plans, search and passage lookup (World English Bible)
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Words to search for, for example forgiveness or shepherd. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so safety and idempotency are covered. The description's one genuine addition is that results are ranked by best match. It says nothing about result count, pagination, or empty-result behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The operative clause is front-loaded and short. The parenthetical Bible/domain tag is secondary filler that doesn't help invocation, but it costs little and the overall message stays tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter search tool with a fully described schema, complete annotations, and no output schema, the description supplies enough to call it correctly. The main residual gap is return-shape detail (number of hits, ranking basis), which is less critical since no output schema exists but would still help.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single 'q' parameter is fully documented in the schema with examples ('forgiveness or shepherd'). The description adds no query syntax, operator, or matching-scope detail beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Search the curated readings') plus a result-ordering trait ('best match first'), which distinguishes it from identifier-based siblings like get_reading and get_today. The trailing 'Bible: daily readings, plans, search and passage lookup' is domain framing rather than tool purpose, so it doesn't reach a clean 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance or routing to alternatives. The agent must infer that keyword search is preferred over get_reading/get_passage when it lacks a known identifier. No exclusions, prerequisites, or sibling references are provided.
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.
6 tool updates
- First observed
get_card - First observed
get_passage - First observed
get_reading - First observed
get_today - First observed
list_readings - First observed
search_readings
Related MCP Connectors
Bible translations, books, chapters, verses, and search
Read-only Bible for AI: search & read scripture in Thai & English, plus a daily verse.
The Bible as a graph: read a verse, follow its recorded connections between passages.
Read Hebrew Bible (Tanakh) verses & chapters in 10 languages, plus guided study plans.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables local reading, searching, and scholarly study of the Bible through MCP tools, including passage lookup, literal search, topical research, word study, related-passage discovery, passage comparison, and corpus overviews.34 npmMIT
- AlicenseNot gradedqualityDmaintenanceProvides guided prayers, semantic search, and pastoral care tools (encouragement, condolence, advice) via a read-only database without authentication.MIT
- AlicenseNot gradedqualityAmaintenanceProvides a fully offline German Bible study environment with four freely licensed translations, word-for-word original-text morphology across four editions, concordance, cross-references, full-text search, and text-critical edition comparison via one SQLite database.2MIT
- AlicenseAqualityBmaintenanceAccess to the new Open English Translation of the Bible with both a Readers' Version and a Literal Version107Creative Commons Zero v1.0 Universal
Glama MCP Gateway
Add one secure layer between your agents and this server.