l4 mcp serve
l4 mcp serve runs the LevelFour MCP tools locally, speaking the protocol over stdin and stdout and reading your cloud data through the LevelFour API with the credential already in your keychain.
l4 mcp serveYou rarely run this yourself. l4 mcp install points Claude Desktop at it, because claude_desktop_config.json starts stdio servers and cannot send an Authorization header to a remote one. Run by hand it waits for a client that will never speak.
What it serves
The read tools, under the same names and schemas as the hosted server, so an agent that learned to route against one gets the same answers from the other. The two tools that record a decision are not served here: they need a read-write credential and run on the hosted server only.
To accept or reject from the terminal instead, use l4 rec accept and l4 rec reject.
Why your key stays put
The server reads through the API with the credential l4 already resolves, so nothing is written into the client's configuration file. This is the one client path where the key never leaves the keychain.
It can therefore reach exactly what your stored credential can reach, and nothing more.
Output
The protocol occupies stdout, so every notice goes to stderr, which your client captures into its own log. Claude Desktop writes mcp-server-levelfour.log. Two lines are printed at startup:
levelfour mcp 0.1.1 serving 16 tools over stdio
reading the LevelFour API with the stored credentialThat is where you confirm which binary answered and how much of the surface it carries.
Errors
| Exit | Symptom | Cause |
|---|---|---|
4 | Authentication required | No token resolvable; run l4 auth login or set LEVELFOUR_TOKEN |
A client disconnecting is a normal ending and exits 0. Returning an error there would make every ordinary exit non-zero, which clients log as a crashed server.
Related
l4 mcp install- points Claude Desktop at this commandl4 mcp status- check the credential this would use- Tools - every tool the surface registers