Skip to main content
Glama

Server Details

Read Hebrew Bible (Tanakh) verses & chapters in 10 languages, plus guided study plans.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
99.9% over 40 days
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
Repository
moshecohen90/hebrew-bible-mcp
GitHub Stars
0

TDQS

A4.2/5.0

Scored across 6 tools

Disambiguation5/5

Each tool targets a distinct resource and action: listing books vs subjects, fetching a chapter vs a verse, browsing subject-related content vs retrieving a specific plan. The descriptions make the boundaries clear, so an agent should not confuse them.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case: list_books, list_subjects, get_chapter, get_verse, get_plan, browse_subject. There are no deviations or mixed conventions.

Tool Count5/5

Six tools is well-scoped for a Bible text and study plan server. Each tool has a clear role without redundancy, and the count feels neither too thin nor bloated.

Completeness4/5

The surface covers book discovery, text retrieval at chapter and verse levels, subject discovery, plan browsing, and plan details. The only notable gap is that browse_subject lists articles but no tool retrieves the full article content, so users can discover but not read articles.

Available Tools

6 tools
browse_subjectBrowse a subjectAInspect

List study plans and articles for a subject or topic. Pass a subject code from list_subjects (for example "parsha", "holidays", "tehillim", "stories"), or any topic tag (for example "jonah", "purim", "psalm 23"). Results are paginated; pass the returned cursor to get more.

ParametersJSON Schema
NameRequiredDescriptionDefault
cursorNoPagination cursor returned by a previous browse_subject call.
subjectYesSubject code from list_subjects, or any topic tag.
languageNoISO language code (default "en").

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It explicitly mentions pagination and the need to pass the returned cursor, which is a useful behavioral trait. However, it does not state that the operation is read-only, nor does it cover error handling or permissions. For a listing operation, this is moderate transparency but not thorough.

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

Conciseness5/5

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

The description is two sentences with no filler. It front-loads the purpose, then provides input examples and pagination instructions. Every sentence earns its place, and the structure is efficient.

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 a simple listing tool with three parameters and no output schema, the description covers the core purpose, input format, and pagination. It does not explicitly describe the response structure beyond 'list study plans and articles' and the cursor, but that is sufficient for an agent to call it correctly. The absence of an output schema is partially compensated by the implied return content.

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 parameter. The description adds value by giving concrete examples for the subject parameter (e.g., 'parsha', 'jonah'), clarifying that both codes and topic tags are valid, and by explaining the cursor's role. This goes beyond the schema's bare descriptions, aiding correct invocation.

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 clear verb and resource: 'List study plans and articles for a subject or topic.' It provides concrete examples of subject codes and topic tags, and the resource is distinct from sibling tools like list_books and list_subjects. The purpose is unambiguous and easily distinguished.

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

Usage Guidelines4/5

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

It instructs the agent to pass a subject code from list_subjects, implying a prerequisite, and offers alternative topic tags. Pagination is explained with the cursor. However, it does not explicitly contrast with siblings like get_chapter or get_plan, leaving some inference needed for when to choose this tool over them.

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

get_chapterGet a Bible chapterAInspect

Return the full text of a chapter (every verse) from the Hebrew Bible / Tanach. Use list_books first to get valid English book names; see the language enum for available languages.

ParametersJSON Schema
NameRequiredDescriptionDefault
bookYesEnglish book name, e.g. "Genesis", "Psalms", "Isaiah".
chapterYesChapter number (1-based).
languageNoISO language code (default "en"). Use "he" for Hebrew.

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations provided, the description must carry the full burden of behavioral disclosure. It states the core behavior (return full chapter text) but does not describe output format, error handling for invalid book names or out-of-range chapters, or any rate limits or permissions. The mention of list_books implies input validation but leaves other behaviors unspecified.

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

Conciseness5/5

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

The description is two sentences, front-loaded with the primary purpose, and the second sentence packs practical usage advice. Every word earns its place; there is no filler or repetition.

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 a simple retrieval tool with three parameters and no output schema, the description covers the essential purpose and prerequisites. It does not detail the output structure (e.g., verse numbering) or error conditions, but these are minor gaps given the tool's simplicity and the guidance provided for valid inputs.

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 adds meaningful guidance by advising to use list_books for valid book names and to consult the language enum, which goes beyond the schema's simple field descriptions. This helps the agent use parameters correctly without adding redundancy.

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 clearly states the action (return), the resource (chapter), and the scope (full text, every verse). It explicitly distinguishes from the sibling get_verse by emphasizing 'every verse,' so an agent can immediately understand this tool retrieves entire chapters, not individual verses.

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

Usage Guidelines4/5

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

The description gives a concrete prerequisite ('Use list_books first to get valid English book names') and directs attention to the language enum. While it doesn't explicitly name alternatives like get_verse, the scope ('every verse') implicitly signals when to use this tool vs. a verse-level tool. No when-not-to-use guidance is given, but the context is sufficient for most agents.

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

get_planGet a study planAInspect

Get the full detail of one study plan: its title, description, total length, and the day-by-day study schedule (first 7 days shown). Pass a plan id from a browse_subject link (the final path segment, e.g. "jonah_and_the_whale").

