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
feat(mcp): default-on MCP surface — core capability, opt out with OS_MCP_SERVER_ENABLED=false (#2698) (#2712)
MCP is a core platform capability: /api/v1/mcp is now served (and advertised
in /discovery) by default, and the OAuth 2.1 / DCR track follows it, so a
fresh deployment is connectable by any MCP client with zero configuration.
Single decision point: isMcpServerEnabled() in @objectstack/types — the
dispatcher route gate, CLI plugin auto-load, REST /discovery advertisement,
and auth-service OAuth/DCR follow-defaults all delegate to it. Explicit
'true' additionally auto-starts the stdio transport (unchanged, opt-in: a
default must not claim the process's stdio); explicit 'false' turns the
whole surface off fail-closed (404, no metadata, no DCR).
Verified live on the showcase app: default boot serves MCP + PRM + DCR and
401s with the WWW-Authenticate challenge; OS_MCP_SERVER_ENABLED=false boot
404s all of them and drops the /discovery advertisement.
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: content/docs/deployment/environment-variables.mdx
+4-2Lines changed: 4 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -223,12 +223,14 @@ same RBAC / RLS as the Console. No custom tooling, no separate API. See
223
223
[Actions as Tools](/docs/ai/actions-as-tools) for the tool set.
224
224
225
225
```bash
226
-
OS_MCP_SERVER_ENABLED=true os start # boot with the MCP server (stdio by default)
226
+
os start # MCP is served at /api/v1/mcp by default
227
+
OS_MCP_SERVER_ENABLED=false os start # opt out of the MCP surface
228
+
OS_MCP_SERVER_ENABLED=true os start # additionally auto-start the stdio transport
227
229
```
228
230
229
231
| Variable | Type | Default | Description |
230
232
|:---|:---|:---|:---|
231
-
|`OS_MCP_SERVER_ENABLED`| boolean |`false`|When `true`, start the Model Context Protocol server at boot — exposing your objects and actions to MCP clients. |
233
+
|`OS_MCP_SERVER_ENABLED`| boolean |`true`|The MCP HTTP surface (`/api/v1/mcp`) is a core capability and defaults **on**. Set `false` to disable it. An explicit `true` additionally auto-starts the long-lived stdio transport at boot. |
232
234
|`OS_MCP_SERVER_NAME`| string |`objectstack`| Server name advertised to MCP clients. |
233
235
|`OS_MCP_SERVER_TRANSPORT`| enum |`stdio`|`stdio`\|`http`. Use `http` (Streamable HTTP) for a remote client; `stdio` for a local one. |
0 commit comments