AgentDomains
Health Gecti
- License — License: NOASSERTION
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Community trust — 37 GitHub stars
Code Uyari
- Code scan incomplete — No supported source files were scanned during light audit
Permissions Gecti
- Permissions — No dangerous permissions requested
Bu listing icin henuz AI raporu yok.
Free subdomains under makes.fyi / agentdomains.co, claimed from the CLI. A/AAAA/CNAME/TXT/NS records, auto-HTTPS proxy and forwarding for the sites and APIs AI agents build.
agent·domains
Free public domains for the sites your AI agents build. One command.
When an AI agent builds a website or an API, it needs a domain to serve it on.
AgentDomains hands one out from a single CLI command (yourname.makes.fyi oryourname.agentdomains.co), and the agent wires it up by itself. Signing up needs
nothing at all; the first name you register needs an email address, used only for the
verification link and for notices before a name is reclaimed.
agentdomains signup
agentdomains claim myapp --email [email protected] --type A --content 203.0.113.10
# → myapp.makes.fyi now resolves on the public internet ✨
Price: free for up to 10 names, no card. Need more? Pro is $5/month for 100 names
(agentdomains upgrade). See agentdomains.co/pricing.
Against the alternatives: agentdomains.co/compare.
Why it's built for agents
- Signup asks for nothing.
signupissues an API key right away, no email, no form.
Registering the account's first name takes--email, which is where the confirmation
link goes; confirm within 30 days or the account and its names are deleted. Later claims
on the same account need no email. - Two domains, your pick. Claim under
makes.fyi(default) oragentdomains.co
with--domain. The same label can live under each independently. - Scriptable by design. Add
--jsonto any command for clean machine output, and
pass credentials via env vars so there's no interactive setup in a sandbox. - Bring your own SSL. Point a domain at your server (Let's Encrypt HTTP-01 just
works) or add a TXT record withagentdomains txtfor DNS-01 challenges. - Zero dependencies. A single small Go binary, standard library only. It reads
end to end, and the API token never lives in the client.
Install
# Go toolchain (1.22+):
go install github.com/tashfeenahmed/AgentDomains/cmd/agentdomains@latest
# …or grab a prebuilt binary for your platform (macOS/Linux/Windows, amd64 + arm64)
# from the latest release, verify it against SHA256SUMS, and put it on your PATH:
# https://github.com/tashfeenahmed/AgentDomains/releases/latest
The module path is case-sensitive: it is .../AgentDomains/..., matching the repository
name, even though the command and the brand are lowercase.
Quickstart
agentdomains signup # instant account + API key
agentdomains claim myapp --email [email protected] --type A --content 203.0.113.10
dig +short myapp.makes.fyi # 203.0.113.10 ✨
# later claims on the same account no longer need --email:
agentdomains claim myapp --domain agentdomains.co --type A --content 203.0.113.10
Labels are lowercased when you claim them, so MyApp becomes myapp.makes.fyi.
Pass --type/--content whenever you already know where the name should point:
a claim without a record (and without a later record/forward/proxy) is a
name that answers nothing — the API marks it "serving": false and prints anext_step, and list/get keep flagging it until you fix it.
MCP
Everything below is also available over the Model Context Protocol,
so an agent can register and manage names as typed tool calls instead of shelling out.
Seventeen tools, the same on either transport.
Hosted — Streamable HTTP at https://mcp.agentdomains.co, nothing to install:
claude mcp add --transport http agentdomains https://mcp.agentdomains.co \
--header "Authorization: Bearer adom_…"
{
"mcpServers": {
"agentdomains": {
"type": "http",
"url": "https://mcp.agentdomains.co",
"headers": { "Authorization": "Bearer adom_…" }
}
}
}
Local (stdio) — npx fetches the server on demand:
{
"mcpServers": {
"agentdomains": {
"command": "npx",
"args": ["-y", "agentdomains-mcp"],
"env": { "AGENTDOMAINS_API_KEY": "adom_…" }
}
}
}
Same API key as the CLI (~/.agentdomains/config.json) — the stdio server reads it from
there, so the env block is only needed if you have not run agentdomains signup.
Full tool list and per-client setup: docs.agentdomains.co/#mcp.
Source: tashfeenahmed/AgentDomains-mcp.
Commands
| Command | What it does |
|---|---|
agentdomains signup |
Create an account; saves the API key to ~/.agentdomains/config.json |
agentdomains whoami |
Show account, quota, usage, and available domains; while an account is still provisional it counts down the days left to validate, because an unvalidated account and its names are deleted |
agentdomains email <addr> |
Attach an email so a human can validate the account |
agentdomains claim <label> |
Claim <label>.makes.fyi (or --domain agentdomains.co); --email is required on the account's first claim; optionally --type/--content/--host |
agentdomains list |
List your domains |
agentdomains get <label> |
Show one domain and its records |
agentdomains record <label> --type A --content <ip> |
Add a DNS record (prints the record id) |
agentdomains unrecord <label> <record-id> |
Remove one record, keeping the name (ids come from get) |
agentdomains forward <label> <url> |
Forward (HTTP redirect) the subdomain to a URL; claims it if needed, and replaces any address record on the name |
agentdomains unforward <label> |
Remove a forward (keeps the label) |
agentdomains proxy <label> <host> |
Serve a backend at the subdomain over HTTPS on our certificate; claims it if needed, and replaces any address record on the name |
agentdomains unproxy <label> |
Tear the reverse proxy down (keeps the label) |
agentdomains ns <label> <ns1> <ns2> |
Delegate the domain to your own nameservers |
agentdomains txt <label> <value> [--host _acme-challenge] |
Add a TXT record (for SSL) |
agentdomains delete <label> |
Delete a domain and its records |
agentdomains account delete [--force] |
Close the account and invalidate its key; --force also deletes the names it holds |
agentdomains recover-key <email> |
Lost your API key? Emails a one-time reset link for the account with that verified email (no key needed to run it) |
agentdomains check <label>... |
Is a name free? Asks the public availability endpoint; several labels at once, no key needed |
agentdomains version |
Print the CLI version |
Global flags: --json (machine output), --api-url (override endpoint),--domain (which domain to act under). Env: AGENTDOMAINS_API_KEY,AGENTDOMAINS_API_URL, handy for non-interactive or sandboxed agents.
Example: an agent gives itself a public HTTPS endpoint
agentdomains signup
agentdomains claim my-bot --email [email protected] --type A --content "$(curl -s ifconfig.me)"
# run a server on :80, then get a cert over HTTP-01:
certbot certonly --standalone -d my-bot.makes.fyi
For DNS-01 (no inbound server needed), drop the ACME token in a TXT record:
agentdomains txt my-bot "<token-from-acme-client>" --host _acme-challenge
Example: forward a subdomain to an existing site
agentdomains forward me https://my-portfolio.example.com
# me.makes.fyi -> 302 redirect to https://my-portfolio.example.com
# --permanent use a 301 instead of the default 302
# --no-preserve-path always land on the target root
Forwards are real HTTP redirects served at Cloudflare's edge with valid HTTPS.
The request path and query are preserved by default.
A forward or a proxy takes the hostname over. Any A/AAAA/CNAME sitting on
the name itself is deleted as part of the call and reported back, so you can see
what you traded:
✓ shop.makes.fyi → (302 temporary, path preserved) https://example.com
1 record(s) replaced by the forward:
A shop.makes.fyi -> 203.0.113.10
Records on a sub-label (www.shop.makes.fyi) are separate hostnames and survive.
If the forward then fails to come up, the replaced records are put back — with new
ids, so re-read them with get before using unrecord.
Undoing things
agentdomains get myapp # record ids are printed next to each record
agentdomains unrecord myapp <record-id> # drop one record, keep the name
agentdomains delete myapp # drop the name and everything on it
agentdomains account delete # close the account (refuses while names are held)
agentdomains account delete --force # …and take the names with it
account delete clears the saved API key, because it stops working the moment the
account is gone. Re-claiming a name you already hold is not an error: it prints
"you already own …" and exits 0, so a claim is safe to run twice.
How many names
A free account may hold at most 10 names at a time. Delete one you no longer use to
free a slot, or upgrade:
agentdomains upgrade # prints a Stripe checkout link ($5/month); opens it on a terminal
agentdomains upgrade --yearly # $48/year
agentdomains billing # card, invoices, switch interval, cancel
Pro raises the limit to 100 names, keeps your names even when their origin has
been unreachable for weeks (free names that stay dark for 45 days are released), and gets
priority email support. Everything else (records, forwards, proxies, NS delegation) is the
same on both plans. Cancelling never deletes a name: you keep what you hold and just can't
add past the free limit. whoami shows your plan.
Accounts whose email is never confirmed, and the names on them, are deleted after 30 days.
Using it from Claude / agents
There's a ready-made skill that teaches an agent to use this CLI:
tashfeenahmed/AgentDomains-skill.
/plugin marketplace add tashfeenahmed/AgentDomains-skill
License
FSL-1.1-Apache-2.0, the Functional Source License:
free to use, modify, and redistribute for any purpose except building a competing
product or service. Converts to Apache-2.0 two years after each release.
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi