MCP Introduction

Plug your AI coding agent directly into Nodion. No local daemon, no custom glue code.

Nodion runs a Remote MCP server at https://mcp.nodion.com/mcp. Any MCP-compatible client (Claude Code, Cursor, Zed, OpenAI Codex, Gemini CLI, Windsurf) can authenticate with a Bearer token and drive your Nodion projects in natural language.

How it works

MCP is an open protocol that lets LLMs call external tools. The Nodion MCP server exposes the actions an AI agent needs to manage applications: listing projects, deploying new versions, reading env vars, fetching deployment logs. Each tool maps 1:1 to a public REST API endpoint.

Your API key scopes decide what the agent can do. A read-only key exposes only read tools; a deploy-capable key unlocks deploy, env.set and the other write tools.

1. Create an API key

Head to my.nodion.com → User Settings → Security, click Add API Key, choose the scopes you want to grant and optionally restrict the key to specific projects or set an expiry. The token is shown only once, so copy it straight into your AI client's config.

See the Authentication API docs for the full scope matrix.

2. Connect your AI client

Claude Code

bashclaude mcp add --transport http nodion https://mcp.nodion.com/mcp \
  --header "Authorization: Bearer YOUR_NODION_API_KEY"

Start or restart a Claude Code session. The Nodion tools become available in chat immediately.

Zed

Open the command palette, run zed: open settings and add:

json{
  "context_servers": {
    "nodion": {
      "url": "https://mcp.nodion.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_NODION_API_KEY"
      }
    }
  }
}

OpenAI Codex

Edit ~/.codex/config.toml:

toml[mcp_servers.nodion]
url = "https://mcp.nodion.com/mcp"

[mcp_servers.nodion.http_headers]
Authorization = "Bearer YOUR_NODION_API_KEY"

For cleaner key handling, store the token in an env var and use env_http_headers instead.

Gemini CLI

Edit ~/.gemini/settings.json:

json{
  "mcpServers": {
    "nodion": {
      "httpUrl": "https://mcp.nodion.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_NODION_API_KEY"
      }
    }
  }
}

Cursor

Edit ~/.cursor/mcp.json (global) or .cursor/mcp.json (per project):

json{
  "mcpServers": {
    "nodion": {
      "url": "https://mcp.nodion.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_NODION_API_KEY"
      }
    }
  }
}

Windsurf

Edit ~/.codeium/windsurf/mcp_config.json with the same JSON shape as Cursor.

3. Verify the connection

The easiest sanity check is the MCP Inspector:

bashnpx @modelcontextprotocol/inspector https://mcp.nodion.com/mcp

Set the Authorization header to Bearer YOUR_NODION_API_KEY and you will see the tool manifest.

Available tools

Write tools require confirm=true, so the model must ask before making changes:

Read

  • whoami. Returns the authenticated Nodion user.
  • projects.list. Lists projects this key can access.
  • projects.use. Selects the active project for the session.
  • apps.list, apps.get. Browse applications in the current project.
  • deployments.list, deployments.get. Inspect past deployments.
  • deployments.logs. Last log lines of a deployment (bounded page, up to 1000).
  • env.list. Lists environment variables.
  • domains.list. Lists domains attached to an application.

Write

  • deploy. Creates a new deployment.
  • env.set. Creates or updates an environment variable.
  • env.unset. Removes an environment variable.

Audit log

Every MCP tool call is audited. The originating API key, tool name, project, arguments and duration are recorded so you can review what an agent did on your behalf. View it under User Settings → Security → Audit.

Next steps

  • Prefer a command-line experience? The CLI exposes the same capabilities without needing an MCP client.
  • Building a custom agent? Talk to the REST API directly. MCP tools are a thin wrapper on top.
  • New tools and fixes ship on the Changelog.