MCP Servers No Longer Need a Second Flag to Do Anything
You set mcp.enabled: true, ran atmos mcp start, and got: failed to initialize AI components: tools are disabled. MCP was on. Why did anything else need to be "enabled" for a command whose
entire job is exposing tools?
The Problem
ai.tools.enabled was designed for atmos ai chat/ask/exec — Atmos's own assistant deciding
whether it's allowed to call tools during a conversation. atmos mcp start reused that same flag
as a hard gate, even though the MCP server has nothing to do with Atmos's own chat loop: its only
job is exposing Atmos tools to external clients like Claude Desktop or Cursor. mcp.enabled: true
was already the explicit, purpose-built opt-in for that — requiring a second, differently-named
flag on top of it just to get a non-empty server was pure friction, not safety.
The Fix
atmos mcp start no longer checks ai.tools.enabled at all. Once mcp.enabled: true, tools
register unconditionally — ai.tools.enabled now only governs atmos ai chat/ask/exec's own
tool-use loop, which is what it was always meant for.
While in there, we also renamed three related settings for consistency. They're already nested
under tools:, so the _tools suffix was redundant:
| Old | New |
|---|---|
tools.allowed_tools | tools.allowed |
tools.restricted_tools | tools.restricted |
tools.blocked_tools | tools.blocked |
tools.allowed also picked up a second job. Previously it only skipped the confirmation prompt —
every tool was still registered and callable, just some needed a "yes" first. Now, when non-empty,
it also controls which tools exist at all: unlisted tools aren't registered, aren't visible in
tools/list, and aren't offered to the AI. An empty or unset list still means "everything is
registered, subject to normal confirmation rules" — unchanged.
How to Use It
atmos mcp start
No ai.tools.enabled required.
Breaking Change
tools.allowed_tools, tools.restricted_tools, and tools.blocked_tools are no longer read —
there's no fallback or deprecation warning, just the new names. If your atmos.yaml sets any of
these under ai.tools, rename them before upgrading. If you were relying on allowed_tools to
skip confirmation for a subset of tools while still allowing everything else to run with a
prompt, note the semantics changed: an unlisted tool is no longer registered at all. Move it to
an empty allowed (or drop the list) and lean on restricted/blocked instead.
Try it out
- Install Atmos
- Try the example
Copy the example into a new directory and make it your own:
atmos init examples/mcp-for-ai-coding-assistants
cd mcp-for-ai-coding-assistants
Inspect the MCP configuration before exporting it to your coding assistant. The README covers server dependencies and client setup.
atmos mcp export
See AI Tools Configuration for the full reference.
For usage and configuration, see MCP.
