使用说明
项目简介
Open-MCP-Server 是一个实现了模型上下文协议 (MCP) 的服务框架,旨在简化企业系统与AI平台的集成。它为AI应用提供统一的数据访问和功能调用入口,支持多种协议和数据源,助力企业快速构建具备上下文感知能力的AI解决方案。
主要功能点
- 统一API适配: 支持 RESTful、gRPC、Dubbo 等多种协议的API接入,方便集成企业内部和外部的各种系统。
- AI工作流数据编排: 提供上下文感知的数据编排能力,使得AI应用能够灵活地获取和利用业务数据。
- 可扩展的业务逻辑: 采用可扩展的架构设计,方便根据业务需求定制和扩展功能。
- 工具 (Tools) 注册与执行: 允许注册和执行外部工具,例如本仓库中集成了新闻查询工具,LLM可以通过调用这些工具获取外部数据。
- 资源 (Resources) 管理: 虽然代码中没有显式资源管理,但通过集成外部API (如新闻API),可以视为一种资源访问能力的体现。
- 支持 SSE 协议: 实现了基于 Server-Sent Events (SSE) 的通信协议,用于与 MCP 客户端进行实时通信。
安装步骤
- 安装 Java 开发环境 (JDK): 确保您的机器上已安装 JDK 1.8 或更高版本。
- 下载代码: 从 GitHub 仓库 https://github.com/changsong/open-mcp-server 下载源代码。
- 构建项目: 使用 Maven 或 Gradle 等构建工具,在项目根目录下执行构建命令 (例如 'mvn clean install' 或 'gradle build')。
- 获取 JAR 包: 构建成功后,JAR 包通常会生成在 'target' 目录下,文件名为 'open-mcp-server-1.0-SNAPSHOT.jar' (版本号可能有所不同)。
服务器配置
MCP 客户端需要配置 MCP 服务器的启动命令和参数才能连接。以下是 'open-mcp-server' 的典型配置示例:
{ "mcpServers": { "open-mcp-server": { "command": "java", "args": [ "-Dspring.ai.mcp.server.stdio=true", // 启用 Stdio 传输协议,MCP 客户端通过标准输入输出与服务器通信 "-jar", "/jar包路径/open-mcp-server-1.0-SNAPSHOT.jar", // 请替换为实际 JAR 包的路径 "juhe.news.api-key=YOUR_API_KEY" // 聚合数据新闻API的密钥,请替换为您自己的密钥 ] } } }
配置参数说明:
- 'command': 启动 MCP 服务器的命令,这里使用 'java' 命令。
- 'args': 传递给 'java' 命令的参数列表:
- '-Dspring.ai.mcp.server.stdio=true': 设置 Spring AI MCP 服务器使用 Stdio (标准输入输出) 作为传输协议。这是与 MCP 客户端进行通信的关键配置。
- '-jar /jar包路径/open-mcp-server-1.0-SNAPSHOT.jar': 指定要运行的 JAR 包路径。请务必替换 '/jar包路径/open-mcp-server-1.0-SNAPSHOT.jar' 为您实际构建生成的 JAR 文件路径。
- 'juhe.news.api-key=YOUR_API_KEY': 设置聚合数据新闻 API 的密钥。您需要在 聚合数据 注册并获取新闻 API 密钥,然后替换 'YOUR_API_KEY'。
基本使用方法
- 启动 MCP 服务器: 在 MCP 客户端中配置上述 'mcpServers' 信息后,客户端会根据配置启动 'open-mcp-server'。
- 客户端与服务器通信: MCP 客户端通过 Stdio 协议与 'open-mcp-server' 建立连接。
- 调用工具: 客户端可以向服务器发送 MCP 请求,请求调用服务器注册的工具。例如,可以调用 'NewsService' 中提供的 'getNewsList' (获取新闻列表) 或 'getNewsDetail' (获取新闻详情) 工具,并传递相应的参数。
- 获取响应: 服务器执行工具后,会将结果封装成 MCP 响应返回给客户端。客户端解析响应,即可获取工具执行的结果。
注意: 本仓库提供的 'open-mcp-server' 示例主要演示了如何集成第三方新闻 API 并将其作为工具提供给 LLM 使用。您可以参考此示例,扩展和定制自己的 MCP 服务器,集成更多的企业内部系统和外部数据源,构建更强大的 AI 上下文服务能力。
信息
分类
AI与计算