loading…
Search for a command to run...
loading…
Enables AI assistants to manage Google Cloud DNS zones and records, supporting full CRUD operations for various record types and DNSSEC management. It provides
Enables AI assistants to manage Google Cloud DNS zones and records, supporting full CRUD operations for various record types and DNSSEC management. It provides secure service account authentication to interact directly with Google Cloud's global DNS infrastructure.
npm version License: MIT MCP Compatible
A comprehensive Model Context Protocol (MCP) server for managing Google Cloud DNS managed zones and records via the Google Cloud DNS API. This server enables AI assistants like Claude to manage DNS infrastructure directly through Google Cloud's robust DNS service.
Run the server directly with npx (requires Node.js 18+):
npx @artik0din/mcp-gcloud-dns
Or install locally:
npm install -g @artik0din/mcp-gcloud-dns
mcp-gcloud-dns
Create a .env file in your working directory:
| Variable | Required | Description |
|---|---|---|
GOOGLE_CLOUD_PROJECT_ID |
✅ | Your Google Cloud project ID |
GOOGLE_CLOUD_CREDENTIALS |
✅ | Service account JSON credentials as a string |
dns-mcp-server)Grant one of these roles to your service account:
roles/dns.admindns.managedZones.listdns.managedZones.getdns.resourceRecordSets.listdns.changes.createdns.changes.get# Your project ID
export GOOGLE_CLOUD_PROJECT_ID="your-project-id"
# Service account JSON as a string (escape quotes)
export GOOGLE_CLOUD_CREDENTIALS='{"type":"service_account","project_id":"your-project",...}'
Add this to your Claude Desktop configuration:
{
"mcpServers": {
"google-cloud-dns": {
"command": "npx",
"args": ["@artik0din/mcp-gcloud-dns"],
"env": {
"GOOGLE_CLOUD_PROJECT_ID": "your-project-id",
"GOOGLE_CLOUD_CREDENTIALS": "{\"type\":\"service_account\",\"project_id\":\"your-project\",...}"
}
}
}
}
Use the command npx @artik0din/mcp-gcloud-dns with the appropriate environment variables set.
List all DNS managed zones in your Google Cloud project.
Parameters: None
Example:
List all my Google Cloud DNS zones
Show all managed zones in the project
Get detailed information about a specific managed zone.
Parameters:
zoneName (string, required): Managed zone name (not the DNS name)Example:
Get details for zone my-example-zone
Show information about production-dns-zone
List DNS records in a managed zone with optional filtering.
Parameters:
zoneName (string, required): Managed zone nametype (string, optional): Filter by record type (A, AAAA, CNAME, MX, TXT, etc.)name (string, optional): Filter by record name (must include trailing dot)Example:
List all records in zone my-example-zone
Show A records in zone production-dns
Get records for www.example.com. in zone my-zone
Create a new DNS record in a managed zone.
Parameters:
zoneName (string, required): Managed zone namename (string, required): Record name (must end with zone's DNS name and trailing dot)type (string, required): Record type (A, AAAA, CNAME, MX, TXT, etc.)ttl (number, optional): TTL in seconds (defaults to 300)rrdatas (array, required): Array of record data valuesExample:
Create A record for www.example.com. pointing to 1.2.3.4 in zone my-zone
Add CNAME record for blog.example.com. pointing to www.example.com. with TTL 3600
Create MX record for example.com. with priority 10 pointing to mail.example.com.
Update an existing DNS record.
Parameters:
zoneName (string, required): Managed zone namename (string, required): Record name to updatetype (string, required): Record typettl (number, optional): New TTL in secondsrrdatas (array, required): New record data valuesExample:
Update A record for www.example.com. to point to 5.6.7.8 in zone my-zone
Change TTL of CNAME record blog.example.com. to 7200 seconds
Update MX record for example.com. to use new mail server
Delete a DNS record from a managed zone.
Parameters:
zoneName (string, required): Managed zone namename (string, required): Record name to deletetype (string, required): Record typeExample:
Delete A record for old.example.com. from zone my-zone
Remove CNAME record for staging.example.com.
Delete TXT record for verification.example.com.
The server supports all standard DNS record types available in Google Cloud DNS:
www.example.com.)@ or the zone's DNS name for apex recordsThe server provides detailed error messages for common scenarios:
# Clone the repository
git clone https://github.com/artik0din/mcp-gcloud-dns.git
cd mcp-gcloud-dns
# Install dependencies
npm install
# Build the project
npm run build
# Run locally
npm start
"Authentication failed"
"Zone not found"
"Record already exists"
This server uses Google Cloud DNS REST API v1. It supports:
MIT License - see LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.
Built with:
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"google-cloud-dns-mcp-server": {
"command": "npx",
"args": []
}
}
}