该仓库包含了一个基于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)

构建与运行服务器

  1. 克隆仓库:
    git clone https://github.com/Shlysz/ollama-mcp.git
    cd ollama-mcp/mcpp
  2. 使用Maven构建:
    # 进入mcpp目录
    mvn clean package
    这将在 'target' 目录下生成一个可执行的JAR文件。
  3. 运行服务器:
    # 在mcpp目录下执行
    java -jar target/*.jar
    服务器默认会在 'http://localhost:8080' 端口启动,并监听 '/sse' 路径上的MCP连接请求。

客户端配置(连接服务器)

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服务器正在运行并监听指定的地址和端口即可。

基本使用方法

  1. 确保您的MCP服务器已按照上述“构建与运行服务器”步骤成功启动。
  2. 配置您的MCP客户端(例如本仓库的Python客户端)连接到该服务器的地址。
  3. 运行您的MCP客户端。客户端将连接到服务器,获取可用的工具列表,并可以在与大语言模型交互时调用这些工具。

信息

分类

AI与计算