该仓库包含了一个基于Python的MCP客户端实现和一个基于Java Spring Boot的MCP服务器实现。此处提供的是关于MCP服务器部分的使用说明。
项目简介
这是一个实现了Model Context Protocol (MCP) 部分功能的后端应用,专注于工具 (Tools) 的注册和执行。它通过JSON-RPC over SSE协议与MCP客户端通信,允许客户端(如本仓库中的Python客户端或兼容的其他MCP客户端)获取服务器提供的工具列表并调用这些工具。服务器端使用了Spring Boot和Spring AI框架来定义和管理可供LLM调用的工具(例如仓库中包含的天气服务工具)。
主要功能点
- 工具注册与声明: 服务器启动时扫描Spring Bean中带有'@Tool'注解的方法,并将其注册为可通过MCP协议访问的工具。
- 工具执行: 接收来自MCP客户端的工具调用请求,在服务器端执行对应的Java方法,并将结果返回给客户端。
- JSON-RPC over SSE通信: 使用Server-Sent Events (SSE) 作为传输层,实现与客户端的异步通信,遵循MCP的JSON-RPC规范进行请求和响应交换。
- Spring AI集成: 利用Spring AI的工具注解('@Tool')简化工具的定义和管理。
环境要求
- Java Development Kit (JDK) 21 或更高版本
- 构建工具:Maven 或 Gradle (该项目结构通常使用Maven)
构建与运行服务器
- 克隆仓库:
git clone https://github.com/Shlysz/ollama-mcp.git cd ollama-mcp/mcpp - 使用Maven构建:
这将在 'target' 目录下生成一个可执行的JAR文件。# 进入mcpp目录 mvn clean package - 运行服务器:
服务器默认会在 'http://localhost:8080' 端口启动,并监听 '/sse' 路径上的MCP连接请求。# 在mcpp目录下执行 java -jar target/*.jar
客户端配置(连接服务器)
MCP客户端需要知道运行中的MCP服务器的网络地址才能连接。对于本仓库配套的Python客户端,您需要编辑 'Ollama-mcp-client/client/mcp_server_config.json' 文件,将 'url' 配置项指向您运行的MCP服务器地址。
{ "mcpServers": { "your-server-name": { "url": "http://localhost:8080/sse" // 填写您的MCP服务器实际运行地址和端口 } } }
请注意,这里的配置是客户端连接服务器的地址,MCP服务器本身作为独立的应用程序运行,不需要客户端提供启动命令和参数。您只需确保MCP服务器正在运行并监听指定的地址和端口即可。
基本使用方法
- 确保您的MCP服务器已按照上述“构建与运行服务器”步骤成功启动。
- 配置您的MCP客户端(例如本仓库的Python客户端)连接到该服务器的地址。
- 运行您的MCP客户端。客户端将连接到服务器,获取可用的工具列表,并可以在与大语言模型交互时调用这些工具。
信息
分类
AI与计算