返回市场
MCP任务调度服务器

MCP任务调度服务器

作者:jasona73 星标更新:2025-03-25

项目介绍

MCP Crontab Explorer

基于终端界面的工具,用于通过模型上下文协议(MCP)探索和监控crontab条目。此工具提供了一个直观的界面,用于检查计划任务、查看其状态以及在不离开终端环境的情况下查看最近的日志。采用客户端-服务器架构,它将系统访问与展示问题分开,允许代码组织清晰且易于维护。

功能

  • 丰富的终端UI:漂亮的表格和格式化输出
  • 日志查看:查看最近的cron作业执行日志
  • 搜索功能:查找包含特定术语的crontab条目

架构

MCP Crontab Explorer由两个主要组件组成:

  1. 服务器 (mcp_crontab_server.py):一个自定义的HTTP服务器,实现了模型上下文协议。它使用FastMCP库注册工具并通过HTTP端点公开它们。

  2. 客户端 (mcp_crontab_client_http.py):一个丰富的终端UI,使用HTTP请求与服务器通信,并使用Rich库进行格式化显示结果。

这种架构展示了:

  • 服务器端MCP实现及工具注册
  • 组件之间的基于HTTP的通信
  • 系统访问(服务器)与展示(客户端)之间职责的清晰分离

安装

预备条件

  • Python 3.7+
  • pip(Python包管理器)

安装依赖

pip install rich requests fastmcp

启动服务端和客户端:

python mcp_crontab_server.py
python mcp_crontab_client_http.py

一旦客户端运行起来,您将看到以下选项菜单:

  1. 列出crontab条目:显示所有cron作业
  2. 显示最近的日志:查看最近的cron作业执行日志
  3. 搜索crontab条目:查找包含特定术语的条目
  4. 退出:关闭浏览器

示例输出

    ╭────────────────────────────────────╮
    │ MCP Crontab Explorer (HTTP Client) │
    ╰────────────────────────────────────╯
    使用模型控制协议(MCP)监控crontab条目的工具。

    正在连接到位于http://127.0.0.1:8000的MCP服务器
    检查服务器是否正在运行...
    套接字连接成功
    尝试使用curl的HTTP请求...
    Curl HTTP状态:200
    服务器正在运行!
    请求工具列表...
    工具响应状态:200
    成功解析工具:找到3个
    连接到服务器。找到3个可用工具。

                                    可用的MCP工具                                  
    ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
    ┃ 工具名称                   ┃ 描述                                           ┃
    ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
    │ show_scheduled_task_summary │ 显示最近相关的cron日志输出              │
    │ search_crontab_entries      │ 查找包含特定术语的crontab条目           │
    │ check_server_status         │ 检查MCP服务器的状态                       │
    └─────────────────────────────┴───────────────────────────────────────────────────────┘

    可用命令:
        1. 显示最近的日志
        2. 搜索crontab条目
        3. 检查服务器状态
        4. 退出
        输入命令编号 [1/2/3/4] (1): 3
        正在检查服务器状态...
        JSON响应:
        {
        "status": "在线",
        "server_name": "MCP Crontab Explorer Server",
        "version": "1.0.0",
        "tools_available": 3,
        "pid": 516632,
        "timestamp": "2025-03-24T17:00:04.066705"
        }

        可用命令:
        1. 显示最近的日志
        2. 搜索crontab条目
        3. 检查服务器状态
        4. 退出
        输入命令编号 [1/2/3/4] (1): 4
        退出MCP Crontab Explorer。再见!

MCP一致性

Crontab Explorer以以下方式实现模型上下文协议:

  • 服务器端MCP:使用FastMCP库通过@mcp.tool()装饰器注册工具
  • 工具发现:实现/tools端点,返回可用工具列表
  • 工具执行:支持通过HTTP POST请求调用工具至/tools/{tool_name}
  • 标准响应格式:以一致的JSON格式返回工具结果

客户端使用标准HTTP请求而不是特定于MCP的客户端库,使其兼容任何HTTP客户端,同时在服务器端保持核心MCP模式。

要求

  • fastmcp
  • rich
  • requests