Dispatcher MCP Server
@PhelanShao
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`.
Overview
What is Dispatcher MCP Server?
An MCP (Model Context Protocol) server that wraps the dpdispatcher library, allowing language models or other MCP clients to submit and manage computational jobs on local machines or HPC clusters supported by dpdispatcher.
How to use Dispatcher MCP Server?
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.
Key features of Dispatcher MCP Server
- Submits new computation jobs via the
submit_jobtool. - Checks job status with the
query_statustool. - Cancels running or queued jobs using the
cancel_jobtool. - 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).
Use cases of Dispatcher MCP Server
- Submit computational jobs to local machines or HPC clusters through an LLM interface.
- Monitor job progress and retrieve results programmatically via MCP clients.
- Cancel jobs that are no longer needed without manual intervention.
- Guide an LLM through an interactive job configuration process using built-in prompts.
FAQ from Dispatcher MCP Server
What does Dispatcher MCP Server do?
It acts as a wrapper around the dpdispatcher library, exposing its job submission and management functions (submit, query, cancel, fetch result) as standard MCP tools for use by language models or other MCP clients.
What are the runtime dependencies?
Python 3.x is required, along with the dpdispatcher, mcp, and anyio libraries (all installable via pip).
How do I configure dpdispatcher for remote HPCs?
If submitting to remote HPC clusters or Bohrium, ensure dpdispatcher itself is correctly configured (e.g., SSH keys for HPCs, Bohrium credentials). The server does not manage these credentials.
What transport does the server use?
The server uses stdio transport (standard input/output). It is designed for local integration with MCP clients running in the same process environment.
How do I integrate Dispatcher MCP Server with Cline?
Add a JSON block to your Cline MCP settings (e.g., mcp_settings.json) specifying the command (python), arguments (dispatcher_mcp_server/fast_server.py), the working directory, and optionally the PYTHONPATH environment variable. Then restart the client.