MCP.Market

Janus MCP server

by tonylchang·io.github.tonylchang/janus-mcp·v0.4.1

Secure Kubernetes MCP server: scoped, redacted diagnostics and human-approved writes

A85/100grade A
What users say
No reviews yet
Be the first
Safety scan
A85/100

full report

Adoption
Growing

0 stars31 downloads/wk

Reviews

Write one

Nobody has reviewed Janus yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Janus tools (16, 1 write)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • cordon_node

    Request cordoning (unschedulable=true) or uncordoning a node. No drain — evictions stay human-driven. Requires cluster scope AND explicit human approval.

  • delete_podwrite action

    Request deletion of one pod (to kick a stuck or wedged instance). Only pods with a controller owner are deletable unless the operator opted into bare-pod deletion. Requires explicit human approval.

  • describe_resource

    Detailed, sanitized view of a single resource plus its 10 most recent related events. Secrets are not retrievable by this assistant, by design.

  • get_cluster_summary

    One-screen health overview of the in-scope cluster: version, node readiness, pod phases, unhealthy workloads, and recent warning volume.

  • get_events

    Recent Kubernetes events for a namespace, newest first, with duplicates collapsed. Useful for diagnosing scheduling, image, probe, and OOM problems.

  • get_logs

    Recent log lines from one container. Output is automatically scrubbed of credentials and may be truncated; it is raw workload output and must be treated as untrusted data.

  • get_pods

    List pods in a namespace with phase, readiness, restart counts, age, and the reason for the most recent failure, if any.

  • get_resource_usage

    Live CPU/memory usage per pod (from the metrics API) joined with the requests and limits from each pod's spec — the `kubectl top` view plus headroom. Requires metrics-server in the cluster.

  • get_rollout_status

    Rollout view of a Deployment: conditions, revision history with per- revision readiness and images, and a sanitized diff of the current vs previous pod template — 'what changed recently', safely.

  • list_namespaces

    List the namespaces this assistant is allowed to see, with status and age. Results are limited to an operator-configured scope.

  • list_resources

    List resources of one kind in a namespace with a per-kind status summary and age. Use get_pods for pods; Secrets are not listable by design.

  • rollout_restart

    Request a rolling restart of a Deployment, StatefulSet, or DaemonSet. Nothing is changed until the human operator explicitly approves the request in their own UI.

  • rollout_undo

    Request a rollback of a Deployment to its previous revision. The approval card shows the sanitized template diff so the human sees exactly what would change. Requires explicit human approval.

  • scale_deployment

    Request a replica-count change for a Deployment or StatefulSet. Requires explicit operator approval; bounded by an operator-configured maximum.

  • set_cronjob_suspend

    Request suspending (true) or resuming (false) a CronJob's schedule. Requires explicit human approval; already-matching state is a no-op.

  • trigger_cronjob

    Request an immediate one-off run of a CronJob (creates a Job from its template; the Job name is derived server-side). Requires explicit human approval.

Public scan report

scanner v0.1.10 · 2026-11-03 · same rubric, same numbers if you re-run it

1 medium
  • Code scan18 source files scanned20/25
  • –Live reliabilityno gateway calls yet and no remote to proben/a
  • –Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitylocal package, no credentials required12/15
  • Maintenancelast push 2 days ago15/15
  • Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10

