Migrating to 0.10
0.10 moves the MCP implementation and the MCP SDK out of devframe into @devframes/agentic, a new optional peer. A devframe without an agent surface ships slimmer (no MCP SDK installed at all); one that exposes agent tools adds a single install. Your imports do not change.
MCP requires @devframes/agentic
devframe/adapters/mcp stays the user-facing API and now lazy-loads its implementation from the @devframes/agentic peer; the peer itself is never imported directly. Install it wherever an MCP surface should be served:
npm install @devframes/agenticEvery surface reacts to the missing peer the same way:
mcp setting | peer installed | peer missing |
|---|---|---|
omitted / 'auto' | mounts once the agent surface is non-empty | non-empty surface: warns once (DF0078), mounts nothing; empty surface: silent, no MCP code loads |
true / route options object | always mounts | throws DF0079 |
false | never mounts, never probes | same |
This applies everywhere the mcp setting exists: createCac / --mcp, createDevServer, initDevframe, initHub's aggregate endpoint, and the framework kits.
The exports are unchanged - createMcpServer, createMcpFetchHandler, mountMcpHttp, and their option types (also importable from devframe/types). Importing devframe/adapters/mcp without the peer installed throws the usual module-not-found error, exactly like devframe/adapters/cac with its optional cac peer. The <your-app> mcp stdio subcommand keeps working with the peer installed.
devframe connect requires @devframes/agentic
The connector's gateway moved into the same peer, replacing the former @modelcontextprotocol/client optional peer. devframe connect without it throws DF0046:
| 0.9.x | 0.10 |
|---|---|
npm install @modelcontextprotocol/client (optional peer for devframe connect) | npm install @devframes/agentic |
devframe no longer depends on the MCP SDK
@modelcontextprotocol/server left devframe's dependencies and @modelcontextprotocol/client left its optional peers; both are now regular dependencies of @devframes/agentic, so installing the peer is the whole story. If you had installed @modelcontextprotocol/client only for devframe connect, you can drop it:
npm uninstall @modelcontextprotocol/client
npm install @devframes/agenticCode that imported SDK types directly for devframe's MCP options no longer needs to: the full option surface is typed on devframe/adapters/mcp and devframe/types without any SDK types.
Removed deprecated APIs
0.10 drops the symbols deprecated during the 0.9 line. Each has a drop-in replacement:
| Removed | Use instead |
|---|---|
cli.mcp on a definition | Pass mcp to the host (createCac / --mcp, createDevServer, initDevframe, initHub) |
cli.distDir on a definition | Top-level clientAssets on the definition |
resolveClientAssets (from devframe) | Read definition.clientAssets directly |
createDevframeClientHost, DevframeClientHost, DevframeClientHostOptions (@devframes/hub/client) | createDevframeClientRuntime, DevframeClientRuntime, DevframeClientRuntimeOptions |
coerceAgentPositionalArgs, AgentArgsFallback (devframe/internal) | toolInputToRpcArgs / toolInputToCommandArgs |
openInEditor, openInFinder, commonRpcFunctions (devframe/recipes/common-rpc-functions) | The @devframes/service-open wire service |
callEvent() on an in-page channel | emit() |
a11yPageScriptBundlePath, a11yAgentBundlePath (@devframes/plugin-a11y) | a11yClientScriptBundlePath |
AGENT_DISCOVERY_FILE, AgentDiscovery, DataInspectorAgent (@devframes/plugin-data-inspector/inject) | DISCOVERY_FILE, InjectDiscovery, DataInspectorEndpoint |
Dropping cli.mcp also removes the hub's DF8005 warning: a hub's aggregate MCP route already covers every mounted devframe's tools, so a per-devframe MCP request no longer exists to conflict with it.
Migrations
Version-by-version upgrade guides for devframe and @devframes/hub. Each release below has a drop-in path from the previous one.
Migrating to 0.9
0.9 removes the compatibility shims deprecated across the 0.7 series, trims the public API of devframe and @devframes/hub, and moves the MCP surface to the stateless MCP 2026-07-28 protocol.