Skip to content

refactor(mcp-gateway): consolidate external aggregate and clean member names - #242

Merged
xnoto merged 4 commits into
mainfrom
refactor/mcp-aggregate-names
Sep 11, 2026
Merged

xnoto merged 4 commits into
mainfrom
refactor/mcp-aggregate-names

Conversation

@xnoto

@xnoto xnoto commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

Summary

Renames ToolHive aggregate members from makeitwork-* to clean integration keys, makes the existing Cloudflare read proxy and Playwright browser server available through the Access-protected aggregate, and adds a credential-free twilio-docs public-documentation proxy. Retires all per-integration public TunnelBinding subjects; mcp.makeitwork.cloud remains the single external gateway route.

Fixes #
N/A — owner-approved MCP aggregate consolidation.

Type of change

  • Feature / enhancement
  • Bug fix
  • Documentation
  • Infrastructure (OpenTofu root or module)
  • GitOps desired state (manifests, kustomize, charts, SOPS/KSOPS secrets)
  • Container image
  • CI / reusable workflow
  • Refactor / cleanup
  • Breaking change

Validation

  • Required pull-request checks pass — pending: repository hygiene, Kustomization-reference validation, secret scanning, and kube-linter.
  • Generated or centrally distributed files were regenerated by their owning automation, not hand-edited — ToolHive generated Services are controller-owned; no generated source was edited.
  • Final infrastructure-security review found no unwaived Critical/High issue.
  • Exact changed files were manually inspected for sensitive material; no secret values, decrypted SOPS content, tokens, kubeconfigs, or state were added.

Impact and rollout

Producer: kustomize-cluster/workloads/mcp-gateway; consumer: the existing external aggregate mcp.makeitwork.cloud and the subsequently updated opencode-server chart.

This deletes/recreates renamed ToolHive members and their generated proxy Services, removes the nine dedicated external routes, and retains only the existing aggregate Cloudflare Access route. Cloudflare API authentication remains proxy-owned and read-only. The new Twilio proxy has no authentication/header/Secret reference and serves public documentation only.

Owner-approved external exposure: Playwright is intentionally made available through the existing Cloudflare-Access aggregate on 2026-09-11. Its pinned image and current runtime security configuration are unchanged.

Owner-accepted cutover: OpenCode 0.1.74 currently uses the old direct generated Services, so its affected MCP integrations will be temporarily unavailable after this reconciles and before the separately reviewed opencode-server 0.1.75 pin rolls out. Merge and reconcile this PR first, then merge the charts PR promptly. Rollback is paired: revert this GitOps change and reselect/publish a chart compatible with the restored Service names; do not revert only one side.

After merge, verify GitOps root and mcp-gateway Application reconciliation, renamed MCP resource readiness, aggregate tool discovery including Cloudflare/Playwright/Twilio docs, and DNS retirement. No sync, rollout, or live verification is authorized by this PR.

Safety and secrets

  • Contains no plaintext secrets, decrypted SOPS values, state files, kubeconfigs, tokens, or private endpoints
  • No local OpenTofu init/plan/apply/destroy/import/state operations were run or claimed — plans come from pull-request checks
  • Breaking or irreversible effects are described above with rollback notes

AI-assisted change; reviewer scrutiny requested for ToolHive aggregation and aggregate-only cutover.

…are/Playwright/Twilio docs, single tunnel route

Rename every MCPGroup member metadata name from makeitwork-* to clean
integration keys (kubernetes, argocd, grafana, aws, aws-docs, gcp,
terraform-docs, context7, parallel-search, apify, slidespeak): the vmcp
aggregate exposes member tools name-prefixed with these keys. Rename the
aggregate-member manifests makeitwork-aws-mcpserver.yaml and
makeitwork-gcp-mcpserver.yaml to aws-mcpserver.yaml and gcp-mcpserver.yaml
to match. Add Cloudflare (cloudflare-read, read-only token boundary
preserved via renamed cloudflare-read-auth) and Playwright (playwright) to
the gateway group, and add a public-docs-only twilio-docs MCPRemoteProxy
(no auth config, no header forward, no secret references). Retire the
obsolete per-integration TunnelBinding subjects, retaining only the
aggregate root route (mcp.makeitwork.cloud -> vmcp-gateway); update
kustomization resource list, comments, and the directory README. Non-
aggregate makeitwork-github, hero-ssh, and codebase-memory backends are
unchanged.
…ght exposure approval

Restore the original argocd-mcpserver.yaml comment text (--allowed-host-header)
so the only intended change on that file remains the member rename to `argocd`.
Record the 2026-09-11 owner approval for external aggregate exposure of the
browser-capable playwright member in its manifest comment and the directory
README ownership boundary (Cloudflare Access service token remains the edge
authentication boundary). No other changes; no secrets involved.
@xnoto
xnoto requested a review from a team as a code owner September 11, 2026 20:16
@xnoto
xnoto merged commit 93b1e6b into main Sep 11, 2026
2 checks passed
@xnoto
xnoto deleted the refactor/mcp-aggregate-names branch September 11, 2026 20:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant