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 的约定。

服务器信息