dns
Infrastructure as Code for MCP domains / DNS management
Links
README
From the repo.
MCP DNS Management
Infrastructure as Code for managing MCP Cloudflare DNS records using Pulumi.
DNS records are defined in src/config/records.ts, keyed by domain name.
Deployment
Production Deployment (Automated)
Note: Production deployment is automatically handled by GitHub Actions. All merges to the main branch trigger an automatic deployment via the configured GitHub Actions workflow.
Manual Deployment
Pre-requisites:
- Pulumi CLI installed
- Google Cloud SDK installed
- Access to GCP project and GCS bucket
- Required credentials and secrets
- Authenticate with GCP:
gcloud auth application-default login - Get the passphrase file
passphrase.prod.txtfrom the maintainers - Preview changes:
make preview - Deploy changes:
make up
Initial Setup
If setting up this infrastructure for the first time:
1. Create GCS Bucket for Pulumi State
gcloud projects create mcp-dns-prod
gcloud config set project mcp-dns-prod
gcloud services enable storage.googleapis.com
# Create service account for CI/CD
gcloud iam service-accounts create pulumi-svc \
--display-name="Pulumi Service Account"
gcloud projects add-iam-policy-binding mcp-dns-prod \
--member="serviceAccount:pulumi-svc@mcp-dns-prod.iam.gserviceaccount.com" \
--role="roles/storage.admin"
gcloud iam service-accounts keys create sa-key.json \
--iam-account=pulumi-svc@mcp-dns-prod.iam.gserviceaccount.com
# Create bucket
gsutil mb gs://mcp-dns-prod-pulumi-state
2. Create Cloudflare API Token
- Go to Cloudflare API Tokens
- Create a token with Zone:DNS:Edit permission for the zones you want to manage
- Note the token value
3. Initialize Pulumi Stack
# Login to Pulumi backend
pulumi login gs://mcp-dns-prod-pulumi-state
# Create production stack
export PULUMI_CONFIG_PASSPHRASE_FILE=passphrase.prod.txt
pulumi stack init prod
# Configure application secrets in Pulumi
pulumi config set --secret cloudflare:apiToken "your-api-token"
pulumi config set cloudflare:accountId "your-account-id"
You can find your Cloudflare Account ID in the Cloudflare dashboard URL or in the right sidebar of any zone's overview page.
4. Configure GitHub Actions Secrets
Add the CI/CD secrets to GitHub Actions (repository settings → Secrets and variables → Actions):
GCP_PROD_SERVICE_ACCOUNT_KEY: Content ofsa-key.jsonPULUMI_PROD_PASSPHRASE: The passphrase you set above
Collected info
- ★ 11 stars
- ⎇ 11 forks
- Language: TypeScript
- Source updated: 9/16/2026
Config for your environment
Replace {MCP_ENDPOINT_URL} with this MCP’s endpoint URL (from its repo or docs above). No API key — you connect directly.
Tool
OS
Config file: ~/.cursor/mcp.json
{
"mcpServers": {
"mcp-server": {
"url": "{MCP_ENDPOINT_URL}"
}
}
}Paste into mcpServers in the config file. Restart Cursor after saving.
If this MCP is also published on mcpchannel.ai, you can subscribe from Browse and use the gateway config there instead.