基于终端界面的工具,用于通过模型上下文协议(MCP)探索和监控crontab条目。此工具提供了一个直观的界面,用于检查计划任务、查看其状态以及在不离开终端环境的情况下查看最近的日志。采用客户端-服务器架构,它将系统访问与展示问题分开,允许代码组织清晰且易于维护。
MCP Crontab Explorer由两个主要组件组成:
服务器 (mcp_crontab_server.py):一个自定义的HTTP服务器,实现了模型上下文协议。它使用FastMCP库注册工具并通过HTTP端点公开它们。
客户端 (mcp_crontab_client_http.py):一个丰富的终端UI,使用HTTP请求与服务器通信,并使用Rich库进行格式化显示结果。
这种架构展示了:
pip install rich requests fastmcp
启动服务端和客户端:
python mcp_crontab_server.py
python mcp_crontab_client_http.py
一旦客户端运行起来,您将看到以下选项菜单:
╭────────────────────────────────────╮
│ 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。再见!
Crontab Explorer以以下方式实现模型上下文协议:
@mcp.tool()装饰器注册工具/tools端点,返回可用工具列表/tools/{tool_name}客户端使用标准HTTP请求而不是特定于MCP的客户端库,使其兼容任何HTTP客户端,同时在服务器端保持核心MCP模式。