Skip to content

refactor(mcp): route Make IT Work Cloud through direct endpoints - #22

Merged
xnoto merged 2 commits into
mainfrom
refactor/direct-mcp-endpoints
Sep 13, 2026
Merged

xnoto merged 2 commits into
mainfrom
refactor/direct-mcp-endpoints

Conversation

@xnoto

@xnoto xnoto commented Sep 13, 2026

Copy link
Copy Markdown
Owner

Summary

Replaces the retired aggregate makeitwork MCP entry with the 14 direct Cloudflare Access-protected ToolHive endpoints configured by makeitworkcloud/kustomize-cluster@bea0c54. Updates routing guidance and preserves existing non-Make-IT-Work client servers. Migrates existing permission namespaces; the direct Grafana grants remain read-only and intentionally exclude generate_deeplink.

Fixes #

Type of change

  • Bug fix
  • Feature / enhancement
  • 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
  • Generated or centrally distributed files were regenerated by their owning automation, not hand-edited

Static review confirmed the 14 configured endpoint names, URL pattern, and environment-only CF Access header references against the canonical workload README and TunnelBinding. Adversarial review found and the follow-up commit removed the mutating Grafana shortened-deeplink auto-grant. CI has not run yet; runtime endpoint authentication/reachability was not probed.

Impact and rollout

Producer unchanged: makeitworkcloud/kustomize-cluster owns the direct endpoints. Consumer changed: this repository's OpenCode config. After merge, workstation rendering/installation remains a separate manual dotfiles stage; no service restart, deployment, or live verification was performed. Rollback is a revert of 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; final endpoint inventory and permissions were independently reviewed.

Replace the aggregate makeitwork server with fourteen direct remote entries,
makeitwork-<integration> at https://mcp-<integration>.makeitwork.cloud/mcp,
per the kustomize-cluster mcp-gateway TunnelBinding at bea0c54. CF Access
headers still reference CF_ACCESS_CLIENT_ID / CF_ACCESS_CLIENT_SECRET; no
secret values are introduced.

Permission grants move from makeitwork_makeitwork-<integration>_* onto the
per-server namespaces makeitwork-<integration>_*. The intended read-only
Grafana ability is preserved by mirroring the existing Hatch grafana
allowlist onto makeitwork-grafana_* tool-for-tool; no mutating grant is
added or widened, and a bare makeitwork-grafana_* wildcard is deliberately
not used because it would allow grafana mutating tools.

AGENTS.md routing now states the direct endpoints, the CF-Access header
environment references, direct tool naming, per-server enable/disable via
mcp.makeitwork-<integration>.enabled, and the external-only list: github,
hero-ssh, and codebase-memory have no external endpoint. Client-local
context-mode, Hatch servers, linear, notion, opentofu-docs, tmux, and
codebase-memory are unchanged.
@xnoto
xnoto merged commit d8a4fdd into main Sep 13, 2026
1 check passed
@xnoto
xnoto deleted the refactor/direct-mcp-endpoints branch September 13, 2026 04:05
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