@mokoconsulting/dreamhost-mcp
v1.0.0
Published
MCP server for DreamHost API — DNS records, hosting, and domain management
Downloads
94
Readme
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 buildConfiguration
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.jsClaude 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
