项目简介

Solace平台MCP服务器仓库包含了为不同Solace产品定制的Model Context Protocol (MCP) 服务器实现。这些服务器使LLM能够通过标准化的JSON-RPC协议,安全地访问Solace事件代理和相关产品的实时数据、指标,并执行管理操作,从而实现基于自然语言的交互和自动化。

主要功能点

  • 监控与数据检索: LLM可以实时监控Solace事件代理,并获取各种Solace产品的运行指标和操作数据。
  • 自然语言管理: 允许LLM通过自然语言指令执行Solace产品的管理操作。
  • 拓扑和配置访问: 提供对事件网格拓扑结构和配置信息的访问能力。
  • 消息流分析: 支持分析消息流模式和性能指标。
  • 工具调用: 将Solace API操作封装为LLM可调用的“工具”,实现外部功能集成。
  • 标准化通信: 通过JSON-RPC协议与MCP客户端进行通信,确保交互的一致性和可预测性。

安装步骤

  1. 克隆仓库: 首先,将此GitHub仓库克隆到本地。
    git clone https://github.com/SolaceLabs/solace-platform-mcp.git
    cd solace-platform-mcp
  2. 安装依赖: 确保您的Python环境已安装所需库:
    • 对于 Solace监控MCP服务器 ('solace-monitoring-mcp-server'):
      pip install python-dotenv requests
    • 对于 Solace Event Portal Designer MCP服务器 ('solace-event-portal-designer-mcp'):
      pip install fastmcp httpx

服务器配置

MCP服务器通常通过环境变量进行配置,并通过MCP客户端启动。以下是一个MCP客户端配置Solace监控MCP服务器和Solace Event Portal Designer MCP服务器的示例(JSON格式):

{
  "mcpServers": {
    "solace-monitoring-mcp-server": {
      "command": "python3",
      "args": ["solace-monitoring-mcp-server/solace_monitoring_mcp_server.py"],
      "env": {
        "OPENAPI_SPEC": "path/to/semp-v2-swagger-monitor.json",
        "SOLACE_SEMPV2_BASE_URL": "http://localhost:8080",
        "SOLACE_SEMPV2_USERNAME": "your_semp_username",
        "SOLACE_SEMPV2_PASSWORD": "your_semp_password",
        "SOLACE_SEMPV2_AUTH_METHOD": "basic",
        "MCP_LOG_LEVEL": "INFO",
        "MCP_LOG_FILE": "monitoring_mcp_server.log",
        "MCP_LOG_DISABLE": "false",
        "MCP_API_INCLUDE_TAGS": "broker",
        "MCP_API_EXCLUDE_METHODS": "POST,PUT,DELETE"
      }
    },
    "solace-event-portal-designer-mcp": {
      "command": "python3",
      "args": ["solace-event-portal-designer-mcp/src/solace_event_portal_designer_mcp/server.py"],
      "env": {
        "SOLACE_API_BASE_URL": "https://api.solace.cloud",
        "SOLACE_API_TOKEN": "your_solace_api_token",
        "MCP_LOG_LEVEL": "INFO",
        "MCP_LOG_FILE": "ep_designer_mcp_server.log"
      }
    }
  }
}

参数注释:

  • 'command': 启动MCP服务器的命令。通常是 'python3'。
  • 'args': 传递给 'command' 的参数列表。其中包含MCP服务器主脚本的相对路径。
  • 'env': 环境变量键值对,用于配置MCP服务器的行为。
    • 通用日志配置:
      • 'MCP_LOG_LEVEL': 日志级别,如 'INFO', 'DEBUG', 'WARNING', 'ERROR'。
      • 'MCP_LOG_FILE': 日志文件路径。
      • 'MCP_LOG_DISABLE': 设置为 'true' 或 'false',控制是否禁用日志(部分服务器可能不支持)。
    • Solace监控MCP服务器 ('solace-monitoring-mcp-server') 特定配置:
      • 'OPENAPI_SPEC': Solace SEMPv2 OpenAPI 规范文件的路径,例如 'path/to/semp-v2-swagger-monitor.json'。
      • 'SOLACE_SEMPV2_BASE_URL': Solace SEMPv2 API 的基础URL,例如 'http://localhost:8080'。
      • 'SOLACE_SEMPV2_USERNAME', 'SOLACE_SEMPV2_PASSWORD': 用于基本认证的Solace SEMPv2 API凭据。
      • 'SOLACE_SEMPV2_AUTH_METHOD': 认证方法,可选 'basic' (基本认证) 或 'bearer' (Bearer Token认证)。
      • 'SOLACE_SEMPV2_BEARER_TOKEN': 用于Bearer Token认证的令牌。
      • 'MCP_API_INCLUDE_METHODS', 'MCP_API_EXCLUDE_METHODS': 通过HTTP方法过滤暴露的API,例如 'GET,POST'。
      • 'MCP_API_INCLUDE_TAGS', 'MCP_API_EXCLUDE_TAGS': 通过OpenAPI标签过滤暴露的API,例如 'config,monitor'。
      • 'MCP_API_INCLUDE_PATHS', 'MCP_API_EXCLUDE_PATHS': 通过API路径过滤暴露的API,例如 '/config,/monitor'。
      • 'MCP_API_INCLUDE_TOOLS', 'MCP_API_EXCLUDE_TOOLS': 通过工具名称(operationId)过滤暴露的API。
    • Solace Event Portal Designer MCP服务器 ('solace-event-portal-designer-mcp') 特定配置:
      • 'SOLACE_API_BASE_URL': Solace Event Portal API 的基础URL,例如 'https://api.solace.cloud'。
      • 'SOLACE_API_TOKEN': 用于Solace Event Portal API的Bearer Token。

基本使用方法

一旦MCP服务器通过上述配置被MCP客户端成功启动,MCP客户端就可以通过标准化的JSON-RPC请求与服务器交互。例如,MCP客户端可以:

  1. 发送 '{"jsonrpc": "2.0", "id": "1", "method": "initialize", "params": {}}' 请求来初始化服务器并获取其能力。
  2. 发送 '{"jsonrpc": "2.0", "id": "2", "method": "mcp.list_tools", "params": {}}' 请求来获取所有可用工具的列表及其描述。
  3. 发送 '{"jsonrpc": "2.0", "id": "3", "method": "mcp.call_tool", "params": {"name": "getBrokerConfig", "arguments": {}}}' (对监控服务器) 或 '{"jsonrpc": "2.0", "id": "4", "method": "mcp.call_tool", "params": {"name": "getApplicationDomains", "arguments": {}}}' (对Event Portal服务器) 来调用具体的Solace API工具,并传递所需参数。

服务器将以JSON-RPC响应的形式返回数据或错误信息。

信息

分类

AI与计算