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.