项目简介
Solace平台MCP服务器仓库包含了为不同Solace产品定制的Model Context Protocol (MCP) 服务器实现。这些服务器使LLM能够通过标准化的JSON-RPC协议,安全地访问Solace事件代理和相关产品的实时数据、指标,并执行管理操作,从而实现基于自然语言的交互和自动化。
主要功能点
- 监控与数据检索: LLM可以实时监控Solace事件代理,并获取各种Solace产品的运行指标和操作数据。
- 自然语言管理: 允许LLM通过自然语言指令执行Solace产品的管理操作。
- 拓扑和配置访问: 提供对事件网格拓扑结构和配置信息的访问能力。
- 消息流分析: 支持分析消息流模式和性能指标。
- 工具调用: 将Solace API操作封装为LLM可调用的“工具”,实现外部功能集成。
- 标准化通信: 通过JSON-RPC协议与MCP客户端进行通信,确保交互的一致性和可预测性。
安装步骤
- 克隆仓库: 首先,将此GitHub仓库克隆到本地。
git clone https://github.com/SolaceLabs/solace-platform-mcp.git cd solace-platform-mcp - 安装依赖: 确保您的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
- 对于 Solace监控MCP服务器 ('solace-monitoring-mcp-server'):
服务器配置
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客户端可以:
- 发送 '{"jsonrpc": "2.0", "id": "1", "method": "initialize", "params": {}}' 请求来初始化服务器并获取其能力。
- 发送 '{"jsonrpc": "2.0", "id": "2", "method": "mcp.list_tools", "params": {}}' 请求来获取所有可用工具的列表及其描述。
- 发送 '{"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与计算