项目简介

Cronicorn MCP 服务器是 Model Context Protocol (MCP) 标准的实现,旨在将 Cronicorn 的强大自适应任务调度能力暴露给大型语言模型 (LLM) 客户端。它允许 AI 助手以标准化的方式管理、监控和交互 Cronicorn 中定义的作业和端点,实现智能化的任务自动化。

主要功能点

  • 资源管理: 托管 Cronicorn 的文档作为可供 LLM 查阅的资源,帮助 AI 理解 Cronicorn 的概念和使用方式。
  • 工具调用: 提供一系列工具,允许 LLM 执行以下操作:
    • 创建、获取、列出、更新、归档、暂停和恢复任务作业。
    • 为现有作业添加、更新、删除、获取和列出执行端点。
    • 对端点应用自适应调度提示(如调整执行间隔、安排单次运行、暂停/恢复)。
    • 清除端点上的所有 AI 提示,或重置失败计数。
    • 获取端点运行历史、详细运行日志和健康摘要。
    • 获取聚合的仪表盘统计数据。
  • 安全认证: 通过 OAuth 2.0 Device Authorization Grant 机制与 Cronicorn API 进行安全认证,确保只有授权的 AI 助手才能访问和管理任务。
  • 标准通信: 支持 Stdio 传输协议,通过 JSON-RPC 与 MCP 客户端通信,提供稳定的交互框架。

安装步骤

在本地运行 Cronicorn MCP 服务器,您需要先确保已安装 Node.js 和 pnpm。

  1. 克隆仓库:
    git clone https://github.com/weskerllc/cronicorn.git
    cd cronicorn
  2. 安装依赖:
    pnpm install
  3. 构建 MCP 服务器:
    pnpm build --filter=@cronicorn/mcp-server
  4. 启动 Cronicorn API 服务器 (可选,推荐): 如果您希望 MCP 服务器能够与完整的 Cronicorn 应用程序交互,您需要启动 Cronicorn API 和相关服务:
    pnpm db # 启动数据库
    pnpm db:migrate # 运行数据库迁移
    pnpm dev # 启动 Cronicorn Web 和 API 服务
    API 服务器默认运行在 'http://localhost:3333'。
  5. 运行 MCP 服务器:
    pnpm start --filter=@cronicorn/mcp-server
    首次运行时,MCP 服务器会提示您进行 OAuth 设备授权流程。您需要在浏览器中访问一个URL并输入提供的用户代码进行确认,以便 MCP 服务器获取访问 Cronicorn API 的权限。

服务器配置

MCP 客户端需要以下 JSON 格式的配置信息才能连接到 Cronicorn MCP 服务器:

{
  "server": {
    "name": "cronicorn",
    "command": "pnpm",
    "args": ["start", "--filter=@cronicorn/mcp-server"],
    "description": "Cronicorn MCP 服务器,提供智能任务调度和管理功能。"
  },
  "authentication": {
    "type": "oauth2_device_flow"
  }
}
  • 'server.name': MCP 服务器的唯一名称,用于客户端识别。
  • 'server.command': 用于启动 MCP 服务器的命令行可执行文件(例如,'pnpm')。
  • 'server.args': 传递给 'command' 的参数列表,用于启动 Cronicorn MCP 服务器。这些参数告诉 'pnpm' 运行哪个项目('start --filter=@cronicorn/mcp-server')。
  • 'server.description': MCP 服务器的简要描述,供客户端或用户参考。
  • 'authentication.type': 指示认证类型为 OAuth 2.0 设备流,服务器启动时会引导用户完成认证过程。

基本使用方法

启动 Cronicorn MCP 服务器并完成认证后,它将通过标准输入输出 (Stdio) 接口等待 MCP 客户端的连接和请求。MCP 客户端(例如 AI 助手或专门的工具)可以通过 JSON-RPC 协议与服务器通信,执行以下操作:

  1. 发现能力: 客户端可以请求服务器声明其支持的所有工具和资源,了解 Cronicorn 提供的功能。
  2. 调用工具: AI 助手可以根据需要调用 Cronicorn 的工具。例如,为了创建一个新的自适应 HTTP 作业,AI 可以调用 'POST_jobs' 工具并提供作业名称和描述。之后,可以调用 'POST_jobs_jobId_endpoints' 来为该作业添加具体的执行端点。
  3. 获取资源: 客户端可以请求 Cronicorn 的文档资源,以获取关于如何使用各项功能的详细说明或特定概念的解释。
  4. 智能交互: AI 可以根据系统状态或用户指令,调用自适应调度工具,如 'POST_endpoints_id_hints_interval' 来调整端点的执行频率以应对高负载,或 'POST_endpoints_id_pause' 来暂停某个端点进行维护。

信息

分类

AI与计算