lmcp CLI¶
Install the command with the complete set of dependencies used by its local and remote workflows:
The entry point is also available as python -m lauren_mcp.cli.
Run and development mode¶
run resolves a Python file containing an @mcp_server class and starts a
Lauren/Uvicorn application:
Accepted transports are ws, sse, streamable, both, and all. Use
dev for the same server with debug logging and a startup message:
For MCP hosts that communicate over stdin/stdout, use --stdio:
The server writes only newline-delimited JSON-RPC messages to stdout. This is
also the form generated by lmcp install.
--env-file .env loads environment variables before importing the server
file. A file spec may include an explicit class name, for example
server.py:SearchServer.
Inspect and call¶
Both commands accept a local file spec or a remote URL:
When a local file is supplied, the CLI starts an isolated stdio subprocess,
so the server file does not need to define its own __main__ entry point.
Values supplied with --arg are parsed as JSON when possible (42, true,
null, arrays, and objects); values that are not JSON remain strings.
For remote endpoints, WebSocket URLs select the WebSocket client. HTTP URLs
use Streamable HTTP by default; pass --transport sse for the legacy
HTTP+SSE client:
lmcp inspect ws://127.0.0.1:8000/mcp/ws
lmcp inspect http://127.0.0.1:8000/mcp --transport streamable
lmcp call http://127.0.0.1:8000/mcp search --transport sse --arg query=widgets
inspect prints the tool, resource, and prompt catalogues. call prints the
raw tools/call result as formatted JSON.
Install for an MCP host¶
install writes or merges an mcpServers entry for Claude Desktop or Cursor:
The generated entry uses the active Python interpreter, an absolute server
file path, and python -m lauren_mcp.cli run <file> --stdio. This makes the
entry independent of the host application's working directory and gives MCP
hosts the stdio protocol they expect.