使用说明
项目简介
Sefaria Jewish Library MCP Server 是一个基于 Model Context Protocol (MCP) 的服务器,旨在为大型语言模型 (LLM) 提供访问 Sefaria 犹太教文库的标准化接口。通过此服务器,LLM 可以检索犹太教文本、获取相关注释,并在文库中进行搜索,从而增强 LLM 在犹太文化和宗教文本方面的知识和应用能力。
主要功能点
- 检索文本 (get_text):根据参考文献(如 "创世纪 1:1" 或 "שמות פרק ב פסוק ג")获取特定的犹太教文本内容。支持英文和希伯来文参考文献。
- 检索注释 (get_commentaries):获取给定文本参考文献的注释列表,帮助用户深入理解文本内容。
- 搜索文本 (search_texts):在 Sefaria 文库中执行关键词搜索,查找相关的犹太教文本。支持模糊搜索、过滤器和结果数量控制等高级搜索选项。
安装步骤
- 克隆仓库
打开终端,执行以下命令克隆 GitHub 仓库到本地:
git clone https://github.com/sivan22/mcp-sefaria-server.git cd mcp-sefaria-server - 运行服务器
服务器可以直接通过 'uv' 命令运行。请确保已安装 Python 3.10 或更高版本,并且安装了项目依赖。
打开终端,导航到项目根目录,然后执行以下命令启动服务器:
请将 '<仓库绝对路径>' 替换为克隆仓库的实际绝对路径。例如,如果您的仓库路径是 '/Users/yourname/mcp-sefaria-server',则命令应为:uv --directory <仓库绝对路径> run sefaria_jewish_libraryuv --directory /Users/yourname/mcp-sefaria-server run sefaria_jewish_library
服务器配置
MCP 服务器是为 MCP 客户端设计的。要将此服务器与 MCP 客户端(如 Claude)连接,您需要在客户端中配置服务器连接信息。以下是一个典型的 JSON 格式配置示例,您需要根据实际的仓库路径进行调整。
{ "mcpServers": { "sefaria_jewish_library": { "command": "uv", "args": [ "--directory", "<仓库绝对路径>", "run", "sefaria_jewish_library" ], "env": { "PYTHONIOENCODING": "utf-8" } } } }
配置参数说明:
- 'server name': 'sefaria_jewish_library' - 服务器的名称,客户端使用此名称来识别和调用该服务器。
- 'command': 'uv' - 用于启动服务器的可执行命令。'uv' 是一个 Python 包管理器和运行器,用于执行 Python 代码。
- 'args': 一个字符串数组,包含传递给 'uv' 命令的参数:
- '--directory': '<仓库绝对路径>' - 指定服务器代码所在的目录的绝对路径。请务必将 '<仓库绝对路径>' 替换为您本地仓库的实际绝对路径。
- 'run': 'uv' 命令的子命令,用于运行指定的 Python 模块或包。
- 'sefaria_jewish_library': 要运行的 Python 模块名称,对应 'src/sefaria_jewish_library/init.py' 文件。
- 'env': 一个环境变量字典,用于设置服务器运行时的环境变量。
- 'PYTHONIOENCODING': 'utf-8' - 设置 Python 的标准输入/输出编码为 UTF-8,确保正确处理 Unicode 字符。
请注意,您需要将 '<仓库绝对路径>' 替换为克隆到您本地的 'mcp-sefaria-server' 仓库的实际绝对路径。
基本使用方法
配置完成后,在 MCP 客户端中,您可以调用以下工具与 Sefaria Jewish Library MCP Server 交互:
-
get_text: 使用 'reference' 参数指定要检索的文本参考文献。例如:
{ "tool_call": { "name": "get_text", "arguments": { "reference": "Genesis 1:1" } } } -
get_commentaries: 使用 'reference' 参数指定要检索注释的文本参考文献。例如:
{ "tool_call": { "name": "get_commentaries", "arguments": { "reference": "Exodus 2:3" } } } -
search_texts: 使用 'query' 参数指定搜索关键词。还可以使用 'slop', 'filters', 'size' 等参数进行高级搜索。例如:
{ "tool_call": { "name": "search_texts", "arguments": { "query": "moshiach", "slop": 1, "filters": ["Talmud", "Bavli"], "size": 5 } } }
客户端将发送 JSON-RPC 请求到服务器,服务器会根据请求调用相应的工具,并返回包含文本内容的 JSON-RPC 响应。
信息
分类
网页与API