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 客户端正确处理。

服务器信息