Get the FREE Ultimate OpenClaw Setup Guide →

datum

A remote MCP with OAuth that gives AI tools secure access to your Datum resources

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio datum-cloud-datum-mcp datum-mcp \
  --env DATUM_ORG="active organization for project listing" \
  --env DATUM_TOKEN="override bearer token; skips login" \
  --env DATUM_USER_ID="override user subject; otherwise from stored credentials" \
  --env DATUM_VERBOSE="true to print verbose auth logs" \
  --env DATUM_CLIENT_ID="inferred for *.datum.net and *.staging.env.datum.net" \
  --env DATUM_API_HOSTNAME="derived from auth host if unset" \
  --env DATUM_AUTH_HOSTNAME="auth.datum.net (default)"

How to use

Datum MCP Server exposes a set of management tools that interact with Datum Cloud resources over MCP. The server runs in stdio mode and communicates with clients via JSON-RPC over standard input/output. Once registered with an MCP client (e.g., Claude Desktop) as a transport, you can issue commands to list and manage organizations, projects, domains, proxies, routes, gateways, traffic policies, and DNS records. The tools accept JSON inputs and return a structured response along with a human-friendly text block for UI presentation. Tools cover a broad spectrum of Datum Cloud resources, including organization memberships, users, projects, domains, HTTP proxies, HTTP routes, gateways, traffic protection policies, DNS zones and records, DNS zone classes, and CRDs (apis).

Typical workflows involve selecting an organization, listing and setting the active project, and then performing create/list/update/delete actions on the desired resource type. For example, you can list memberships for the current user, set an active organization, list projects within that org, and then create or update DNS zones or HTTP proxies within the chosen project. Each tool follows a consistent input shape, e.g., { "action": "list" } for listing, or { "action": "get", "id": "<name>" } to fetch a specific resource. OAuth flow is implemented with PKCE; on first run, the server will launch a browser to complete authentication and will store credentials in the system keychain for reuse.

How to install

Prerequisites:

  • Go toolchain installed (Go 1.20+ recommended)
  • Access to Datum Cloud (required for OAuth flow)
  • Optional: Docker if you prefer containerized setup
  1. Build from source
  • Ensure Go is installed and your GOPATH is set up
  • Clone the repository and navigate to the project root
  • Build the MCP server binary:
go build ./cmd/datum-mcp
  1. Run the MCP server locally (stdio mode)
  • After building, start the server (in a terminal):
datum-mcp
  1. Quick install via release binary (recommended for end users)
  • Download the appropriate binary from the latest release pages:
    • macOS: datum-mcp_darwin_arm64 or datum-mcp_darwin_amd64
    • Linux: datum-mcp_linux_amd64 or datum-mcp_linux_arm64
    • Windows: datum-mcp_windows_amd64.exe
  • Rename to datum-mcp (or datum-mcp.exe on Windows) and place it on your PATH
  • Run:
datum-mcp
  1. Optional: Install via curl script (auto-detect platform)
curl -fsSL https://github.com/datum-cloud/datum-mcp/releases/latest/download/install.sh | sh
  1. Verify environment variables (optional)
  • You can customize authentication and behavior with environment variables as described in the README, for example:
export DATUM_AUTH_HOSTNAME=auth.datum.net
export DATUM_VERBOSE=true
  1. Register with MCP client
  • In Claude Desktop or Claude CLI, register datum-mcp as a command transport pointing to the built executable (stdio mode is supported).

Additional notes

Tips and caveats:

  • The MCP server uses OAuth 2.1 PKCE; first run will prompt a browser-based login and store credentials in the system keychain. Subsequent requests refresh tokens automatically.
  • Logs are written to stderr; MCP JSON-RPC results are returned on stdout.
  • If you encounter token or host-related issues, verify environment variables (DATUM_AUTH_HOSTNAME, DATUM_API_HOSTNAME, DATUM_CLIENT_ID) and the presence of stored credentials.
  • For large datasets (e.g., DNS zones or CRDs), use pagination-like inputs where supported by the tool to avoid over-fetching.
  • If you need to bypass interactive login for automation, you can supply a valid bearer token via DATUM_TOKEN.
  • Ensure the CLI/GUI client you use is compatible with stdio-based MCP servers via the registered transport.

Related MCP Servers

Sponsor this space

Reach thousands of developers