Joblet MCP Server
MCP server for Joblet job orchestration - enables AI assistants to manage distributed computing jobs through the Joblet platform.
Quick Start
# Install
pip install joblet-mcp-server
# Configure (~/.rnx/rnx-config.yml)
mkdir -p ~/.rnx
cp sample_config.yaml ~/.rnx/rnx-config.yml
# Edit with your Joblet server credentials
# Run
joblet-mcp-server
Features
- Jobs - Run, monitor, and manage compute jobs (logs, metrics, telematics)
- Runtimes - List, inspect, test, build, and validate runtime environments
- Storage - Create and manage persistent volumes
- Networks - Configure isolated networks
- Monitoring - Real-time metrics and GPU status
Workflow orchestration is not provided — it was extracted to a separate project and is not part of the Joblet gRPC API / SDK this server uses.
Architecture
The MCP server is one of three client paths to a Joblet server. It lets an AI
assistant drive Joblet, while the rnx CLI serves human operators and
joblet-sdk-python serves other Python programs. All paths converge on the same
gRPC/mTLS API (:50051) and share the same ~/.rnx/rnx-config.yml credentials.
flowchart TB
AI["AI Assistant<br/>(Claude, OpenAI, etc.)"]
USER["Human operator"]
APP["Other Python apps"]
MCP["joblet-mcp-server<br/>(this project)"]
SDKLIB["joblet-sdk-python<br/>(gRPC client library)"]
RNX["rnx CLI"]
JOBLET["Joblet Server<br/>:50051"]
AI -->|" MCP protocol (stdio) "| MCP
MCP -->|" imports "| SDKLIB
USER -->|" shell "| RNX
APP -->|" imports "| SDKLIB
SDKLIB -->|" gRPC / mTLS "| JOBLET
RNX -->|" gRPC / mTLS "| JOBLET
The MCP server reaches Joblet through joblet-sdk-python — a single gRPC hop
over mTLS, the same API the rnx CLI uses for human operators.
Usage
# Run with the default config (~/.rnx/rnx-config.yml)
joblet-mcp-server
# Use a specific config file or node, or enable debug logging
joblet-mcp-server --config /path/to/config.yml --node viewer --debug
The server communicates with the Joblet server over direct gRPC via joblet-sdk-python, which is installed automatically as a dependency.
Configuration
Create ~/.rnx/rnx-config.yml:
version: "3.0"
nodes:
default:
address: "joblet-server.com:50051"
cert: |
-----BEGIN CERTIFICATE-----
# Your client certificate
-----END CERTIFICATE-----
key: |
-----BEGIN PRIVATE KEY-----
# Your private key
-----END PRIVATE KEY-----
ca: |
-----BEGIN CERTIFICATE-----
# Your CA certificate
-----END CERTIFICATE-----
Compatibility
The MCP server reaches Joblet through joblet-sdk-python, so its proto major
is determined by the SDK it pulls — proto v1.x and v2.x do not interoperate.
| MCP Server | via SDK | joblet-proto | Joblet server (= RNX) |
|---|---|---|---|
| v1.1.3+ (current) | SDK ≥ 2.1.1 (2.x) | v2.x | v5.0.2 – v5.6.11 |
| v1.1.0 – v1.1.2 | SDK ≥ 1.1.4 (1.x) | v1.x | v4.5.0 – v5.0.1 |
Latest stack: MCP v1.1.3 ↔ SDK v2.5.1 ↔ Joblet/RNX v5.6.11 (all proto v2). See COMPATIBILITY.md for the full matrix and feature floors.
Requirements
- Python 3.10+
- Joblet server with TLS certificates
- Configuration file at
~/.rnx/rnx-config.yml - joblet-sdk-python >= 2.0.0 (installed automatically as a dependency)
- gRPC/mTLS access to the Joblet server (port 50051)
Documentation
License
MIT
Metadata
Release files for joblet-mcp-server 1.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| joblet_mcp_server-1.1.4.tar.gz | 15.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| joblet_mcp_server-1.1.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 26.9 kB
Release files / joblet_mcp_server-1.1.4.tar.gz
| Download URL | joblet_mcp_server-1.1.4.tar.gz |
|---|---|
| Size | 15.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b3f14051199d0ec6c8552351d675f943be1c4334bb6fb59921195c8f126b4f3e
|
|
BLAKE2b-256 checksum How to use checksums |
c033ccc8d2f07b3fd8d120ec9f97fc9b829ff62f07e2bde248ccba157926503d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 2, 2026.
Transparency logRelease files / joblet_mcp_server-1.1.4-py3-none-any.whl
| Download URL | joblet_mcp_server-1.1.4-py3-none-any.whl |
|---|---|
| Size | 11.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
49c94a725042ec96a44e18ada344ca745cdf3159e56886fbc3b253b5cfe8598a
|
|
BLAKE2b-256 checksum How to use checksums |
13c1bf7ca585e9ccef451958fc789a06dda61f00cffafb52212098696c6347cc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 2, 2026.
Transparency log