Istaroth MCP Server
使用说明内容(Markdown格式)
- 项目简介
- Istaroth MCP Server 是一个实现 MCP(Model Context Protocol)核心能力的后端服务器,专为 Claude 等大语言模型客户端提供统一的资源访问、工具调用以及促发式提示渲染的能力,帮助在对话中动态获取并使用外部知识与检索结果。
- 主要功能点
- 提供资源访问:通过 MCP 服务器对文档/文本资源进行读取与检索。
- 注册并执行工具:支持在对话中调用外部功能(如获取文件片段、检索结果等)。
- 与客户端通信:通过 HTTP/WebSocket 传输实现 JSON-RPC 风格的请求响应交互(在此仓库实现中包含 HTTP WebSocket MCP 服务入口)。
- 会话与能力声明:服务器端管理会话和能力描述,方便 LLM 客户端了解可用的资源与工具。
- 多传输协议支持:服务器设计考虑未来可能的多种传输协议(如 STDIO、SSE、WebSocket 等)。
- 安装步骤
- 克隆仓库并安装依赖:pip install -r requirements.txt
- 设置环境变量:
- ISTAROTH_DOCUMENT_STORE_SET:指定各语言 checkpoint 的路径,例如 CHS:/path/to/chs_checkpoint,ENG:/path/to/eng_checkpoint
- ISTAROTH_MCP_LANGUAGE:查询语言,当前支持 CHS 或 ENG
- 启动 MCP 服务器(两种常用方式之一):
- 直接运行(适合开发测试):使用 FastMCP 工具启动,命令示例为 fastmcp run 脚本/mcp_server.py --transport=streamable-http
- Docker 快速启动(如有镜像):docker run -p 8000:8000 <镜像名>,镜像内应包含上述入口脚本与依赖
- 将服务器接入 Claude 客户端(示例,请按 Claude 的实际配置执行):
- 本地 HTTP/WebSocket 服务器地址示例:http://127.0.0.1:8000/mcp/
- 服务器配置(用于 MCP 客户端的启动配置,JSON 格式,说明性注释):
{
"server_name": "istaroth",
"command": "fastmcp",
"args": [
"run",
"scripts/mcp_server.py",
"--transport=streamable-http"
],
"description": "Istaroth MCP 服务端,提供文档检索与片段读取工具。"
}
说明:
- server_name:在客户端侧显示的服务器名称,可自定义。
- command / args:启动服务器所需的命令与参数,按本仓库实际实现给出,客户端不需要修改内部实现。
- 基本使用方法
- 在 Claude/其它 MCP 客户端中将 istaroth 服务器添加为可用服务器,使用 HTTP/WS 传输协议与服务端通信。
- 常用操作包括读取资源、调用检索工具获取文档片段、获取完整文件内容等(具体工具与调用名称在服务器实现中定义,如 get_file_content、retrieve 等)。
- 参考 Claude 的 MCP 集成指南,将服务器地址配置到客户端的连接设置中,即可在对话中直接调用资源与工具。
- 说明与注意
- 该实现包含对多语言资源的支持和对文档检索/片段读取等工具的暴露,适合在对话中动态提供背景信息。
- 运行环境需要相应的向量检索、文档存储和 LLM 相关依赖,确保 ISTAROTH_DOCUMENT_STORE_SET 等环境变量正确设置后即可运行。