Skip to main content
Glama
OpenTorah-ai

Sefaria Jewish Library MCP Server

by OpenTorah-ai

Sefaria Jewish Library MCP Server

An MCP (Model Context Protocol) server that provides access to Jewish texts from the Sefaria library. This server enables Large Language Models to retrieve and reference Jewish texts through a standardized interface.

Features

  • Retrieve Jewish texts by reference

  • Retrieve commentaries on a given text

Related MCP server: Sefaria Jewish Library MCP Server

Installation

Requires Python 3.10 or higher.

Installing via Smithery

To install Sefaria Jewish Library for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install mcp-sefaria-server --client claude

Clone the repository

git clone https://github.com/sivan22/mcp-sefaria-server.git
cd mcp-sefaria-server

Running the Server

The server can be run directly:

uv --directory path/to/directory run sefaria_jewish_library

Or through an MCP client that supports the Model Context Protocol. for claude desktop app and cline you should use the following config:

{
  "mcpServers": {        
      "sefaria_jewish_library": {
          "command": "uv",
          "args": [
              "--directory",
              "C:/dev/mcp-sefaria-server",
              "run",
              "sefaria_jewish_library"
          ],
          "env": {
            "PYTHONIOENCODING": "utf-8" 
          }
      }
  }
}

Available tools

The server provides the following tools through the MCP interface:

get_text

Retrieves a specific Jewish text by its reference.

Example:

reference: "Genesis 1:1"
reference: "שמות פרק ב פסוק ג"
reference: "משנה ברכות פרק א משנה א"

get_commentaries

Retrieves a list of commentaries for a given text.

Example:

reference: "Genesis 1:1"
reference: "שמות פרק ב פסוק ג"
reference: "משנה ברכות פרק א משנה א"

Development

This project uses:

Requirements

  • Python >= 3.10

  • MCP SDK >= 1.1.1

  • Sefaria API

License

MIT License

Available Tools

2 tools
get_commentariesC

get a list of references of commentaries for a jewish text

ParametersJSON Schema
NameRequiredDescriptionDefault
referenceYesthe reference of the jewish text, e.g. 'שולחן ערוך אורח חיים סימן א' or 'Genesis 1:1'

TDQS

C2.9/5.0
Behavior2/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 mentions retrieving a list but doesn't specify if this is a read-only operation, how results are formatted, if there are rate limits, or any other behavioral traits. This leaves significant gaps for a tool with no annotation coverage.

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 a single, efficient sentence that directly states the tool's function without any unnecessary words. It is appropriately sized and front-loaded, making it easy to understand quickly.

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

Completeness2/5

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

Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what the returned list contains (e.g., format, structure), any limitations, or how it differs from the sibling tool. For a tool with no structured support, more context is needed to be fully helpful.

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 description coverage is 100%, so the schema already documents the single parameter 'reference' with examples. The description adds no additional meaning beyond what the schema provides, such as clarifying the scope or format of commentaries, so it meets the baseline for high schema coverage.

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 action ('get a list of references') and resource ('commentaries for a jewish text'), making the purpose understandable. However, it doesn't explicitly differentiate from the sibling tool 'get_text', which might also retrieve text-related information, so it doesn't reach the highest score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'get_text', nor does it mention any prerequisites or exclusions. It only states what the tool does, leaving usage context implied at best.

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

get_textC

get a jewish text from the jewish library

ParametersJSON Schema
NameRequiredDescriptionDefault
referenceYesThe reference of the jewish text, e.g. 'שולחן ערוך אורח חיים סימן א' or 'Genesis 1:1'

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It states the tool 'gets' a text, implying a read operation, but doesn't disclose behavioral traits like authentication needs, rate limits, error handling, or what 'get' entails (e.g., returns full text, metadata, or formatting). The description is minimal and lacks context beyond the basic action.

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 a single, efficient sentence: 'get a jewish text from the jewish library'. It's appropriately sized and front-loaded with the core action. There's no wasted verbiage, though it could be more structured with additional context.

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

Completeness2/5

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

Given no annotations, no output schema, and a simple input schema, the description is incomplete. It lacks details on what the tool returns (e.g., text content, format), error conditions, or behavioral context. For a tool with minimal structured data, the description should provide more completeness to guide effective use.

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 description coverage is 100%, with the parameter 'reference' fully documented in the schema. The description doesn't add any parameter semantics beyond what the schema provides (e.g., no examples or usage tips). Baseline is 3 since the schema does the heavy lifting, but the description doesn't compensate or enhance parameter understanding.

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's purpose: 'get a jewish text from the jewish library' specifies the verb 'get' and resource 'jewish text' with source context. It doesn't explicitly differentiate from the sibling 'get_commentaries', but the resource type distinction is implied. The description avoids tautology by not just restating the tool name.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description doesn't mention the sibling tool 'get_commentaries' or any other context for selection. Usage is implied only by the tool's name and purpose, with no explicit when/when-not instructions or prerequisites stated.

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. Dates show when Glama detected each change.

  1. 2 tool updates
    • First observedget_commentaries
    • First observedget_text

TDQS

B3.1/5.0
Disambiguation5/5

The two tools have clearly distinct purposes: get_commentaries retrieves commentary references for a text, while get_text retrieves the text itself. There is no overlap or ambiguity between these operations, making it easy for an agent to select the correct tool based on the need.

Naming Consistency5/5

Both tools follow a consistent verb_noun naming pattern (get_commentaries and get_text), using the same verb 'get' and descriptive nouns. This uniformity makes the tool set predictable and easy to understand at a glance.

Tool Count2/5

With only 2 tools, the server feels under-scoped for a library domain that typically involves more operations like search, update, or categorization. While the tools cover basic retrieval, the count is too low to support comprehensive interactions with a Jewish library, limiting agent capabilities.

Completeness2/5

The tool set is severely incomplete for a library server, lacking essential operations such as search, filtering, creation, or management of texts and commentaries. Agents will face dead ends when trying to perform common library tasks beyond simple retrieval, leading to potential failures.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that provides powerful search capabilities for Jewish texts and literature. This server enables Large Language Models to search and reference Jewish texts through a standardized interface.
    23
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Provides access to Jewish texts from the Sefaria library. This server enables Large Language Models to retrieve and reference Jewish texts through a standardized interface.
    4
    34
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables LLMs to access and search Jewish texts from the Sefaria library through 15 MCP tools, including text retrieval, search, and manuscript access.
    23
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to access and query the Sefaria digital library of Jewish texts through natural language or direct tool calls.
    14
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/OpenTorah-ai/mcp-sefaria-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server