Jaato MCP 服务器
使用说明(Markdown 格式)
-
项目简介
- Jaato MCP 服务器是一个面向 LLM 客户端的后端框架,按照 MCP(Model Context Protocol)规范提供资源、工具与提示模板的集中管理与访问能力,并通过 JSON-RPC 协议进行通信。服务器端负责会话管理、能力声明,以及对多种传输协议的支持,便于与本地或远程的 MCP 客户端联动。
-
主要功能点
- MCP 核心能力:按资源、工具和提示模板进行标准化管理与访问,客户端可以读取资源、执行工具、获取并渲染 Prompt 模板。
- JSON-RPC 通信:服务器通过 JSON-RPC 风格的请求/响应与 MCP 客户端进行交互,方便扩展与集成。
- 会话与多任务:支持多会话并发,具备会话管理、状态追踪与持久化能力,确保上下文在会话之间正确隔离与恢复。
- 插件体系与工具编排:提供插件架构,用于注册、发现和执行外部工具,并支持工具的生命周期管理。
- 本地与远程传输:实现本地 IPC(如 Unix 域套接字/ Windows 命名管道)和远程传输(WebSocket)等多种传输协议,便于集成在不同环境中。
- 安全与可扩展性:设计了会话环境隔离、权限与工具执行的管控路径,以及可扩展的格式化与渲染管线。
-
安装步骤
- 环境准备:需要 Python 3.10 及以上版本。
- 安装依赖并安装本项目:
- 克隆仓库并进入项目根目录
- 安装依赖并安装包(推荐在虚拟环境中执行)
- pip install .
- 如有可选依赖,按照需要执行如 pip install ".[vision]"、".[dev]"、".[all]" 等
- 运行前的配置
- MCP 服务器通常需要在配置中指定连接参数、传输方式等,请参照后续的服务器启动示例进行配置。
- 启动服务器
- 启用本地 IPC 传输(适用于本地客户端,如 IDE、终端工具等)
- python -m server --ipc-socket /tmp/jaato.sock
- 启用远程传输(WebSocket,供远程 MCP 客户端使用)
- python -m server --web-socket :8080
- 启用本地 IPC 传输(适用于本地客户端,如 IDE、终端工具等)
- 如需查看或修改默认配置,请参考仓库内的示例配置和环境变量文档。
-
服务器配置(面向 MCP 客户端的配置信息,JSON 格式,包含 server name、command、args 等)
-
说明:MCP 客户端通常通过配置文件向 MCP 服务器发起连接,请将以下信息作为参考模板,填写成 JSON 配置用于客户端连接(客户端本身并不需要服务器端代码,只需要知道如何连接和启动命令)。
-
示例配置要点(请将以下描述转化为可执行的 JSON 配置,不包括代码;示例中给出字段含义与用途):
- server_name: 指定 MCP 服务器标识名称,便于客户端在多服务器环境中区分。
- transport: 指定传输通道,例:"ipc"(本地)或 "websocket"(远端)。
- command: 启动服务器的命令行,通常为启动服务器的入口脚本或模块名。
- args: 启动命令的参数数组,包含必要的连接参数,如 IPC 路径或 WebSocket 端口等。
-
说明性描述(请以中文描述字段含义,避免包含具体代码实现)
- server_name:MCP 服务器的唯一名称,用于区分多服务器环境中的身份。
- transport:通信通道,客户端通过该通道连接 MCP 服务器。
- command、args:客户端启动服务器的具体命令与参数。若客户端只需要连接现有服务器,则此处不必包含可执行命令信息,而给出连接参数即可。
- 连接示例要素(非代码):例如 IPC 路径、WebSocket URL、认证信息(如有)等。
-
具体字段示例(以描述性文本形式,不是代码):
- server_name: "jaato-mcp-server-01"
- transport: "ipc"
- command: "python -m server"
- args: ["--ipc-socket", "/tmp/jaato.sock"]
-
-
基本使用方法
- 连接与基础操作
- 启动 MCP 服务器后,MCP 客户端通过配置的传输通道连接到服务器,读取资源、注册工具、获取提示模板并按需执行。
- 运行时交互
- 客户端向 MCP 服务器发送 JSON-RPC 风格的请求(例如读取资源、执行工具、获取 Prompt),服务器返回标准的 JSON-RPC 响应或通知。
- 会话与安全
- 服务器端负责会话管理、能力声明与权限策略,客户端应遵循服务器端的权限策略进行工具调用。
- 开发与扩展
- 服务器提供插件化能力,开发者可实现新的资源、工具或提示模板插件并在 MCP 框架内注册使用。
- 连接与基础操作
总之,Jaato 项目包含完整的 MCP 服务器实现框架(核心服务端、IPC/WebSocket 通信、事件定义与序列化、会话与插件机制等),具备可运行的服务器端代码和明确的 MCP 功能实现,符合 MCP 服务器的核心要求。