IBM Cloud Logs MCP 服务器
使用说明(Markdown 格式)
-
项目简介
- 该仓库实现了一个完整的 MCP 后端服务器,用 Go 语言编写,旨在提供对 IBM Cloud Logs 的上下文服务能力。它通过 MCP 协议向 LLM 客户端暴露资源、工具和 Prompts,并通过 JSON-RPC 进行请求响应。
-
主要功能点(概览)
- 资源管理:提供对日志资源和配置信息的读取、监控和健康检查等能力。
- 工具注册与执行:实现大量 MCP 工具(如查询、告警、仪表盘、流、E2M 等),支持工具的执行、参数校验、结果格式化与缓存。
- 提示模板与 Prompt 渲染:定义与渲染可自定义的 Prompt 模板,帮助 LLM 客户端与后端实现更高效的对话交互。
- JSON-RPC 通信:服务端接收并返回符合 MCP 的 JSON-RPC 请求/响应,便于 LLM 客户端进行统一调用。
- 会话与能力管理:维护会话状态、能力声明、以及跨请求的上下文信息。
- 多传输协议支持:设计目标包含通过标准输入输出、服务器端事件、WebSocket 等多种传输协议实现通信。
- 安全与健壮性:集成认证、重试、限流、健康检查与度量,确保生产环境可观测与稳定。
-
安装步骤
- 直接从源码构建(推荐用于开发与测试环境):
- 需要安装 Go 1.23 及以上版本与 Make 工具。
- 执行依赖安装与构建命令,生成 logs-mcp-server 二进制文件。
- 运行可执行文件以启动 MCP 服务。服务会读取环境变量配置(如 IBM 云凭证、服务地址等)来连接外部 API。
- 安装来自包管理器(若仓库提供了发行包或 Homebrew 等):
- 使用 Homebrew 安装并检测版本,然后直接运行 logs-mcp-server。
- 运行前置条件(环境变量说明,示意性占位,请替换为实际值):
- 需要提供 IBM Cloud 的 API Key、服务端点等用于对 IBM Cloud Logs 进行身份认证和访问的凭据。
- 配置文件/环境变量用于指定服务端点、区域、实例名称等上下文信息。
- 服务器启动后可以通过 Claude Desktop、Copilot 以及其他 MCP 客户端建立连接,客户端需要提供服务器的启动命令及参数以建立连接。
- 直接从源码构建(推荐用于开发与测试环境):
-
服务器配置(MCP 客户端需要的配置示例) 该配置用于 MCP 客户端在连接 MCP 服务器时进行初始引导。包含服务器名称、启动命令以及参数信息等说明。请将具体的值替换为实际运行时的参数。 { "server_name": "ibm-cloud-logs", "command": "logs-mcp-server", "args": [ "--config", "/etc/logs-mcp/config.yaml" ], "env": { "LOGS_SERVICE_URL": "https://<instance-id>.api.<region>.logs.cloud.ibm.com", "LOGS_API_KEY": "<your-ibm-cloud-api-key>" }, "notes": "该配置用于 MCP 客户端在启动时连接到 MCP 服务器,命令为可执行二进制名称,参数按实际部署路径调整。环境变量用于 IBM Cloud Logs 的认证及服务定位,务必妥善管理密钥。" }
-
基本使用方法
- 启动服务器后,使用支持 MCP 的客户端发起 JSON-RPC 请求,进行资源读取、工具调用、Prompts 获取等操作。
- 通过服务器端的会话管理实现对话状态的保持、能力协商及多轮对话能力扩展。
- 如需集成分析、告警、仪表盘等高级功能,可通过 MCP 工具调用和 Prompts 实现自动化工作流。
-
其他注意事项
- 请确保在生产环境中使用 TLS/加密连接、密钥轮换和最小权限原则的凭证策略。