使用说明(简要易懂的使用指南,面向开发者与运维人员):

  • 项目简介

    • 该仓库实现了基于 MCP 的后端服务器,为大语言模型客户端提供标准化的上下文信息与能力,包括资源管理、工具执行与 Prompts 渲染等核心能力,且通过 JSON-RPC 风格的接口进行通信。
  • 主要功能点

    • 资源层:提供可读的数据资源访问接口,方便 LLM 客户端按需获取上下文数据。
    • 工具层:注册、注册后调用工具,LLM 可以通过工具实现对外部功能的调用。
    • Prompts:定义和渲染 Prompt 模板,支持可定制的 LLM 交互模式。
    • JSON-RPC API:基于 MCP 的工具与资源请求,通过单一端点进行请求和响应。
    • 会话与能力:会话管理、能力声明,支持多种传输协议(HTTP 传输为主,未来可扩展)。
    • 持久化与查询:结合 SQLite 索引与 Git 存储的混合持久化,提供全文检索与历史追踪能力。
    • 安全与治理:RBAC、JWT/ Bearer 认证、日志、可观测性等基础能力,保障多模型协作的安全性。
    • 拓展性:内置插件化工具目录、扩展工具和宏工具等,方便未来扩展。
  • 安装步骤

    • 前提条件:Python 3.11 及以上环境。
    • 步骤1:获取代码并安装依赖。可以本地克隆仓库,创建虚拟环境并安装依赖,或通过 PyPI 安装。
    • 步骤2:配置依赖服务(如数据库、Git 存储根目录、可选的 Redis、JWT/JWKS 服务等,根据需要启用相应特性)。
    • 步骤3:启动 MCP HTTP 服务器。仓库内 documentation 推荐的常用启动方式包括:
      • 通过 CLI 启动:uvicorn mcp_agent_mail.http:build_http_app --factory --host 0.0.0.0 --port 8765
      • 通过 CLI 统一入口启动:uv run python -m mcp_agent_mail.cli serve-http
    • 步骤4:在客户端配置 MCP 服务器连接信息(见下方“配置示例”)。
  • 服务器配置(MCP 客户端需要的配置信息) 说明:下面给出一个准确的配置信息模板,描述服务器名称、启动命令及参数等。请将其作为 MCP 客户端连接到服务器的配置输入。该配置为 JSON 结构,方便跨语言客户端读取使用。 { "server_name": "MCP Mail HTTP", "command": "uvicorn", "args": [ "mcp_agent_mail.http:build_http_app", "--factory", "--host", "0.0.0.0", "--port", 8765 ] } 说明:

    • server_name:服务器的标识名称,用于区分不同 MCP 服务器实例。
    • command:启动服务器所使用的执行程序,这里使用 uvicorn。
    • args:启动命令的参数集合,包含应用工厂函数、绑定地址和端口等信息,确保客户端在不同环境下能正确接入 MCP 服务。
  • 基本使用方法

    • 客户端准备:获取 MCP 服务器地址与端点路径(如 http://your-host:8765/mcp/)。
    • 基本调用模式:通过 JSON-RPC 风格的请求向服务器发送“工具、资源、Prompts”等操作,并接收标准的 JSON-RPC 响应。
    • 常用操作示例(面向开发者的高层用法):
      • 注册一个项目或 Agent、查询资源、执行工具、搜索消息、读取 Inbox。
      • 使用资源接口获取资源内容,如 Inbox、Thread、Messages 等。
    • 本仓库对接入与测试提供了完善的集成测试用例,可用于验证 MCP 客户端与服务端的交互。
  • 关键词与定位

    • 该项目聚焦在“AI 协作的 MCP 服务器端实现”,核心能力包括资源/工具/Prompts 的管理,以及对 MCP 客户端的 JSON-RPC 风格支持,具备可运行的服务器实现与完整的后端逻辑,不仅是示例或测试代码。
  • 运行与运维注意

    • 如需生产化部署,请结合项目的 RBAC、JWT/JWKS、日志、监控、跨域等设置进行适配。
    • 如使用数据库、Git 存储、以及缓存,需要在部署前完成相应的存储根目录、权限与安全策略配置。

信息

分类

AI与计算