Socratic-MCP Study-Speak Server
使用说明
-
项目简介 该仓库实现了一个基于 MCP(Model Context Protocol)协议的服务端组件,核心在于将外部功能以“工具”方式暴露给 LLM 客户端。当前实现聚焦于“speak”文本转语音(TTS)工具,客户端可通过 MCP 机制调用该工具实现文本转语音输出的能力,并可在实际对话场景中结合会话管理与上下文扩展使用。
-
主要功能点
- 注册并暴露 speak 工具:客户端可通过 MCP 调用该工具,将文本转成语音进行输出,返回执行结果或错误信息。
- 简单会话与能力声明:服务端通过 MCP 框架处理请求和响应,具备基础的会话管理能力与功能扩展空间。
- JSON-RPC 通信:服务器端接收来自 LLM 客户端的 JSON-RPC 请求,执行注册的工具并返回标准化的 JSON-RPC 响应。
-
安装步骤
- 安装依赖:确保 Python 3.12+ 环境,可通过 pip 安装 MCP 运行时依赖(MCP 框架库,例如 mcp 的相关实现)。
- 取得源码:将仓库中的相关 MCP 服务脚本获取到本地环境中。
- 安装并准备 TTS 支持:脚本会尝试调用本地 TTS 实现(如系统命令或本地二进制)。确保该实现可执行,并放在 PATH 或脚本能够定位到的路径。
- 启动服务:在终端执行相应的 Python 脚本来启动 MCP 服务器,例如运行 study-speak 的 MCP 服务入口脚本。
-
服务器配置(MCP 客户端对接的配置信息) 注:MCP 客户端需要配置启动服务器的命令和参数,以下 JSON 配置示例用于 MCP 客户端在连接服务器时的描述信息(不在客户端代码中实现,仅用于文档化配置理解)。 { "server_name": "study-speak", "command": "python3", "args": ["agents/mcp/study-speak-server.py"], "transport": "stdio" } 说明:
- server_name 表示 MCP 服务器的名称,本文对应 study-speak 模块。
- command 提供启动服务器所需的命令(如 python3)。
- args 指定启动脚本及必要参数,本文对应脚本路径即可启动 MCP 服务器。
- transport 指定通信传输协议(如 stdio、SSE、WebSocket),根据实际部署选择。 注:上述配置仅用于描述服务器启动方式及对接信息,实际客户端实现不需修改服务器端代码。
-
基本使用方法
- 启动服务器后,LLM 客户端即可通过 JSON-RPC 调用名为 speak 的工具,传入要朗读的文本内容,服务器执行 TTS 并返回执行结果。
- 客户端可结合现有对话流程,将文本输出整合到对话上下文,提升交互的自然性与可访问性。
-
其他注意
- 当前实现聚焦对 speak 工具的暴露,未来可在同一 MCP 服务器上继续注册更多工具、资源和 Prompts,以丰富上下文服务能力。
- 为了确保可移植性,运行环境应具备所需的 TTS 背端(本地可执行的 TTS 程序或库),并确保服务器对外暴露的接口符合 MCP 的约定。