MCP server
@atelier/mcp is a Model Context Protocol server that exposes Atelier as native tools to any MCP-compatible AI agent. Claude Code, Codex CLI, OpenCode, Cursor, Windsurf, Cline — all of them call Atelier without custom integration.
Tell your agent “deploy this to atelier” and it happens. Tell it “show me the last 50 errors” and it pulls them. The agent doesn’t need a plugin per editor; it needs MCP.
Install
The server is a single npm package; nothing to install globally.
npx @atelier/mcp --version
Configure
Claude Code
// .mcp.json
{
"mcpServers": {
"atelier": {
"command": "npx",
"args": ["@atelier/mcp"],
"env": { "ATELIER_TOKEN": "${ATELIER_TOKEN}" }
}
}
}
Codex CLI
# ~/.codex/config.toml
[mcp_servers.atelier]
command = "npx"
args = ["@atelier/mcp"]
env.ATELIER_TOKEN = "${ATELIER_TOKEN}"
OpenCode / Cursor / Windsurf
Use the editor’s MCP configuration with the same command + args pattern. See each editor’s docs for the exact file location.
Token
ATELIER_TOKEN comes from atelier login (stored in your OS keychain). The MCP server reads it from the env var or directly from the keychain — whichever you prefer.
Tools exposed
The agent sees these tools and calls them natively:
| Tool | Purpose |
|---|---|
atelier.project.create | Create a new Atelier project |
atelier.project.link | Link this directory to an existing project |
atelier.db.query | Run a parameterized read query |
atelier.db.migration.new | Write a new migration file |
atelier.db.migration.apply | Apply pending migrations |
atelier.db.schema.dump | Get current schema as SQL |
atelier.storage.upload | Upload a file to a bucket |
atelier.storage.list | List files in a bucket |
atelier.functions.invoke | Call a Function with payload |
atelier.functions.logs | Tail Function logs |
atelier.deploy | Deploy current code (canary by default) |
atelier.rollback | Roll back to previous deployment |
atelier.deployments.list | List recent deployments |
atelier.logs.tail | Tail app logs |
atelier.env.list / set / unset | Manage environment variables |
atelier.vector.search | Vector similarity search |
atelier.vector.embed | Embed via your BYOS provider |
How it works
Cursor / Claude Code / Codex / OpenCode
│ MCP tool call
▼
@atelier/mcp (stdio)
│ ConnectRPC over HTTPS
▼
api.atelier.style
│
▼
Base infrastructure
For tools that hit your LLM provider (e.g., vector.embed), the MCP server routes through the desktop tunnel so your BYOS tokens stay on-device — same privacy model as Studio.
Examples
“Migrate the database to add a
priorityint column on todos, default 0.”
Agent calls:
atelier.db.migration.newwith the SQLatelier.db.migration.applyto apply locally- Asks for confirmation before
atelier.db.push(production)
“Why is the live app failing?”
Agent calls:
atelier.logs.tailwith last 5 minutesatelier.deployments.listto find the bad deploy- Proposes
atelier.rollback
See also
- CLI — for direct command-line use
- Integrating with existing projects — per-editor walkthroughs