Skip to main content

MCP (Model Context Protocol) server for Joblet job orchestration system

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

joblet_mcp_server-1.1.4.tar.gz (15.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

joblet_mcp_server-1.1.4-py3-none-any.whl (11.9 kB view details)

Uploaded Python 3

File details

Details for the file joblet_mcp_server-1.1.4.tar.gz.

File metadata

  • Download URL: joblet_mcp_server-1.1.4.tar.gz
  • Upload date:
  • Size: 15.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for joblet_mcp_server-1.1.4.tar.gz
Algorithm Hash digest
SHA256 b3f14051199d0ec6c8552351d675f943be1c4334bb6fb59921195c8f126b4f3e
MD5 4e2e83f540975108065da56181970c95
BLAKE2b-256 c033ccc8d2f07b3fd8d120ec9f97fc9b829ff62f07e2bde248ccba157926503d

See more details on using hashes here.

Provenance

The following attestation bundles were made for joblet_mcp_server-1.1.4.tar.gz:

Publisher: release.yml on ehsaniara/joblet-mcp-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file joblet_mcp_server-1.1.4-py3-none-any.whl.

File metadata

File hashes

Hashes for joblet_mcp_server-1.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 49c94a725042ec96a44e18ada344ca745cdf3159e56886fbc3b253b5cfe8598a
MD5 aeae3d79f466a7e80c6ee9d07a253745
BLAKE2b-256 13c1bf7ca585e9ccef451958fc789a06dda61f00cffafb52212098696c6347cc

See more details on using hashes here.

Provenance

The following attestation bundles were made for joblet_mcp_server-1.1.4-py3-none-any.whl:

Publisher: release.yml on ehsaniara/joblet-mcp-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page