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
    • 如需查看或修改默认配置,请参考仓库内的示例配置和环境变量文档。
  • 服务器配置(面向 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 服务器的核心要求。

服务器信息