ParametersJSON Schema
NameRequiredDescriptionDefault
planYesPlan id, e.g. "daily_chapter" or "parashat-korach-weekly-torah-portion-study-11a6e434" (the final segment of a plan link).
languageNoISO language code (default "en").

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses a key behavioral limitation: only the first 7 days of the schedule are returned. It also clarifies the id format and the operation is read-only. It doesn't cover error behavior or permissions, but for a simple retrieval tool this is adequate.

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

Conciseness5/5

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

Two sentences: the first states the purpose and return fields, the second gives the id source and an example. Both sentences are dense and front-loaded, with no filler or repetition.

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 a simple get operation with 2 parameters (1 optional) and no output schema, the description covers the essential return content and the key limitation (7-day preview). It doesn't explain language behavior or error handling, but those are either in the schema or not critical for a first call. Overall, it's sufficient for an agent to invoke correctly.

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 the schema already describes both parameters with examples. The description adds the source of the plan id (from browse_subject links) but this is largely redundant with the schema's 'final segment of a plan link'. No additional meaning is provided for the language parameter, so the description adds minimal value beyond the schema.

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 clearly states the tool retrieves full detail of a single study plan, listing the specific fields returned (title, description, total length, day-by-day schedule). It also includes an example id format, which distinguishes it from sibling tools that browse subjects or fetch chapters/verses.

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

Usage Guidelines4/5

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

The description explicitly instructs the agent to pass a plan id from a browse_subject link, providing a clear source for the required parameter. While it doesn't name sibling tools directly, the source linkage and the 'one plan' scope make it obvious when to use this tool versus browse_subject or get_chapter.

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

get_verseGet a single Bible verseAInspect

Return the text of one specific verse from the Hebrew Bible / Tanach, e.g. Genesis 1:1. Use list_books for valid English book names.

ParametersJSON Schema
NameRequiredDescriptionDefault
bookYesEnglish book name, e.g. "Genesis".
verseYesVerse number (1-based).
chapterYesChapter number (1-based).
languageNoISO language code (default "en"). Use "he" for Hebrew.

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description bears the full burden of disclosing behavior. It states that the tool returns text from the Hebrew Bible and implies a read-only lookup, but it does not explain error handling, language defaults, or what exactly is returned beyond 'text'. These gaps are meaningful for a straightforward retrieval tool.

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

Conciseness5/5

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

The description is two concise sentences with no wasted words. The first sentence front-loads the core purpose and example, and the second sentence adds a practical usage tip. Both sentences contribute directly to correct tool use.

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 a simple single-verse lookup, the description covers the core purpose, source text, and a validation hint. It could mention the language behavior or explicitly address a full-chapter alternative, but the schema plus this brief description give an agent enough to call the tool successfully in most cases.

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?

The schema already documents all four parameters with 100% coverage, including enums for book and language. The description adds a useful example and a note to consult list_books for book names, but it does not provide additional parameter semantics beyond what the schema already offers.

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 description clearly states the tool returns the text of one specific verse, with a concrete example (Genesis 1:1). It identifies the resource as the Hebrew Bible / Tanach, but it does not explicitly contrast itself with the sibling get_chapter tool, relying instead on the word 'verse' to imply the distinction.

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

Usage Guidelines4/5

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

The description gives clear context for when to use this tool: when a single verse is needed. It also provides a helpful prerequisite by directing the agent to use list_books for valid English book names. However, it does not state when not to use it or mention alternatives such as get_chapter for whole chapters.

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

list_booksList the booksAInspect

List every book available in this corpus with its English name, localized name, and the link to its first chapter. Call this to discover valid book names for get_chapter / get_verse.

ParametersJSON Schema
NameRequiredDescriptionDefault
languageNoISO language code for the localized names (default "en").

TDQS

A4.3/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It goes beyond the title by stating the full scope ('every book'), the three returned data elements, and the tool's role as a name-discovery mechanism. It does not mention side effects, but as a listing operation the read-only behavior is reasonably inferable.

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

Conciseness5/5

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

The description is two sentences with no wasted words. The core behavior is front-loaded, and the usage hint is placed in the second sentence exactly where it adds value.

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 simple tool with one optional parameter and no output schema, the description is fully sufficient: it states the complete behavior, the key output fields, and how to use the result. Nothing an agent needs to call it correctly is missing.

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?

The schema fully documents the single 'language' parameter with an enum and a clear description, including the default value. The tool description adds no new parameter semantics beyond what the schema already states, so the baseline score applies.

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 uses a specific verb-resource pair ('List every book available in this corpus') and specifies the exact output fields: English name, localized name, and link to first chapter. It also explicitly frames the tool as the discovery step for get_chapter/get_verse, which sets it apart from the sibling tools.

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

Usage Guidelines4/5

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

The description clearly tells the agent when to call this tool: to discover valid book names before using get_chapter or get_verse. It does not explicitly contrast with sibling tools like list_subjects or browse_subject, but the stated purpose gives sufficient usage direction.

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

list_subjectsList browseable subjectsAInspect

