io.github.CloudCorpRecords/clusterport
Core kubectl operations: get, describe, logs, apply, scale, patch, rollout and explain.
التثبيت
أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: .cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).
@reneturcios/clusterportclaude mcp add clusterport -- npx -y @reneturcios/clusterport@0.1.0 mcp
{
"mcpServers": {
"clusterport": {
"command": "npx",
"args": [
"-y",
"@reneturcios/clusterport@0.1.0",
"mcp"
]
}
}
}
ghcr.io/cloudcorprecords/clusterport:0.1.0claude mcp add clusterport -- docker run -i --rm ghcr.io/cloudcorprecords/clusterport:0.1.0 mcp
{
"mcpServers": {
"clusterport": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/cloudcorprecords/clusterport:0.1.0",
"mcp"
]
}
}
}
التوثيق
مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.
clusterport
clusterport is a small MCP server and CLI for core Kubernetes work.
It is a clean-room rebuild of a core subset — twelve tools — from
the documented surface of the community Flux159
mcp-server-kubernetes: get, describe and fetch logs; apply and
create; delete, scale and patch; rollout actions and context
switching; plus kubectl explain and API-resource listing.
Everything runs through the host's real kubectl. Each call is
built as an argument array and spawned directly — never a shell
string — so resource names, namespaces and patches cannot be
reinterpreted as shell syntax. Manifests are never written to temp
files or shell redirects: kubectl_apply sends its manifest over
stdin (kubectl apply -f -), and kubectl_create generates a
minimal manifest spec from its parameters and creates it from stdin
the same way (kubectl create -f -). The executor is injectable,
which is how the test suite verifies the exact argument arrays and
stdin payloads with a fake.
Deliberately omitted: port-forward long-lived sessions, exec-into-pod, the helm tools, install/uninstall addon operations, non-resource URL operations, watch/streaming, and node operations such as cordon, taint or drain.
The host needs a working kubectl and cluster credentials. When
kubectl is absent, calls fail honestly with the underlying spawn
error (ENOENT) instead of a fabricated result. The published
container image bundles no kubectl binary: it expects a host
executor and says so in its Dockerfile.
Install
npx @reneturcios/clusterport kubectl-get pods -n default
docker run -i ghcr.io/cloudcorprecords/clusterport
CLI
clusterport kubectl-get <resource_type> [name] [-n namespace] [-o format]
clusterport kubectl-describe <resource_type> <name> [-n namespace]
clusterport kubectl-logs <name> [-n namespace] [-c container]
clusterport kubectl-apply "<manifest yaml>" [-n namespace] [--dry-run]
clusterport kubectl-create <resource_type> <name> [--image img] [-n namespace]
clusterport kubectl-delete <resource_type> <name> [-n namespace]
clusterport kubectl-scale <resource_type> <name> <replicas> [-n namespace]
clusterport kubectl-patch <resource_type> <name> '<json patch>' [-n namespace]
clusterport kubectl-rollout <resource_type> <name> <action> [-n namespace]
clusterport kubectl-context <current|list|use> [name]
clusterport explain-resource <resource> [--api-version v]
clusterport list-api-resources [kind]
clusterport --version
Exit codes: 0 success, 1 kubectl error, 2 usage error.
MCP server
npx -y @reneturcios/clusterport mcp
{
"mcpServers": {
"clusterport": {
"command": "npx",
"args": ["-y", "@reneturcios/clusterport", "mcp"]
}
}
}
Tools
| Tool | Input | What it does |
|---|---|---|
kubectl_get | resource_type (required), name, namespace, output_format | kubectl get -o json by default; JSON parsed. |
kubectl_describe | resource_type, name (required), namespace | kubectl describe. |
kubectl_logs | name (required), namespace, container | kubectl logs. |
kubectl_apply | manifest (required), namespace, dry_run | kubectl apply -f -, manifest over stdin. |
kubectl_create | resource_type, name (required), namespace, image | Generated spec created via kubectl create -f - over stdin. |
kubectl_delete | resource_type, name (required), namespace | kubectl delete. |
kubectl_scale | resource_type, name, replicas (required), namespace | kubectl scale --replicas=n. |
kubectl_patch | resource_type, name, patch (required), namespace | kubectl patch -p. |
kubectl_rollout | resource_type, name, action (required), namespace | kubectl rollout <action> <type>/<name>. |
kubectl_context | operation (required: current, list, use), name | kubectl config current/get/use-context. |
explain_resource | resource (required), api_version | kubectl explain. |
list_api_resources | kind (optional) | kubectl api-resources, parsed, kind-filtered. |
Executor failures — a missing kubectl binary, an unreachable cluster, a nonexistent resource — are reported as tool errors carrying the underlying message.
Development
npm install
npm run build
npm test
npm run dev
Tests run entirely on a fake executor: exact argument arrays, stdin manifest passing for apply/create, output parsing, and error propagation. No live cluster is touched.
License
MIT — see LICENSE.
الأسئلة الشائعة
ما هو io.github.CloudCorpRecords/clusterport؟
Core kubectl operations: get, describe, logs, apply, scale, patch, rollout and explain.
كيف أثبّت io.github.CloudCorpRecords/clusterport؟
يعمل على جهازك. في Claude Code: claude mcp add clusterport -- npx -y @reneturcios/clusterport@0.1.0 mcp. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.
هل يحتاج io.github.CloudCorpRecords/clusterport إلى مفتاح API؟
لا يذكر إدراجه في السجل أي مفتاح أو سر إلزامي. قد تتطلب بعض الميزات حسابًا لدى الخدمة التي يتصل بها.
هل io.github.CloudCorpRecords/clusterport مفتوح المصدر؟
نعم. شيفرته متاحة على GitHub بترخيص MIT.
من يصون io.github.CloudCorpRecords/clusterport؟
ينشره CloudCorpRecords. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.
من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.