项目简介
'dh-agent-workshop' 仓库主要是一个关于如何使用 Google Agent Development Kit (ADK) 搭建智能代理的教程。其中包含了一个使用 'FastMCP' 框架实现的简单 Model Context Protocol (MCP) 服务器。该MCP服务器的目标是为LLM(大型语言模型)代理提供标准化的接口,用于查询IT系统的健康状态和获取错误日志,从而协助进行系统故障排查。
主要功能点
该MCP服务器通过标准JSON-RPC协议提供以下工具(Tools)接口,供外部LLM代理调用:
- 获取所有系统 (get_systems): 返回当前服务器监控的所有可用IT系统名称列表,例如“数据库”、“API网关”等。
- 获取系统状态 (get_system_status): 根据提供的系统名称,返回该系统的当前运行状态(如“正常”、“降级”、“错误”、“维护中”)、可用性以及最后检查时间。
- 获取系统错误日志 (get_system_errors): 根据提供的系统名称和限制数量,返回该系统的模拟错误日志条目,包含时间戳、日志级别和消息内容。
这些工具使得LLM代理能够以结构化的方式与后端系统交互,获取实时信息,从而执行更复杂的诊断和故障排除任务。
安装步骤
本MCP服务器旨在部署到云环境,例如 Google Cloud Run。以下是部署到Google Cloud Run的关键步骤:
-
准备环境:
- 确保已安装并配置 Google Cloud CLI 工具。
- 在项目根目录创建 '.env' 文件,并设置 'GOOGLE_CLOUD_PROJECT' 和 'GOOGLE_CLOUD_LOCATION' 等变量。
- 通过 'gcloud auth login --update-adc' 登录Google Cloud。
- 为默认计算服务账号配置必要的IAM角色(如 'roles/logging.logWriter'),以允许Cloud Run记录日志。
-
部署MCP服务器:
- 切换到MCP服务器代码所在的目录:'cd mcp'
- 使用Google Cloud Build和Cloud Run部署服务。执行以下命令(可根据需要调整区域):
gcloud run deploy mcp-server --allow-unauthenticated --region=europe-west4 --source . - 部署成功后,您将获得一个公共访问URL。请将此URL添加到您的 '.env' 文件中,例如:
请注意,URL末尾需包含 '/mcp' 路径。MCP_URL="https://your-mcp-server-url.cloudrun.app/mcp"
服务器配置
MCP服务器一旦部署并运行,MCP客户端(如LLM代理)将通过其公共访问URL进行连接。以下是客户端在概念上需要了解的配置信息:
- 服务器名称: 'IT系统状态MCP'。这个名称帮助客户端识别其连接的MCP服务器的功能。
- 启动命令 (Command): 'python'。这是在本地环境中运行MCP服务器时所使用的解释器命令。
- 命令参数 (Args): 'mcp/main.py'。这是指定要运行的MCP服务器主入口脚本。请注意,服务器内部配置为默认监听 '8080' 端口。
- 服务地址 (URL): 'https://your-mcp-server-url.cloudrun.app/mcp'。这是部署在云平台(如Google Cloud Run)上的MCP服务器的实际公共访问端点。MCP客户端将使用此URL与服务器建立HTTP连接。
基本使用方法
一旦MCP服务器部署并运行,LLM代理就可以通过配置的URL连接并调用其暴露的工具。
例如,一个配置了该MCP服务器的LLM代理,可以通过以下方式与服务器交互:
- 查询可用系统: LLM代理可能会发送请求,调用 'get_systems' 工具来获取当前所有可监控的系统列表。
- 获取特定系统状态: 用户向LLM代理提问“数据库的状态是什么?”,代理会调用 'get_system_status("Database")' 工具,获取数据库的实时状态信息,并将其整合到回答中。
- 获取系统错误日志: 当用户询问“Auth Service 最近有什么错误吗?”,代理会调用 'get_system_errors("Auth Service", limit=5)' 工具,获取最近的错误日志,并帮助用户分析问题。
这些工具的调用对终端用户是透明的,LLM代理负责理解用户意图,选择并调用正确的MCP工具,然后将结果呈现给用户。
信息
分类
开发者工具