MCP Kubernetes Server v0.1.0
This release contains the MCP (Model Context Protocol) server for Kubernetes operations.
Changelog
New Features
- 9186721: feat: add a crd custom resource mapper (Kevin McBride 681929+krmcbride@users.noreply.github.com)
- c84a0bb: feat: add a custom resource mapper for events (Kevin McBride 681929+krmcbride@users.noreply.github.com)
- 567ca4b: feat: add comprehensive MCP server instructions for better LLM guidance (Kevin McBride 681929+krmcbride@users.noreply.github.com)
- e53f84c: feat: add fieldSelector support to list tool (Kevin McBride 681929+krmcbride@users.noreply.github.com)
- 96f2fc5: feat: add limit, continue inputs to resource list tool (Kevin McBride 681929+krmcbride@users.noreply.github.com)
- 24a59ed: feat: create an initial pod memory pressure prompt (Kevin McBride 681929+krmcbride@users.noreply.github.com)
- 4640e5a: feat: create api-resources tool (Kevin McBride 681929+krmcbride@users.noreply.github.com)
- 0a739f2: feat: create get_resource tool (Kevin McBride 681929+krmcbride@users.noreply.github.com)
- 71337cd: feat: create initial listResourcesTool (Kevin McBride 681929+krmcbride@users.noreply.github.com)
- a0332e1: feat: create initial troubleshooting prompt (Kevin McBride 681929+krmcbride@users.noreply.github.com)
- 87a4273: feat: create k8s contexts resource (Kevin McBride 681929+krmcbride@users.noreply.github.com)
- 4982463: feat: create k8s metrics tool (Kevin McBride 681929+krmcbride@users.noreply.github.com)
- f95bb08: feat: create pod logs tool (Kevin McBride 681929+krmcbride@users.noreply.github.com)
- 1e2f39b: feat: enhance development workflow with vendoring and comprehensive documentation (Kevin McBride 681929+krmcbride@users.noreply.github.com)
- 2a0ddac: feat: implement custom list mappers (Kevin McBride 681929+krmcbride@users.noreply.github.com)
- 8b47d0d: feat: implement first pass of mappers for common k8s resources (Kevin McBride 681929+krmcbride@users.noreply.github.com)
Bug Fixes
- a26d2b0: fix: make contexts resource uses more clear (Kevin McBride 681929+krmcbride@users.noreply.github.com)
- c6ec645: fix: mention cluster name in k8s://contexts resource (Kevin McBride 681929+krmcbride@users.noreply.github.com)
- fdfbe8c: fix: replace old empty interface usage (Kevin McBride 681929+krmcbride@users.noreply.github.com)
- 995e24f: fix: steer the model toward the kubeconfig resource (Kevin McBride 681929+krmcbride@users.noreply.github.com)
- a194d5b: fix: tidy mods (Kevin McBride 681929+krmcbride@users.noreply.github.com)
- 854b013: fix: use consistent naming (Kevin McBride 681929+krmcbride@users.noreply.github.com)
Refactoring
- a2c94b4: refactor: add package comments (Kevin McBride 681929+krmcbride@users.noreply.github.com)
- cf373be: refactor: add sum and name inputs to metrics tool (Kevin McBride 681929+krmcbride@users.noreply.github.com)
- f52c796: refactor: add termination reason, memory details to pod mapper (Kevin McBride 681929+krmcbride@users.noreply.github.com)
- 5b8ebde: refactor: fix k8s resource vs mcp resource ambiguity (Kevin McBride 681929+krmcbride@users.noreply.github.com)
- b522b6a: refactor: flesh out GVK to GVR (Kevin McBride 681929+krmcbride@users.noreply.github.com)
- 44ceae6: refactor: modularize CLAUDE.md using import syntax for better maintainability (Kevin McBride 681929+krmcbride@users.noreply.github.com)
- b7d175c: refactor: move tool def to new package (Kevin McBride 681929+krmcbride@users.noreply.github.com)
- dc59907: refactor: nail down resource mapper lookup (Kevin McBride 681929+krmcbride@users.noreply.github.com)
- 1e397bb: refactor: polish main entrypoint (Kevin McBride 681929+krmcbride@users.noreply.github.com)
- 77033a4: refactor: polish resource list tool (Kevin McBride 681929+krmcbride@users.noreply.github.com)
- 69b927d: refactor: remove hello world tool (Kevin McBride 681929+krmcbride@users.noreply.github.com)
Other
- 201edfe: Initial commit (Kevin McBride 681929+krmcbride@users.noreply.github.com)
- 6c302ed: claude: create initial CLAUDE.md (Kevin McBride 681929+krmcbride@users.noreply.github.com)
- eb1ef4e: config: add mcp.json (Kevin McBride 681929+krmcbride@users.noreply.github.com)
- a36a844: config: load a dot env if it exists (Kevin McBride 681929+krmcbride@users.noreply.github.com)
- d577145: dev: add mcptools shell target (Kevin McBride 681929+krmcbride@users.noreply.github.com)
- eac4e98: nix: create initial flake (Kevin McBride 681929+krmcbride@users.noreply.github.com)
- b3c4aed: server: hello world (Kevin McBride 681929+krmcbride@users.noreply.github.com)
Installation
Download Binary
Download the appropriate binary for your platform from the assets above.
macOS/Linux
# Make executable
chmod +x mcp-k8s
# Move to PATH
sudo mv mcp-k8s /usr/local/bin/Windows
Add the executable to your PATH or place it in a directory that's already in your PATH.
Requirements
A kubeconfig providing access to a kubernetes cluster (if you can kubectl you can use this MCP)
Usage
The MCP server is designed to be used with Claude and other MCP clients:
# Run the server (communicates via stdio)
mcp-k8s
# Install with Claude Code
claude mcp add k8s mcp-k8s
# Use inspector to browse (requires nodejs)
npx @modelcontextprotocol/inspector mcp-k8sFull Changelog: ...v0.1.0