Files
Jonathan Miller 95880d3e44
Platform: mokocli CI / Gate 2: Unit Tests (8.1) (pull_request) Blocked by required conditions
Platform: mokocli CI / Gate 2: Unit Tests (8.2) (pull_request) Blocked by required conditions
Platform: mokocli CI / Gate 2: Unit Tests (8.3) (pull_request) Blocked by required conditions
Platform: mokocli CI / Gate 3: Self-Health Check (pull_request) Blocked by required conditions
Platform: mokocli CI / Gate 4: Governance (pull_request) Blocked by required conditions
Platform: mokocli CI / Gate 5: Template Integrity (pull_request) Blocked by required conditions
Platform: mokocli CI / CI Summary (pull_request) Blocked by required conditions
Universal: PR Check / Build RC Package (pull_request) Blocked by required conditions
Universal: PR Check / Report Issues (pull_request) Blocked by required conditions
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Universal: PR Check / Validate PR (pull_request) Failing after 5s
Universal: PR Check / Secret Scan (pull_request) Successful in 7s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Failing after 1s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 14s
Platform: mokocli CI / Gate 1: Code Quality (pull_request) Failing after 53s
chore: complete namespace cleanup — remove all mokoplatform/MokoStandards/MokoEnterprise refs
390 files: templates, workflows, MCP servers, CLI tools, lib, deploy,
validate, wrappers, configs, docs. Pure find-and-replace.
2026-06-21 01:18:13 -05:00
..

dreamhost-mcp

License: GPL-3.0-or-later Node: >=20 MCP SDK TypeScript

MCP server for the DreamHost API -- DNS records, domains, hosting accounts, MySQL databases, and email management.

Part of Moko Consulting infrastructure.


Tools

Tool Description
dreamhost_dns_list List all DNS records (optionally filter by domain)
dreamhost_dns_add Add a DNS record (A, AAAA, CNAME, MX, TXT, SRV)
dreamhost_dns_remove Remove a DNS record (must match record, type, and value exactly)
dreamhost_dns_check Check if a DNS record exists for a domain (optional type filter)
dreamhost_domain_list List all hosted domains
dreamhost_domain_registrations List domain registrations with expiry dates
dreamhost_user_list List hosting users and accounts
dreamhost_account_status Get account status and usage
dreamhost_api_commands List available API commands for the configured key
dreamhost_mysql_list List MySQL databases
dreamhost_mysql_users List MySQL database users
dreamhost_mail_list List email addresses (optionally filter by domain)
dreamhost_rewards_referrals List referral rewards

Prerequisites


Installation

git clone https://git.mokoconsulting.tech/MokoConsulting/dreamhost-mcp.git
cd dreamhost-mcp
npm install && npm run build

Configuration

Create ~/.dreamhost-mcp.json:

{
  "apiKey": "your-dreamhost-api-key"
}

Override the config path with the DREAMHOST_MCP_CONFIG environment variable:

DREAMHOST_MCP_CONFIG=/path/to/config.json node dist/index.js

Claude Code (.mcp.json)

Add to your project or global .mcp.json:

{
  "mcpServers": {
    "dreamhost": {
      "command": "node",
      "args": ["/path/to/dreamhost-mcp/dist/index.js"]
    }
  }
}

Usage Examples

Once connected via MCP, the tools are available to the AI agent directly.

List all DNS records for a domain:

dreamhost_dns_list(domain: "example.com")

Add an A record:

dreamhost_dns_add(record: "sub.example.com", type: "A", value: "1.2.3.4", comment: "staging server")

Remove a DNS record:

dreamhost_dns_remove(record: "sub.example.com", type: "A", value: "1.2.3.4")

Check if a CNAME exists:

dreamhost_dns_check(domain: "sub.example.com", type: "CNAME")

List domain registrations and expiry dates:

dreamhost_domain_registrations()

List MySQL databases:

dreamhost_mysql_list()

Project Structure

src/
  index.ts      # MCP server entry point and tool definitions
  client.ts     # DreamHost API HTTP client (HTTPS, 30s timeout)
  config.ts     # Config file loader (~/.dreamhost-mcp.json)
  types.ts      # TypeScript interfaces (DreamHostConfig, DnsRecord, ApiResponse)

Development

npm run dev      # watch mode (tsc --watch)
npm run build    # compile TypeScript to dist/
npm run start    # run the compiled server
npm run clean    # remove dist/

Documentation

Full documentation is available on the Wiki.

License

GPL-3.0-or-later -- Copyright (C) 2026 Moko Consulting


Moko Consulting -- MokoCli