Skip to content

feat(host-cloudflare): create declared internal integrations at boot - #14

Merged
fforres merged 1 commit into
skywardfrom
feat/internal-integrations-reconcile
Oct 9, 2026
Merged

fforres merged 1 commit into
skywardfrom
feat/internal-integrations-reconcile

Conversation

@fforres

@fforres fforres commented Oct 9, 2026

Copy link
Copy Markdown

Stacked on #13.

What

INTERNAL_MCP_REGISTRIES lists the servers behind each internal host ([{ host, servers: [{ slug, name, description, route }] }]). It is validated at config load next to INTERNAL_MCP_HOSTS: a registry host with no INTERNAL_MCP_HOSTS entry, 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 connection main, 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.

@fforres
fforres added this pull request to stack #15 October 9, 2026 04:37
Base automatically changed from feat/internal-mcp-hosts to skyward October 9, 2026 04:44
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
fforres force-pushed the feat/internal-integrations-reconcile branch from d9538df to 2dd8410 Compare October 9, 2026 04:44
@fforres
fforres merged commit 7e84f65 into skyward Oct 9, 2026
4 of 40 checks passed
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