Dispatcher MCP Server
by PhelanShao
The Dispatcher MCP Server is a wrapper around the `dpdispatcher` library, enabling language models and other MCP clients to submit and manage computational jobs. It supports local machines and HPC clusters through standard MCP tools.
Last updated: N/A
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
dpdispatcherfunctionality 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
-
Prerequisites:
- Python 3.x
dpdispatcherlibrary installed (pip install dpdispatcher)mcplibrary installed (pip install mcp)anyiolibrary installed (pip install anyio)
-
Clone/Place Files: Ensure
fast_server.pyandjob_manager.py(and__init__.py) are within a directory (e.g.,dispatcher_mcp_server). -
Configure
dpdispatcher: If submitting to remote HPCs or Bohrium, ensuredpdispatcheritself 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.