Cronitor MCP 服务器端实现

使用说明(简要清单,便于快速上手)

  • 项目简介
    • Cronitor CLI 内置一个 MCP 服务器,实现了通过 MCP 客户端与 Cronitor Dashboard 后端之间的上下文与功能协同。
    • 服务器核心职责包括:托管和管理 Resources (资源) 作为数据入口、注册和执行 Tools (工具) 以调用外部功能、定义与渲染 Prompt 模板,以及通过 JSON-RPC/stdio 与客户端通信。
  • 主要功能点
    • MCP 服务器端实现:绑定 MCPServer,基于 stdio 传输,处理来自 MCP 客户端的请求。
    • 资源管理:暴露 crontabs、jobs 等资源,允许客户端查询并获取数据。
    • 工具注册与执行:提供创建、列出、更新、删除等 Cronitor 相关操作的工具接口,客户端可通过 MCP 调用实现对后端的操作。
    • 认证与会话:集成后端 API 的鉴权与会话管理,确保 MCP 客户端访问数据的安全性。
    • 数据渲染与描述:将任务、计划描述等信息以结构化数据返回,便于客户端渲染和显示。
    • 支持多实例:通过 --mcp-instance 参数绑定不同 MCP 实例,便于在同一服务器上管理多套 MCP 通道。
  • 安装与运行
    • 该仓库的 MCP 服务并非独立的可执行程序,需要结合 Cronitor 的 Dash 服务器一同运行。
    • 服务器启动流程(参考实现片段):
      • 先在服务器上启动 Cronitor Dashboard 的 Web 服务(cronitor dash)。
      • 使用 MCP 客户端配置,以默认默认实例 default 通过 stdio 连接到 MCP 服务。具体为在客户端配置中指定启动命令和参数,以让 MCP 客户端通过 stdio 与 MCP 服务器通信。
  • 服务器配置(针对 MCP 客户端使用的 JSON 配置示例) 配置示例(替换为你实际环境的值;以下信息用于 MCP 客户端的连接配置,不需要客户端在服务器端代码中自行实现) { "server_name": "default", "command": "cronitor", "args": ["dash", "--mcp-instance", "default"] } 注释说明:
    • server_name:MCP 服务器实例名称,便于客户端区分和展示。
    • command:用于启动 MCP 客户端的命令(在这个实现中,客户端需要通过执行 cronitor dash 来连接 MCP 服务器)。
    • args:启动参数数组,按顺序提供给上述命令;示例中通过 --mcp-instance 指定默认实例。 客户端配置用途说明:
    • MCP 客户端只需知道如何启动并与 MCP 服务器建立 stdio 通道,不需要实现服务器端逻辑。
    • 服务器端实现会处理来自 MCP 客户端的 JSON-RPC 请求,返回相应的资源、工具和监控信息。
  • 基本使用方法
    • 在服务器端:确保 Cronitor Dashboard Web 服务正常运行,然后通过 dash 命令启动 MCP 实例(示例中为 default)。
    • 在 MCP 客户端:按上述 JSON 配置提供 server_name、command 与 args,启动后客户端与 MCP 服务器通过标准输入/输出建立通信,进行资源查询、工具调用和数据渲染。
    • 客户端可以通过 MCP 提供的工具和资源进行信息查询、创建/修改任务、执行命令等操作,后端会通过 REST APIs 与 Cronitor Dashboard 对接以完成实际操作。

服务器信息