Skip to main content

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)

Source distribution for joblet-mcp-server 1.1.4
File Size Uploaded
joblet_mcp_server-1.1.4.tar.gz 15.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for joblet-mcp-server 1.1.4
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

1.1.4 This release

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page