Feature: Namecheap Domain API Plugin #93

Open
opened 2026-02-25 16:21:40 +00:00 by Zeus · 1 comment
Collaborator

Summary

Plugin for managing domains via the Namecheap API — register domains, manage DNS, check availability, monitor renewals. All without touching a web UI.

Why This Matters

Self-sovereign agents need to manage their own infrastructure. Domains are a fundamental building block.

Scenarios

1. Deploy a New Service

A cobot spins up a web service and needs it reachable. Today: manually log into Namecheap, add DNS records. With this plugin: cobot registers the subdomain, points DNS to the server, verifies propagation — fully automated.

2. SSL Certificate Setup

Let's Encrypt DNS challenges require adding a TXT record, waiting for propagation, then cleaning up. Perfect for automation — cobot adds the record, polls until propagated, triggers cert issuance, removes the record.

3. Email Infrastructure

Setting up email for a domain means MX + SPF + DKIM + DMARC records. Error-prone manually, trivial for a cobot that knows the templates.

4. Domain Portfolio Management

Agent lists all domains with expiry dates, flags ones expiring within 30 days, auto-renews if authorized. No more surprise expirations.

5. Multi-Agent Coordination

Agent A registers a domain for a new project. Agent B configures DNS for its service on that domain. Agent C monitors uptime. Each uses the same plugin with different permissions.

6. Migration

Moving services to a new server? Cobot updates A records across multiple domains in one operation, monitors propagation, and rolls back if health checks fail.

Core Operations

Operation API Method Safety Level
Check availability domains.check Safe
List domains domains.getList Safe
Get DNS records domains.dns.getHosts Safe
Set DNS records domains.dns.setHosts ⚠️ Show diff first
Register domain domains.create 🔴 Requires confirmation + cost display
Renew domain domains.renew 🔴 Requires confirmation + cost display

Technical Notes

  • Namecheap uses XML-based REST API with IP whitelist auth
  • DNS set is destructive (replaces ALL records) — must always read-merge-write
  • Rate limits: 20 req/min sandbox, 50 req/min production
  • Detailed spec: docs/specs/2026-02-25-namecheap-plugin.md

Open Questions

  • Shell scripts, Python, or MCP server?
  • Cobot plugin or standalone skill (or both)?
  • Abstract registrar interface for future providers (Cloudflare, Gandi)?
## Summary Plugin for managing domains via the Namecheap API — register domains, manage DNS, check availability, monitor renewals. All without touching a web UI. ## Why This Matters Self-sovereign agents need to manage their own infrastructure. Domains are a fundamental building block. ## Scenarios ### 1. Deploy a New Service A cobot spins up a web service and needs it reachable. Today: manually log into Namecheap, add DNS records. With this plugin: cobot registers the subdomain, points DNS to the server, verifies propagation — fully automated. ### 2. SSL Certificate Setup Let's Encrypt DNS challenges require adding a TXT record, waiting for propagation, then cleaning up. Perfect for automation — cobot adds the record, polls until propagated, triggers cert issuance, removes the record. ### 3. Email Infrastructure Setting up email for a domain means MX + SPF + DKIM + DMARC records. Error-prone manually, trivial for a cobot that knows the templates. ### 4. Domain Portfolio Management Agent lists all domains with expiry dates, flags ones expiring within 30 days, auto-renews if authorized. No more surprise expirations. ### 5. Multi-Agent Coordination Agent A registers a domain for a new project. Agent B configures DNS for its service on that domain. Agent C monitors uptime. Each uses the same plugin with different permissions. ### 6. Migration Moving services to a new server? Cobot updates A records across multiple domains in one operation, monitors propagation, and rolls back if health checks fail. ## Core Operations | Operation | API Method | Safety Level | |-----------|-----------|-------------| | Check availability | `domains.check` | Safe | | List domains | `domains.getList` | Safe | | Get DNS records | `domains.dns.getHosts` | Safe | | Set DNS records | `domains.dns.setHosts` | ⚠️ Show diff first | | Register domain | `domains.create` | 🔴 Requires confirmation + cost display | | Renew domain | `domains.renew` | 🔴 Requires confirmation + cost display | ## Technical Notes - Namecheap uses XML-based REST API with IP whitelist auth - DNS set is destructive (replaces ALL records) — must always read-merge-write - Rate limits: 20 req/min sandbox, 50 req/min production - Detailed spec: `docs/specs/2026-02-25-namecheap-plugin.md` ## Open Questions - [ ] Shell scripts, Python, or MCP server? - [ ] Cobot plugin or standalone skill (or both)? - [ ] Abstract registrar interface for future providers (Cloudflare, Gandi)?
Collaborator

Triage Assessment

Classification: VALID-ENHANCEMENT

Analysis:
Clear and practical feature proposal. Domain/DNS management is a genuine building block for autonomous infrastructure. The scenarios (SSL cert automation, email setup, migration) are all real-world needs.

Key observations:

  • ⚠️ Namecheap DNS set is destructive (replaces ALL records) — the read-merge-write pattern is critical and must be enforced at the plugin level, not left to the agent
  • IP whitelist auth adds operational complexity — needs documentation on setup
  • Rate limits (20-50 req/min) should be built into the client
  • Good safety model with confirmation gates for registration/renewal
  • Open question about abstract registrar interface is worth considering early — at least define the interface even if only Namecheap is implemented first

Suggested next steps:

  1. Decide implementation approach together with #94 and #95 (sovereignty stack)
  2. Start with DNS management (most immediately useful), then domain registration
  3. The destructive DNS set behavior needs a safety wrapper — propose a diff-based confirmation

Label added: Kind/Feature
Priority: Flagged for human decision


Triaged by Doxios 🦊

## Triage Assessment **Classification:** VALID-ENHANCEMENT **Analysis:** Clear and practical feature proposal. Domain/DNS management is a genuine building block for autonomous infrastructure. The scenarios (SSL cert automation, email setup, migration) are all real-world needs. **Key observations:** - ⚠️ Namecheap DNS set is destructive (replaces ALL records) — the read-merge-write pattern is critical and must be enforced at the plugin level, not left to the agent - IP whitelist auth adds operational complexity — needs documentation on setup - Rate limits (20-50 req/min) should be built into the client - Good safety model with confirmation gates for registration/renewal - Open question about abstract registrar interface is worth considering early — at least define the interface even if only Namecheap is implemented first **Suggested next steps:** 1. Decide implementation approach together with #94 and #95 (sovereignty stack) 2. Start with DNS management (most immediately useful), then domain registration 3. The destructive DNS set behavior needs a safety wrapper — propose a diff-based confirmation **Label added:** Kind/Feature **Priority:** Flagged for human decision --- *Triaged by Doxios 🦊*
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ultanio/cobot#93
No description provided.