List the subjects (categories) you can browse, such as the Weekly Torah Portion, Holidays, Daily Study, Psalms (Tehillim), Bible Stories, and Characters. Each returns a code to pass to browse_subject. Call this to discover what is available before browsing.

ParametersJSON Schema
NameRequiredDescriptionDefault
languageNoISO language code (default "en"). Subject browsing is curated per language.

TDQS

A4.2/5.0
Behavior4/5

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

No annotations are provided, so the description carries the behavioral burden. It discloses that each subject 'returns a code to pass to browse_subject,' names example subject categories, and the verb 'List' implies a read-only operation. It does not mention pagination or output shape details, but the behavior is adequately transparent for a simple list tool.

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

Conciseness5/5

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

Two sentences with no waste. The examples are front-loaded, the relationship to browse_subject is explicit, and the instruction on when to call it ends the description. Every sentence earns its place.

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 a one-optional-parameter listing tool with no output schema, the description provides enough to call it correctly: what it lists, examples, and what each result yields. It does not specify the exact return structure, but agents can infer a list of subject names with associated codes.

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%: the language parameter has a full enum, a default, and a note about per-language curation. The description adds no parameter-specific meaning beyond that, so the baseline 3 is appropriate.

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?

Clearly states the verb and resource: 'List the subjects (categories) you can browse.' Concrete examples distinguish it from list_books, and it names browse_subject as the intended downstream consumer, so an agent can tell what this tool is for without opening the schema.

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

Usage Guidelines4/5

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

Explicitly instructs 'Call this to discover what is available before browsing,' and explains that results produce codes for browse_subject. It does not discuss when to prefer siblings like list_books or get_chapter, but for a discovery tool the usage context is clear.

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. 6 tool updates
    • Changedbrowse_subject1 field changed
      • changedInput schema / properties / language / enum
        Previous value: -[
        -  "en",
        -  "he",
        -  "fr",
        -  "ru",
        -  "de",
        -  "it",
        -  "pl",
        -  "ko",
        -  "es",
        -  "pt"
        -]New value: +[
        +  "en",
        +  "he",
        +  "fr",
        +  "ru",
        +  "de",
        +  "it",
        +  "pl",
        +  "ko",
        +  "es",
        +  "pt",
        +  "yi"
        +]
    • Changedget_chapter1 field changed
      • changedInput schema / properties / language / enum
        Previous value: -[
        -  "en",
        -  "he",
        -  "fr",
        -  "ru",
        -  "de",
        -  "it",
        -  "pl",
        -  "ko",
        -  "es",
        -  "pt"
        -]New value: +[
        +  "en",
        +  "he",
        +  "fr",
        +  "ru",
        +  "de",
        +  "it",
        +  "pl",
        +  "ko",
        +  "es",
        +  "pt",
        +  "yi"
        +]
    • Changedget_plan1 field changed
      • changedInput schema / properties / language / enum
        Previous value: -[
        -  "en",
        -  "he",
        -  "fr",
        -  "ru",
        -  "de",
        -  "it",
        -  "pl",
        -  "ko",
        -  "es",
        -  "pt"
        -]New value: +[
        +  "en",
        +  "he",
        +  "fr",
        +  "ru",
        +  "de",
        +  "it",
        +  "pl",
        +  "ko",
        +  "es",
        +  "pt",
        +  "yi"
        +]
    • Changedget_verse1 field changed
      • changedInput schema / properties / language / enum
        Previous value: -[
        -  "en",
        -  "he",
        -  "fr",
        -  "ru",
        -  "de",
        -  "it",
        -  "pl",
        -  "ko",
        -  "es",
        -  "pt"
        -]New value: +[
        +  "en",
        +  "he",
        +  "fr",
        +  "ru",
        +  "de",
        +  "it",
        +  "pl",
        +  "ko",
        +  "es",
        +  "pt",
        +  "yi"
        +]
    • Changedlist_books1 field changed
      • changedInput schema / properties / language / enum
        Previous value: -[
        -  "en",
        -  "he",
        -  "fr",
        -  "ru",
        -  "de",
        -  "it",
        -  "pl",
        -  "ko",
        -  "es",
        -  "pt"
        -]New value: +[
        +  "en",
        +  "he",
        +  "fr",
        +  "ru",
        +  "de",
        +  "it",
        +  "pl",
        +  "ko",
        +  "es",
        +  "pt",
        +  "yi"
        +]
    • Changedlist_subjects1 field changed
      • changedInput schema / properties / language / enum
        Previous value: -[
        -  "en",
        -  "he",
        -  "fr",
        -  "ru",
        -  "de",
        -  "it",
        -  "pl",
        -  "ko",
        -  "es",
        -  "pt"
        -]New value: +[
        +  "en",
        +  "he",
        +  "fr",
        +  "ru",
        +  "de",
        +  "it",
        +  "pl",
        +  "ko",
        +  "es",
        +  "pt",
        +  "yi"
        +]
  2. 6 tool updates
    • First observedbrowse_subject
    • First observedget_chapter
    • First observedget_plan
    • First observedget_verse
    • First observedlist_books
    • First observedlist_subjects

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.