使用说明

项目简介

Solon-AI MCP Server 是 Solon-AI 项目的子模块,专注于提供一个轻量级、高效的 Java 框架,用于构建 Model Context Protocol (MCP) 服务器。该服务器旨在作为 AI 应用的后端,以标准化的方式向 LLM 客户端提供上下文信息和功能。

主要功能点

  • MCP 协议实现: 完整实现了 Model Context Protocol 规范,支持 JSON-RPC over SSE 通信协议。
  • 资源管理: 提供托管和管理资源的能力,允许 LLM 客户端访问和利用外部数据。
  • 工具注册与执行: 支持注册和执行工具(Functions),使 LLM 能够调用外部功能,扩展其能力边界。
  • Prompt 模板: 支持定义和渲染 Prompt 模板,方便定制 LLM 交互模式。
  • 会话管理: 服务器端负责管理客户端会话,确保安全可靠的上下文服务。
  • 能力声明: 支持 MCP 服务器的能力声明,方便客户端了解服务器功能。
  • 多种传输协议: 默认支持 SSE 传输协议,方便客户端连接。

安装步骤

  1. 环境准备: 确保已安装 JDK 8 或更高版本,并配置好 Maven 构建环境。
  2. 下载代码: 从 GitHub 仓库 https://github.com/opensolon/solon-ai 下载 'solon-ai' 项目代码。
  3. 编译项目: 使用 Maven 命令 'mvn clean install' 在项目根目录下进行编译,编译成功后,会在 'solon-ai-mcp/target' 目录下生成 'solon-ai-mcp-{version}.jar' 文件。

服务器配置

MCP 服务器是为 MCP 客户端提供服务的后端应用,客户端需要配置服务器连接信息才能正常使用。以下是 MCP 客户端的服务器配置示例 (JSON 格式):

{
  "server name": "demo1",
  "command": "java -jar solon-ai-mcp-{version}.jar",
  "args": [],
  "description": "Solon-AI MCP Server instance"
}
  • 'server name': 自定义 MCP 服务器实例名称,用于客户端标识和管理。例如 '"demo1"'。
  • 'command': 启动 MCP 服务器的命令。通常为 'java -jar solon-ai-mcp-{version}.jar',请将 '{version}' 替换为实际构建生成的 JAR 文件版本号。
  • 'args': 启动命令参数,当前示例无需额外参数,保持为空数组 '[]' 即可。
  • 'description': 服务器实例的描述信息,方便用户识别服务器用途。例如 '"Solon-AI MCP Server instance"'。

基本使用方法

  1. 启动 MCP 服务器: 运行 'solon-ai-mcp/src/test/java/demo/ai/mcp/server/McpServerApp.java' 中的 'main' 方法,即可启动示例 MCP 服务器。实际部署时,请使用 'server config' 中生成的 'command' 命令启动 JAR 文件。
  2. 定义工具: 在 Java 类中创建工具方法,并使用 '@ToolMapping' 注解进行描述,例如 'demo.ai.mcp.server.McpServerTool.java' 和 'demo.ai.mcp.server.McpServerTool2.java'。
  3. 注册工具端点: 使用 '@McpServerEndpoint' 注解标记类,例如 'demo.ai.mcp.server.McpServerTool2.java',并配置 'sseEndpoint' 等参数。
  4. 客户端连接: MCP 客户端(如 'solon-ai-mcp/src/test/java/demo/ai/mcp/client/McpClientApp.java') 通过 SSE 协议连接到 MCP 服务器的 '/sse' 端点(可通过 'app-server.yml' 或 '@McpServerEndpoint' 注解配置)。
  5. 客户端调用工具: 客户端可以使用 'McpClientToolProvider' 等工具类,通过工具名称和参数调用 MCP 服务器注册的工具,获取执行结果。

信息

分类

AI与计算