You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/content/1.guide/15.agent-native.md
+1-3Lines changed: 1 addition & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -100,7 +100,7 @@ Every `ctx.rpc.sharedState` key is exposed as a `devframe://state/<key>` resourc
100
100
101
101
## Starting the MCP server
102
102
103
-
The dev server serves the agent surface over HTTP on its own: the `mcp: 'auto'` default mounts the route at `/__mcp` once anything above exists (an `agent`-flagged RPC, a registered tool or resource) and `@modelcontextprotocol/server` is installed - one flagged function is the whole setup. See the [MCP adapter](/adapters/mcp#route-based-server) for forcing it on or off and hardening the route.
103
+
The dev server serves the agent surface over HTTP on its own: the `mcp: 'auto'` default mounts the route at `/__mcp` once anything above exists (an `agent`-flagged RPC, a registered tool or resource) - one flagged function is the whole setup. See the [MCP adapter](/adapters/mcp#route-based-server) for forcing it on or off and hardening the route.
Copy file name to clipboardExpand all lines: docs/content/1.guide/index.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -114,7 +114,7 @@ The mounted devframes share one RPC registry, state store, connection, auth gate
114
114
pnpm add devframe
115
115
```
116
116
117
-
`devframe` ships ESM-only, no Vite dependency. Adapters with optional peers (the MCP adapter needs `@modelcontextprotocol/server`) surface the requirement at import time.
117
+
`devframe` ships ESM-only, no Vite dependency. The CLI adapter's optional peer (`cac`) surfaces its requirement at import time.
`@modelcontextprotocol/server` is a peer dependency; `createMcpServer` serves `stdio` through the SDK's `serveStdio`, pinning one server instance per connection.
17
+
`createMcpServer` serves `stdio` through the MCP SDK's `serveStdio`, pinning one server instance per connection.
18
18
19
19
## Route-based server
20
20
21
-
The dev server exposes the same MCP API over HTTP, live. The default setting is **`'auto'`**: the route mounts once the devframe exposes an agent surface (an `agent`-flagged RPC, a registered tool or resource) and `@modelcontextprotocol/server` is installed - flag your first function and the agent view is on. A devframe with nothing flagged mounts no route and loads no MCP code; a flagged surface whose peer is missing warns once ([`DF0077`](/errors/DF0077)) so you know what to install.
21
+
The dev server exposes the same MCP API over HTTP, live. The default setting is **`'auto'`**: the route mounts once the devframe exposes an agent surface (an `agent`-flagged RPC, a registered tool or resource) - flag your first function and the agent view is on. A devframe with nothing flagged mounts no route and loads no MCP code.
22
22
23
-
Pin the behavior where you host the tool - it's a hosting decision, so pass `mcp` to `createCac` when you assemble the CLI (or to `createDevServer` / `initDevframe` / `initHub` when you host it programmatically): `true` always mounts (a missing peer becomes a startup failure, [`DF0017`](/errors/DF0017)), `false` never mounts, an object customises the route:
23
+
Pin the behavior where you host the tool - it's a hosting decision, so pass `mcp` to `createCac` when you assemble the CLI (or to `createDevServer` / `initDevframe` / `initHub` when you host it programmatically): `true` always mounts, `false` never mounts, an object customises the route:
Copy file name to clipboardExpand all lines: docs/content/2.adapters/index.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@ description: 'The lowest-level path is the standard handler, initDevframe(def, {
7
7
8
8
The lowest-level path is [the standard handler](/adapters/initiate), `initDevframe(def, { base })`: a Web Standard `(request: Request) => Promise<Response>` for any catch-all route. Every path below builds on it.
9
9
10
-
Adapters wrap it as `createXxx(def, options?)` at `devframe/adapters/<name>`. `cac`and `mcp` need an optional peer ([`cac`](https://github.com/cacjs/cac), [`@modelcontextprotocol/server`](https://github.com/modelcontextprotocol/typescript-sdk)).
10
+
Adapters wrap it as `createXxx(def, options?)` at `devframe/adapters/<name>`. `cac`needs an optional peer ([`cac`](https://github.com/cacjs/cac)).
Copy file name to clipboardExpand all lines: docs/content/6.errors/DF0046.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,22 +1,22 @@
1
1
---
2
2
title: 'DF0046: Connector Requires the MCP SDK'
3
-
description: 'devframe connect requires the optional peer dependency @modelcontextprotocol/server: {reason}'
3
+
description: 'devframe connect requires the optional peer dependency @modelcontextprotocol/client: {reason}'
4
4
---
5
5
6
6
## Message
7
7
8
-
> `devframe connect` requires the optional peer dependency @modelcontextprotocol/server: `{reason}`
8
+
> `devframe connect` requires the optional peer dependency @modelcontextprotocol/client: `{reason}`
9
9
10
10
## Cause
11
11
12
-
`devframe connect` was started but `@modelcontextprotocol/server` could not be imported. The SDK is an optional peer dependency of `devframe`, so it only needs to be installed where MCP features are used.
12
+
`devframe connect` was started but `@modelcontextprotocol/client` could not be imported. The client SDK is an optional peer dependency of `devframe`: only the connector dials other instances, so only it needs the package installed.
13
13
14
14
## Fix
15
15
16
16
Install the SDK next to devframe and run the connector again:
0 commit comments