使用说明
项目简介
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 传输协议,方便客户端连接。
安装步骤
- 环境准备: 确保已安装 JDK 8 或更高版本,并配置好 Maven 构建环境。
- 下载代码: 从 GitHub 仓库 https://github.com/opensolon/solon-ai 下载 'solon-ai' 项目代码。
- 编译项目: 使用 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"'。
基本使用方法
- 启动 MCP 服务器: 运行 'solon-ai-mcp/src/test/java/demo/ai/mcp/server/McpServerApp.java' 中的 'main' 方法,即可启动示例 MCP 服务器。实际部署时,请使用 'server config' 中生成的 'command' 命令启动 JAR 文件。
- 定义工具: 在 Java 类中创建工具方法,并使用 '@ToolMapping' 注解进行描述,例如 'demo.ai.mcp.server.McpServerTool.java' 和 'demo.ai.mcp.server.McpServerTool2.java'。
- 注册工具端点: 使用 '@McpServerEndpoint' 注解标记类,例如 'demo.ai.mcp.server.McpServerTool2.java',并配置 'sseEndpoint' 等参数。
- 客户端连接: MCP 客户端(如 'solon-ai-mcp/src/test/java/demo/ai/mcp/client/McpClientApp.java') 通过 SSE 协议连接到 MCP 服务器的 '/sse' 端点(可通过 'app-server.yml' 或 '@McpServerEndpoint' 注解配置)。
- 客户端调用工具: 客户端可以使用 'McpClientToolProvider' 等工具类,通过工具名称和参数调用 MCP 服务器注册的工具,获取执行结果。
信息
分类
AI与计算