OpenSearch Launchpad MCP Server
使用说明(Markdown格式)
-
项目简介
- OpenSearch Launchpad 是一个基于 MCP 协议的后端服务器,面向 LLM 客户端提供可标准化访问的资源、工具和 Prompt 渲染能力,支持会话管理、能力声明以及多传输协议(如 STDIO、SSE、WebSocket)。
- 服务器核心通过 JSON-RPC 接收客户端请求(如读取资源、注册与执行工具、获取 Prompt 模板等),并返回标准化的 JSON-RPC 响应或通知。
-
主要功能点
- 资源与数据访问:管理和读取可用的样本数据、字段映射、数据模型等资源。
- 工具注册与执行:暴露一组 MCP 工具,LLM 客户端可通过工具驱动后端执行任务(如加载样本、创建索引、执行计划、验证能力等)。
- Prompt 模板与渲染:提供可渲染的提示模板,帮助 LLM 客户端理解工作流阶段与交互模式,并渲染出可执行的计划与结果。
- 会话与能力声明:会话管理、能力阈值/策略声明,以及执行阶段的状态跟踪与回放,支持多种传输协议。
- 安全与扩展:内置会话保护、错误处理、重试机制与可扩展的工具集,能够在 MCP 客户端(如 Claude Desktop、MCP Inspector、Kiro 等)中以标准工具形式使用。
- JSON-RPC 通信:服务器端遵循 MCP 的 JSON-RPC 请求/响应格式,确保与任意 MCP 客户端的互操作性。
-
安装与运行步骤
- 依赖与环境准备:需要 Python 运行环境与 MCP 框架运行所需的依赖(参考仓库中的 README/模块实现)。在本地开发环境中可使用 uv/uvx 进行 MCP 服务器部署。
- 启动方式(优先使用 MCP 客户端推荐的启动方式):
- 使用 uvx 启动最新版本的 MCP 服务
- 直接从 Python 启动 MCP 服务器脚本(如 mcp_server.py)以开发模式运行
- 服务器启动示例(请根据实际运行环境选择合适的启动方式):
- uvx opensearch-launchpad@latest
- uv run opensearch_orchestrator/mcp_server.py 以上启动方式会暴露 MCP 服务器的工具、资源和 Prompts,客户端可通过标准 MCP 客户端进行交互。
-
服务器配置(MCP 客户端连接所需信息)
- 服务器名称: opensearch-launchpad
- 启动命令: uvx
- 启动参数(示例,具体取决于部署方式): ["opensearch-launchpad@latest"]
- 配置说明(JSON 形式,供 MCP 客户端查看,不需要在客户端部署代码): { "server_name": "opensearch-launchpad", "command": "uvx", "args": ["opensearch-launchpad@latest"] }
- 附注
- MCP 客户端在连接 MCP 服务器时无需包含实现细节代码,仅需知晓服务器名称、启动命令与参数,即可据此建立连接并调用 MCP 提供的工具与接口。
- 若需要环境变量、数据源或云服务的私密信息,请通过安全的凭据管理方式提供,避免在公开配置中暴露敏感信息。
-
基本使用方法
- 连接与探索
- 使用 MCP 客户端连接后,调用服务器暴露的工具列表(如 load_sample、set_preferences、start_planning、execute_plan 等),逐步完成样本加载、偏好设置、计划起草与执行。
- 通过 prompts/list 读取可用的 Prompt 模板,用于与 LLM 进行结构化对话和上下文渲染。
- 工作流示例
- 通过工具序列加载样本数据、设定预算与性能偏好、启动规划阶段、提交执行计划、进行能力验证、再启动 UI 等步骤,实现端到端的 MCP 流程。
- 返错与恢复
- MCP 服务器具备会话管理和错误处理能力,遇到错误时将返回标准化错误信息与恢复路径,帮助客户端继续执行或回退。
- 运维与扩展
- 服务端支持扩展新的资源与工具、调整 Prompt、修改工作流阶段及规则,确保对不同 LLM 客户端的兼容性与可维护性。
- 连接与探索
-
重要注意事项
- MCP 客户端需要的仅是服务器的启动命令与参数、以及服务器导出的工具清单即可进行交互,不需要知道服务器的内部实现细节。
- 服务器应提供稳定的 JSON-RPC 响应、可观测的状态信息以及明确的错误信息,以便 MCP 客户端正确处理。