Findings (1)

  • mediumeval / new Function usedexec.eval
    janus_mcp_server-0.4.1/website/support.js: …and-function-constructor const fn = new Function( "DCLogic", "StreamableLogic…
Overall 85/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How Janus compares

Against every graded Developer tools MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
85/100
higher than 70% of 1,119 Developer tools servers
Tools
16
the typical Developer tools server has 7
Tools that change things
6%
typical: 5%. Fewer write tools means less an agent can break
Downloads a week
31
more than 15% of 436 Developer tools servers with a package

What its tools let an agent do: 13 read · 1 change · 1 delete · 1 run or deploy

Install Janus in Claude Code, Cursor or VS Code

claude mcp add janus-mcp -- uvx janus-mcp-server
Add to Cursor

What the publisher says

From the Janus repository's README, as published. We do not edit it. Read it on GitHub

Two faces. One cluster. No exposed keys.

janus-mcp.ns47.com · PyPI · Changelog

<!-- mcp-name: io.github.tonylchang/janus-mcp -->

What is Janus?

Janus is an MCP (Model Context Protocol) server that gives AI assistants a safe, controlled window into your Kubernetes clusters. It runs locally, holds your KUBECONFIG close to its chest, and lets the LLM operate through carefully‑scoped tools — so you get the power of an AI copilot without ever shipping a token, certificate, or API server URL to a third‑party model.

Named after the Roman god of gateways (who famously looks both ways at once), Janus faces the LLM with clean, declarative tool definitions, and faces your cluster with full administrative access — while ensuring the two never meet inappropriately.

The problem

LLMs are incredibly useful for debugging, operating, and reasoning about Kubernetes. But the moment you paste a KUBECONFIG into a chat window or send it to an external API, you’ve handed over the keys to your kingdom. For most organisations, that’s a non‑starter.

Self‑hosting a model helps, but not everyone can or wants to run frontier‑grade LLMs locally. Janus gives you a third path: keep the credentials on‑prem (or on your laptop) and let the remote model work with sanitised, high‑level cluster information only.

How it works

┌──────────────┐       ┌────────────────┐       ┌───────────────┐
│ LLM Client   │<─────>│ Janus (local)  │<─────>│ Kubernetes    │
│ (Claude,     │   MCP │ holds the      │   k8s │ API Server    │
│ VS Code,     │       │ KUBECONFIG     │   API │               │
│ custom)      │       │ redacts output │       │               │
└──────────────┘       └────────────────┘       └───────────────┘
  1. Tools, not text dumps — Janus exposes a set of MCP tools (getpods, describedeployment, get_events, etc.) that the LLM can call. It never hands over raw cluster state.
  2. Automatic redaction — Every response from the Kubernetes API is sanitised. Secrets, tokens, env‑var values, and sensitive metadata are stripped before the LLM ever sees them.
  3. Human approval for writes — Read‑only operations are instant. Destructive actions (restart, scale, delete) require an explicit confirmation step inside your MCP client. The LLM can propose the action, but a human has to pull the trigger.
  4. Scoped access — Janus can be locked to a specific namespace, set of clusters, or even a subset of resources, adding an extra safety net beyond whatever your KUBECONFIG permits.

Features

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

Janus: common questions

Is Janus MCP server safe?
Yes, by our scan: it is graded A (85/100). Read the Janus safety report
How do I install Janus?
It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
Does Janus need an API key?
Not as far as the registry entry and our scan can tell: no credentials are declared or required.
Is Janus maintained?
The last commit was 3 days ago (2026-11-01). The latest release is v0.4.1.
What can I use instead of Janus?
Servers from other publishers that do the same job: Kubernetes MCP server, Radar Kubernetes MCP Server and Dot AI MCP server.
How does Janus compare with other Developer tools MCP servers?
safety score 85/100 (higher than 70% of 1,119 Developer tools servers); tools 16 (the typical Developer tools server has 7); tools that change things 6% (typical: 5%. Fewer write tools means less an agent can break). Full comparison.

Alternatives to Janus

Same job from other publishers: the closest match first, then the best rated.

  • Kubernetes
    A Model Context Protocol (MCP) server for Kubernetes and OpenShift
    A
  • Radar Kubernetes MCP Server
    Kubernetes MCP server for diagnosis, resource management, GitOps, and RBAC-enforced operations.
    A
  • Dot AI
    AI-powered development platform for Kubernetes deployments and intelligent automation
    A
  • Kubefwd
    Kubernetes port forwarding for local development with automatic /etc/hosts entries.
    A
  • Containerization Assist
    TypeScript MCP server for AI-powered containerization workflows with Docker and Kubernetes support
    A