documentation menu

Deploy from an agent

one9x mcp is a built-in MCP server — an AI agent can deploy, roll back and list releases as tool calls, with no shell glue.

read as markdown

A deploy is a single authorized action, so it maps cleanly to a single agent tool call. Our MCP server exposes Pages as tools an AI agent can call directly — hand it a built directory and it ships a live URL, with no shell glue. It runs through the same signed-in account as the CLI, so an agent only ever touches your sites.

The MCP server is the CLI. one9x mcp speaks MCP over stdin/stdout, and your MCP client starts it as a local process on your own machine — there is no endpoint to point at and nothing to sign up for separately. Install the CLI, run one9x login once, and it uses that session.

Claude Code

One command registers it — -- separates Claude’s flags from the command it runs:

claude code
$ claude mcp add one9x -- one9x mcpAdded stdio MCP server one9x

Or write the same server into a project’s .mcp.json, which is the file the command above edits and which any MCP client can read:

{
  "mcpServers": {
    "one9x": {
      "command": "one9x",
      "args": ["mcp"]
    }
  }
}

Cursor

Add One9x to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json in a repo (that project only) — the same block as above.

What the agent gets

claude · mcp
tool: release  dir:    ./dist  site:   mysite  deploy: true✓ Deployed → https://mysite.one9x.app/

The server exposes release, deploy, releases_list and sites_list — the same operations as the CLI, returning structured JSON rather than prose — and is published to the public MCP directories so agents can discover it.

Troubleshooting

one9x must be on the PATH your MCP client inherits. If the client is launched from a GUI and can’t find it, use the absolute path (which one9x) as the command.

On a machine where no browser login is possible, set ONE9X_TOKEN in the server’s env instead of running one9x login.

Reading the docs as an agent

If your agent can’t run processes and has to read instead, these docs are served as markdown:

  • /llms.txt — an index of every page with a one-line summary.
  • /llms-full.txt — the entire documentation set as one document, for ingesting in a single request.
  • /docs/<page>.md — the markdown source beside every HTML page, e.g. /docs/cli.md.