Repository navigation
feat: MCP server, progress json and GitHub Action - #6
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Before: Proxbase could only be driven from the shell, progress was plain text on stderr, and using it in CI meant hand-written install and KVM steps.
After: AI agents can manage clusters through
proxbase mcp, tools can follow progress as JSON lines, and GitHub workflows can create a cluster withuses: virtbase/proxbase@v0.Changes
proxbase mcp, official Go SDK): local stdio server with 16 tools (create, status, wait, start/stop/destroy, node exec, env, snapshots, faults, config validation) and the config schema as a resource. Creates run as detached jobs, survive client timeouts and report MCP progress notifications.cluster_destroyrequiresconfirm, and the root password is only returned on request.--progress jsonon all commands: one JSON line per step on stderr; errors include a hint and the log path.action.yml): enables KVM, installs QEMU, downloads and verifies the release binary, caches the ISO and golden image, and outputs the endpoint, token, CA cert, SSH key and env file. The release workflow moves thev0tag.e2e.yml) on a GitHub-hosted runner using the local action.destroy ../..could previously reach outside the state directory; this also affected the CLI).server.jsonfor the MCP registry; docs: newmcp.mdandci.md, updated CLI reference, architecture and README.Testing
go test -race ./..., golangci-lint, govulncheck, actionlint andgoreleaser checkpass.