计算任务调度服务

一个基于MCP协议的计算任务调度服务器,支持在本地机器或HPC集群上提交和管理计算任务。

  • by PhelanShao
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 PhelanShao/dpdispatcher-mcp-server

使用说明

调度程序MCP服务器

MCP(模型上下文协议)服务器,充当 dpdispatcher 图书馆。它允许语言模型或其他MCP客户端在受支持的本地计算机或HPC集群上提交和管理计算作业 dpdispatcher.

特性

  • 暴露 dpdispatcher 通过标准MCP工具实现功能。
  • submit_job:提交新的计算作业。
  • query_status:检查已提交作业的状态。
  • cancel_job:尝试取消正在运行或排队的作业。
  • fetch_result:检索已完成作业的结果文件的路径。
  • 包括MCP资源和提示,以指导交互式作业配置。
  • 支持stdio传输以实现本地集成(例如,与Cline)。

设置

  1. 先决条件:

    • Python 3.x
    • dpdispatcher 库已安装(pip install dpdispatcher)
    • mcp 库已安装(pip install mcp)
    • anyio 库已安装(pip install anyio)
  2. 克隆/放置文件:确保 fast_server.py 和 job_manager.py (以及 __init__.py)位于目录内(例如。, dispatcher_mcp_server).

  3. 配置 dpdispatcher:如果提交给远程HPC或Bohrium,请确保 dpdispatcher 其本身已正确配置(例如SSH密钥、Bohrium凭据)。

运行服务器

导航到包含以下内容的父目录 dispatcher_mcp_server 并运行:

python dispatcher_mcp_server/fast_server.py

服务器将启动并通过stdio进行监听。

与MCP客户端(如Cline)集成

将以下配置添加到客户端的MCP设置中(例如。, mcp_settings.json 对于Cline),根据需要调整路径:

{
  "mcpServers": {
    "dispatcher-mcp-server": {
      "command": "python",
      "args": [
        "dispatcher_mcp_server/fast_server.py"
      ],
      "cwd": "/path/to/parent/directory/containing/dispatcher_mcp_server",
      "env": {
        "PYTHONPATH": "/path/to/parent/directory/containing/dispatcher_mcp_server"
      },
      "disabled": false
    }
  }
}

重新启动客户端以加载服务器。

用法

使用MCP客户端与服务器交互。您可以直接调用以下工具 submit_job 通过提供必要的参数(机器配置、资源配置、任务详细信息),或使用 configure_job 提示引导LLM完成交互式配置过程。辅助资源,如 dpd://examples/machine/{type} 可用于上下文。