
Domani
run.domaniPublished by domani.runOfficial publisherv0.4.15Updated Oct 24, 2026
Internet identity for AI agents: register or broker domains, email, DNS - pay by card or USDC.
Overview
Domani gives an AI assistant typed tools to search, buy and manage domains, edit DNS, and create, send and receive email on its own domains.
- What you can do
- Search, suggest, buy, renew, transfer and list domains, with pricing and WHOIS lookups
- Read, add, delete, snapshot and restore DNS records, set nameservers and auto-configure DNS for hosting or mail providers
- Create, delete and list mailboxes, read inboxes and folders, send, forward, archive, trash and star messages
- Set up inbound email webhooks and test them, and check domain health for DNS, SSL, email and expiry
- Manage account settings such as auto-renew, WHOIS privacy, parking pages, tokens, invoices and notifications
- When to use it
- Useful when an assistant should obtain and configure its own internet identity: registering a domain, wiring DNS to a host, and running a mailbox it can send from and receive into. Also fits agents that need to provision a domain, mailbox and inbound webhook in one flow.
- Requirements
- A remote endpoint at domani.run with OAuth login required. A Domani account with a saved payment method is needed for purchases; the CLI path uses DOMANI_API_KEY or a keychain login, and DOMANI_ACCOUNT selects among saved accounts.
Installation
In SourceWeft
- Open Domani in the dashboard and add it to a workspace.
- Connect the required credentials. They are stored privately and never shown on public pages.
- Enable the server for the chats that should use its tools.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Use with an agent
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/run.domani%2Fdomani/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Other MCP clients
Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.
{
"mcpServers": {
"domani": {
"type": "http",
"url": "https://domani.run/mcp"
}
}
}README
domani
Domains and email - for humans and AI agents.
Register domains, manage DNS, create mailboxes, send and receive email. From your terminal, your agent, or the web.
How it works
domani gives you one account and multiple ways in:
- Web - Dashboard with a full inbox (compose, reply, threads), DNS editor, domain management
- CLI - This package. Everything the web app does, from your terminal
- MCP Server - typed tools for Claude Code, Cursor, Codex, and any MCP-compatible agent
- OpenClaw -
openclaw skills install @gwendall/domani - Agent Skill - Step-by-step guide your agent can follow. Install with
npx skills add domani.run - REST API - Direct HTTP access to everything
All interfaces share the same API key and the same data.
Install
Secure MCP bridge
Agent plugins can use Domani without placing an API key in a prompt, shell history, or editor configuration:
domani login stores the credential in the operating-system keychain when one
is available. The stdio bridge resolves it locally and forwards MCP requests to
https://domani.run/mcp; stdout remains reserved for JSON-RPC messages.
To pin the bridge to one of several saved accounts, start it with
DOMANI_ACCOUNT=<name> domani mcp serve (or domani --account <name> mcp serve).
For an agent acting on someone else's behalf, request a scoped, expiring credential instead of their account key:
The approval screen shows the requested access and the resulting credential is stored in the keychain without being printed.
After login, prove one complete inbound loop before browsing other tools or buying a domain:
Use --surface plugin, --surface skill, or --surface api when that is the
entry point. This keeps activation attribution consistent without exposing a
credential.
This installs the domani command. Or run directly with npx:
Quick start
Examples
Commands
Domains
Mailzero assistant (private preview)
Tokens need assistant:read for reads and assistant:write for changes.
DNS
Supported providers: Vercel, Netlify, Cloudflare Pages, GitHub Pages, Fly.io, Railway, Render, Google Workspace, Fastmail, Proton Mail.
Settings
Account
Introspection
Agent integration
Built for AI agents and scripts, not just humans.
TTY auto-detect: When stdout is not a terminal, the CLI automatically switches to JSON output and skips confirmation prompts. No --json flag needed.
Paging: list commands print More: --cursor <next_cursor> when another page exists (in JSON mode, read next_cursor); pass it back with --cursor to get the next page.
Structured errors: In JSON mode, errors include code, hint, and fix_command for auto-recovery:
Flags:
Input hardening: All inputs are validated against path traversal, control characters, query strings, and double encoding - common agent hallucinations.
Schema introspection: Run domani schema <command> --json to get parameter types, constraints, and enums before constructing a command.
Payments
Domains are charged to your saved card. Add one at domani.run/dashboard or with domani card add.
Authentication
The CLI checks $DOMANI_API_KEY first, then falls back to the saved login.
Several accounts
The CLI can keep more than one Domani account, each under a name, with its own keychain entry:
The credential a command uses is, in order: DOMANI_API_KEY, --account,
DOMANI_ACCOUNT, then the active account. domani me shows the account in use,
and the buy, renew and transfer confirmations name it before anything is
charged. A login saved by an earlier CLI version becomes the account default,
with nothing to redo.
Scoped API tokens can be created with domani tokens create --scopes read,dns --expires-in 86400.
Environment variables
License
Source: README.md at commit 98c95fa
Tools
0Version history
1- v0.4.15LatestSep 16, 2026
Score
85% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 daysRequired25 pts
- Auth declaredRequired10 pts
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts