项目简介
'quarkus-assistant-demo' 仓库中包含一个演示用的 MCP 时间服务器实现。它是一个基于 Quarkus 框架和 Kotlin 语言构建的独立服务,通过 Model Context Protocol (MCP) 标准向外部客户端(如大型语言模型应用)提供获取当前时间的功能。这个 MCP 服务器是整个金融助理聊天机器人示例中的一个组件,用于演示如何将外部工具能力通过 MCP 集成到 LLM 应用中。
主要功能点
- 提供时间工具 (Time Tool): 作为 MCP 服务器,它对外暴露一个“时间工具”,允许连接的 LLM 客户端调用该工具来获取实时的日期和时间信息。
- 标准 MCP 协议支持: 通过 JSON-RPC 协议进行通信,并支持 SSE 传输协议,符合 MCP 规范。
- Quarkus 框架: 利用 Quarkus 的快速启动和低内存占用特性,提供高效的服务器性能。
安装步骤
- 克隆仓库: 首先,你需要将 'quarkus-assistant-demo' 仓库克隆到你的本地。
git clone https://github.com/kpavlov/quarkus-assistant-demo.git cd quarkus-assistant-demo - 进入 MCP 子项目: 导航到仓库中的 'mcp' 子目录:
cd mcp - 启动 MCP 服务器: 使用 Maven 运行开发模式下的服务器:
服务器将在 'http://localhost:8090/mcp/sse' 启动并监听请求。mvn quarkus:dev
服务器配置
MCP 客户端可以通过以下 JSON 配置连接到此 MCP 服务器:
{ "server_name": "Quarkus Time Server", "command": "mvn", "args": [ "quarkus:dev", "-Dquarkus.http.port=8090" ], "working_directory": "mcp" }
说明:
- 'server_name': 这是一个易于识别的名称,供 MCP 客户端界面显示。
- 'command': 启动 MCP 服务器进程的执行命令,通常是 'mvn' 或 'java'。
- 'args': 传递给 'command' 的参数列表,例如 'quarkus:dev' 用于启动 Quarkus 应用的开发模式。'-Dquarkus.http.port=8090' 是可选的,用于显式指定服务器监听的端口,如果与默认端口冲突可以更改。
- 'working_directory': MCP 客户端需要在这个目录下执行 'command',以确保找到正确的项目文件(如 'pom.xml')。这里指定为 'mcp',表示在 'quarkus-assistant-demo' 仓库的 'mcp' 子目录中执行命令。
基本使用方法
当 MCP 服务器运行后,它将通过 'http://localhost:8090/mcp/sse' 提供时间服务。你可以使用诸如 'MCP Inspector'(通过 'npx @modelcontextprotocol/inspector' 启动)等工具连接到此地址,来查看服务器声明的能力(例如,它会声明提供一个“时间工具”)。
在主应用(金融助理聊天机器人,如果也启动)中,当用户提问“今天几点?”或“现在是什么时间?”时,聊天机器人会作为 MCP 客户端调用此时间服务器的“时间工具”来获取并返回当前时间。
信息
分类
开发者工具