Dispatcher MCP Server

by PhelanShao

352 downloads
Not rated
GitHub

About

An MCP (Model Context Protocol) server that acts as a wrapper around the `dpdispatcher` library. It allows language models or other MCP clients to submit and manage computational jobs on local machines or HPC clusters supported by `dpdispatcher`.

Details

Author
PhelanShao
Downloads
352
Categories
Developer Tools

- Submits new computation jobs via the submit_job tool.
- Checks job status with the query_status tool.
- Cancels running or queued jobs using the cancel_job tool.
- Retrieves result file paths for completed jobs via fetch_result.
- Includes MCP Resources and Prompts for guided interactive job configuration.
- Supports stdio transport for local integration (e.g., with Cline).

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Dispatcher MCP Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install Python 3.x and the required libraries (dpdispatcher, mcp, anyio). Place the server files (fast_server.py, job_manager.py, __init__.py) in a directory (e.g., dispatcher_mcp_server). Configure dpdispatcher if needed (e.g., SSH keys for remote HPCs, Bohrium credentials). Run python dispatcher_mcp_server/fast_server.py from the parent directory. The server listens via stdio and can be integrated with MCP clients (e.g., Cline) by adding a JSON configuration block to the client’s MCP settings.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "dispatcher mcp server": {
            "dpdispatcher-mcp-server": {
                "command": "python",
                "args": [
                    "dispatcher_mcp_server/fast_server.py"
                ]
            }
        }
    }
}

McpServers

{
    "dpdispatcher-mcp-server": {
        "command": "python",
        "args": [
            "dispatcher_mcp_server/fast_server.py"
        ]
    }
}

Dispatcher MCP Server

An MCP (Model Context Protocol) server that acts as a wrapper around the dpdispatcher library. It allows language models or other MCP clients to submit and manage computational jobs on local machines or HPC clusters supported by dpdispatcher.

Features

Exposes dpdispatcher functionality via standard MCP tools.
submit_job: Submits a new computation job.
query_status: Checks the status of a submitted job.
cancel_job: Attempts to cancel a running or queued job.
fetch_result: Retrieves the paths of result files for a completed job.
Includes MCP Resources and Prompts to guide interactive job configuration.
Supports stdio transport for local integration (e.g., with Cline).

Setup

1. Prerequisites:
Python 3.x
dpdispatcher library installed (pip install dpdispatcher)
mcp library installed (pip install mcp)
* anyio library installed (pip install anyio)

2. Clone/Place Files: Ensure fast_server.py and job_manager.py (and __init__.py) are within a directory (e.g., dispatcher_mcp_server).

3. Configure dpdispatcher: If submitting to remote HPCs or Bohrium, ensure dpdispatcher itself is correctly configured (e.g., SSH keys, Bohrium credentials).

Running the Server

Navigate to the parent directory containing dispatcher_mcp_server and run:

python dispatcher_mcp_server/fast_server.py

The server will start and listen via stdio.

Integration with MCP Clients (e.g., Cline)

Add the following configuration to your client's MCP settings (e.g., mcp_settings.json for Cline), adjusting paths as necessary:

{
  "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
    }
  }
}

Restart the client to load the server.

Usage

Interact with the server using an MCP client. You can directly call tools like submit_job by providing the necessary arguments (machine config, resources config, task details), or use the configure_job prompt to guide an LLM through an interactive configuration process. Helper resources like dpd://examples/machine/{type} are available for context.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.