Skip to content

ulams mcp

Generated from front/cli (ulams schema)

Run an MCP server that exposes the ulams commands as tools (stdio, or Streamable HTTP with –http).

stdio (default) uses the credentials of the current profile or ULAMS_URL/ULAMS_TOKEN; stdout carries only the protocol. –http serves /mcp on loopback; each request must send Authorization: Bearer . Destructive tools return a plan and a confirm token first. Default toolset: core (plus commands_search, commands_describe, commands_run).

Kind: local. Stability: stable. MCP tool: mcp (not exposed). Scopes: none.

Flag Type Required Description
--http boolean Serve Streamable HTTP instead of stdio.
--host string HTTP bind address (default 127.0.0.1).
--port integer HTTP port (default 8787).
--allow-remote boolean Allow binding a non-loopback address.
--toolsets string Comma-separated toolsets (core, courses, users, …) or all. Default core.
--read-only boolean Expose read commands only.
--no-destructive boolean Hide destructive commands.
--unsafe-yes boolean Skip confirmation of destructive tools (sandboxes only).
Terminal window
# Claude Code (stdio)
ulams mcp --profile coffee
# Read-only, courses and users toolsets
ulams mcp --read-only --toolsets core,courses,users
# Streamable HTTP on loopback
ulams mcp --http --port 8787
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"http": {
"description": "Serve Streamable HTTP instead of stdio.",
"type": "boolean"
},
"host": {
"description": "HTTP bind address (default 127.0.0.1).",
"type": "string"
},
"port": {
"description": "HTTP port (default 8787).",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"allowRemote": {
"description": "Allow binding a non-loopback address.",
"type": "boolean"
},
"toolsets": {
"description": "Comma-separated toolsets (core, courses, users, ...) or all. Default core.",
"type": "string"
},
"readOnly": {
"description": "Expose read commands only.",
"type": "boolean"
},
"noDestructive": {
"description": "Hide destructive commands.",
"type": "boolean"
},
"unsafeYes": {
"description": "Skip confirmation of destructive tools (sandboxes only).",
"type": "boolean"
}
}
}