Submariner MCP Server
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"subm-mcp-server": {
"command": "<see-readme>",
"args": []
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
A Model Context Protocol (MCP) server for managing multiple Kubernetes clusters. This server provides generic operations for any Kubernetes resource type, plus specialized operations for ServiceExports across multiple configured clusters.
No automated test available for this server. Check the GitHub README for setup instructions.
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in devops / cloud
MCP server for using the GitLab API
MCP Server for GCP environment for interacting with various Observability APIs.
⚡ A Simple / Speedy / Secure Link Shortener with Analytics, 100% run on Cloudflare.
MCP server for Datto SaaS Protection — M365/GWS backups, restores, seats.
MCP Security Weekly
Get CVE alerts and security updates for Subm Mcp Server and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
A Model Context Protocol (MCP) server for managing multiple Kubernetes clusters. This server provides generic operations for any Kubernetes resource type, plus specialized operations for ServiceExports across multiple configured clusters.
git clone https://github.com/vthapar/subm-mcp-server.git
cd subm-mcp-server
make build
The binary will be created at bin/subm-mcp-server.
make install
Create a configuration file config.yaml:
clusters:
- name: cluster1
kubeconfig: /path/to/cluster1/kubeconfig
context: cluster1-context # optional
- name: cluster2
kubeconfig: /path/to/cluster2/kubeconfig
context: cluster2-context # optional
- name: local
kubeconfig: ~/.kube/config
# Server configuration (optional)
server:
transport: stdio # "stdio" or "http", defaults to "stdio"
http:
host: localhost # defaults to "localhost"
port: 8080 # defaults to 8080
See config.yaml.example for a complete example.
# Using -config flag
./bin/subm-mcp-server -config config.yaml
# Using environment variable
export MCP_K8S_CONFIG=config.yaml
./bin/subm-mcp-server
# Override transport mode via command line
./bin/subm-mcp-server -config config.yaml -transport stdio
The server reads JSON-RPC 2.0 requests from stdin and writes responses to stdout.
# Using config file with HTTP transport
./bin/subm-mcp-server -config config.yaml
# Override via command line flags
./bin/subm-mcp-server -config config.yaml -transport http
# Custom host and port
./bin/subm-mcp-server -config config.yaml -transport http -http-host 0.0.0.0 -http-port 9000
The HTTP server exposes the following endpoints:
POST /mcp - MCP JSON-RPC 2.0 endpointGET /health - Health check endpointlist_clusters - List all configured clusterslist_namespaces - List all namespaces in a clusterget_resource - Get any Kubernetes resource by API version and typelist_resources - List any Kubernetes resources by API version and typeget_serviceexport - Get a specific ServiceExportlist_serviceexports - List ServiceExports in a namespacecreate_serviceexport - Create a new ServiceExport (simple name-based or full manifest)delete_serviceexport - Delete a ServiceExportThe get_resource and list_resources tools work with any Kubernetes resource type:
Supported Resource Types:
pods, services, configmaps, secrets, nodes, namespaces, etc. (use api_version: "v1")deployments, statefulsets, daemonsets, replicasets (use api_version: "apps/v1")api_version: "submariner.io/v1alpha1", `reso