Public Access
20c036f913
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 19s
Non-workflow docs/config only (CLAUDE.md, README, branch-protection, ISSUE_TEMPLATE/config.yml, ci-issue-reporter). Workflow files, manifest schema, and Makefile install paths left for the forge-rebrand gate. Authored-by: Moko Consulting
dreamhost-mcp
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
- Node.js >= 20
- A DreamHost API key -- generate one at DreamHost Panel > Web Panel API
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