Lambda Symbolics

MCP

Model Context Protocol servers attach outside tools to Autolith. Each configured server appears as one exact mcp__ namespace beside the built-in ones.

Servers

A stdio server is a local executable Autolith starts and speaks to over standard input and output. An HTTP server is a Streamable HTTP endpoint. Native configuration lists servers with a name, a transport, optional deadlines, and an approval policy:

(:version 1
 :servers
 ((:name "ripgrep"
   :transport (:type :stdio :command "mcp-ripgrep")
   :approval :read-only)))

The approval policy decides how calls ask: :read-only with :trusted-read-only-tools names the tools that never ask, :prompt asks before each call (the default), :allow allows everything, and :deny disables the server. Environment bindings and HTTP headers read parent process variables only when needed, so secrets stay out of configuration files.

Where configuration lives

A global file in your config root applies everywhere. A directory-scoped .autolith/mcp.sexp applies only inside a trusted directory and layers project-specific servers on top of the global ones. /mcp shows the effective set and refreshes discovery after a server recovers.

Resources and prompts

Beyond tools, the mcp namespace reads server resources and prompts: mcp.status inspects connections, mcp.resources and mcp.read-resource fetch data, and mcp.prompts and mcp.get-prompt fetch prompt templates.