AI-ATLAS MCP 服务端

使用说明(简明且面向开发者):

  • 项目简介

    • AI-ATLAS 是一个在编译期通过注解处理器为现有实体与服务生成 MCP 相关的后端组件的框架。它能够自动暴露工具(Tools)、生成 PII 安全的 DTO、并提供 REST 与 MCP 入口,方便与大语言模型进行上下文交互。
    • 该仓库实现了一个可运行的服务器端框架,包含自动注册 MCP 工具、REST 控制器、OpenAPI 规范,以及用于 MCP 的 SSE 传输能力的示例路径。
  • 主要功能点

    • 自动发现并注册 MCP 工具(通过 @AgenticExposed 及其方法/类型级注解生成工具类)。
    • 生成并暴露 PII 安全的 DTO(@AgentVisible 标注的字段被包含在 DTO 中,未标注字段会在运行时通过编译期策略被排除)。
    • 生成 REST 控制器及 OpenAPI 规范,便于外部客户端通过 REST 或 API 描述了解接口。
    • 提供一个运行时模块,在 Spring Boot 应用中配置自动化 MCP 服务发现与工具回调(ToolCallbackProvider)。
    • 提供 Hibernate 安全序列化(AgentSafeModule/AgentSafeSerializer),在 Enriched 模式下对字段进行描述、有效值等元信息暴露,同时处理循环引用与代理对象。
    • 运行时提供 MCP 的传输支持示例(本文档中的示例使用 SSE),供 MCP 客户端连接。
  • 安装步骤

    • 使用 Gradle 构建项目,确保 JDK 21 环境(仓库要求)。
    • 进入 demo 模块并启动 Spring Boot 应用:
      • 通过 Gradle 任务 ./gradlew :demo:bootRun 启动 DEMO 应用,默认监听 8080 端口。
    • 若使用 Gradle 插件方式集成,请参考 Quickstart 章节中的说明来添加插件并生成所需模块。
  • 服务器配置(MCP 客户端连接需的必要信息,JSON 格式) 请以以下 JSON 配置作为 MCP 客户端连接参数的示例注释,用于描述服务器信息、启动命令与参数等。客户端本身不需要包含服务器实现的代码,仅用于描述如何连接到 MCP 服务器。 { "serverName": "AI-ATLAS Demo MCP Server", "transport": "SSE", "endpoint": "http://localhost:8080/sse", "startCommand": "gradlew", "startArgs": [":demo:bootRun"], "notes": "用 SSE 传输与服务器建立连接;启动 DEMO 应用后,服务器将注册工具并暴露相关端点。" }

  • 基本使用方法

    • 启动:按照上面的安装步骤运行 DEMO 应用(Spring Boot 应用),确保 /sse 端点对外可访问。
    • 连接:MCP 客户端通过 SSE 连接该端点,接收服务器暴露的工具信息、执行工具调用并获取 DTO。服务器会对返回的数据进行安全处理,确保 DTO 仅包含被标注的字段及元信息。
    • 交互:使用 MCP 客户端发送读取资源、调用工具、获取 Prompt 等请求;服务端将通过 MCP 工具回调提供实现,并返回格式化的 JSON-RPC 风格响应或通知。
    • 监控与扩展:服务器端提供 OpenAPI 规范与工具代理实现,便于在后续扩展中添加新工具、DTO 与 REST 端点。

服务器信息