使用说明内容(Markdown格式)
- 项目简介
- pty-mcp-server 是一个使用 Haskell 实现的 MCP(Model Context Protocol)服务器,设计目标是以标准化方式向 LLM 客户端提供上下文信息和功能。核心能力包括托管和管理资源(Resources)、注册与执行工具(Tools)、定义与渲染 Prompt 模板(Prompts),并通过 JSON-RPC 协议与客户端通信。服务器负责会话管理、能力声明以及对多种传输协议的支持(如 StdIO、WebSocket、SSE 等),为 AI 应用提供安全、可扩展的上下文服务框架。
- 主要功能点
- MCP 协议核心能力:处理标准的请求/响应,允许客户端读取资源、调用工具、获取与渲染 Prompt 等能力。
- 资源、工具、提示的管理:生命周期管理、动态扩展、工具通过脚本实现并可被命名调用。
- 会话与能力声明:对客户端能力进行注册、协商和状态管理,确保多会话并发安全运行。
- 多传输协议支持:N 梦想支持 StdIO 为主,同时提供容器化/容器内使用时的兼容性(如 Docker/Podman 场景下的运行脚本与配置)。
- 工具脚本化与扩展性:通过 tools/ 目录下的脚本实现工具行为,tools-list.json 定义可用工具,新增工具无需修改服务器代码。
- 安全与运维特性:日志、权限与会话隔离设计,适用于 DevOps、IaC 以及需要交互式 CLI 的场景。
- 安装步骤
- 如果你使用二进制发行或自行构建,请确保开发环境准备就绪(示例环境通常为 GHC >= 9.6)。
- 通过 cabal 或相应的构建工具编译安装,生成 pty-mcp-server 二进制文件。
- 或使用提供的 Docker/Podman 配置,在容器内运行服务器(容器内通常需要挂载配置与工具脚本目录)。
- 服务器配置(MCP 客户端需要提供的连接信息,以下为描述性信息,非代码块)
- serverName(服务器名称):pty-mcp-server
- transport(传输协议):stdio(主流实现);可选扩展为其他传输,如 WebSocket 等
- command(启动命令):pty-mcp-server
- args(启动参数):-y /path/to/config.yaml,用于指定服务器配置文件(例如日志目录、工具目录、提示模式等)
- 说明:MCP 客户端需要知道服务器的启动命令与参数以建立连接;配置文件中包含 logDir、logLevel、toolsDir、prompts 等字段,用于告知服务器如何加载工具、资源和提示的检测模式。
- 基本使用方法
- 启动服务器:以命令行运行服务器可用的二进制(如 pty-mcp-server -y config.yaml)。
- 配置文件:准备 config.yaml,指定日志目录、工具目录、提示符等配置,放在服务器能够访问的位置。
- 客户端连接:MCP 客户端使用服务器启动命令与参数进行连接,建立 JSON-RPC 通道后即可请求读取资源、执行工具、获取与渲染 Prompt。
- 使用示例流程(概念性描述):客户端请求创建或读取一个资源;请求调用一个已注册的工具(如 pty-bash、pty-ssh 等),服务器在后台创建相应的 PTY 会话并将交互输出返回给客户端;客户端请求渲染 Prompt,并根据返回结果进行后续对话与决策。
- 运行与部署注意
- 在容器化环境中运行时,请注意 PTY 会话的容器内外环境隔离,以及与宿主机网络/端口的正确映射。
- 工具脚本应放在 tools/ 目录,tools-list.json 定义公共工具,新增工具只需添加对应脚本与工具条目即可。
- Windows 与 POSIX 的差异,请参考文档中的注意事项,某些 PTY 相关工具在 Windows 上可能不可用。
信息
分类
AI与计算