Repository navigation
feat(host-cloudflare): create declared internal integrations at boot - #14
Merged
Merged
Conversation
fforres
added this pull request to stack #15
October 9, 2026 04:37
INTERNAL_MCP_REGISTRIES lists the servers behind each internal host. Once per isolate a system executor creates every missing MCP integration with its org connection main and loads its tools. Existing integrations are never changed and nothing is deleted.
fforres
force-pushed
the
feat/internal-integrations-reconcile
branch
from
October 9, 2026 04:44
d9538df to
2dd8410
Compare
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.
Stacked on #13.
What
INTERNAL_MCP_REGISTRIESlists the servers behind each internal host ([{ host, servers: [{ slug, name, description, route }] }]). It is validated at config load next toINTERNAL_MCP_HOSTS: a registry host with noINTERNAL_MCP_HOSTSentry, a route other than/mcp/<slug>, a bad or duplicate slug, an empty name or description, or a value of the wrong shape fails config load (503).Once per isolate, a system executor (org writes allowed) creates every missing MCP integration (remote, streamable HTTP, endpoint
https://<host><route>, no auth) and its org connectionmain, then refreshes the catalog for what it created. An existing integration with the same slug is skipped and logged, never changed. Nothing is deleted. A failing entry is logged and never fails the boot. Unset means nothing declared and no behaviour change.Resulting tool ids look like
tools.<slug>.org.main.<tool>.Tests
reconcile.test.ts, with a real executor and a real MCP server behind an in-process binding: creates the integration and connection and lists the five tools by id; a second run writes nothing and never touches the binding; an existing slug is left as is; only newly created integrations are loaded.config.test.ts: derived endpoints, unset, host without a hosts entry, route, duplicate slug, wrong shape.