Documentation
Everything you need to set up and manage your subdomains.
Quick Start
Get your subdomain running in under a minute. No sign-up required:
- 1
Go to the dashboard
Open the dashboard — an anonymous session is created automatically.
- 2
Choose your subdomain
Pick any available name and it becomes yourname.pntr.dev
- 3
Add DNS records
Point your subdomain to an IP address, another domain, or add MX/TXT records.
- 4
You're live
DNS propagates immediately via Cloudflare. Optionally enable email inbox.
Want permanent ownership? Sign in with GitHub to keep your subdomains forever, unlock multiple subdomains, MCP integration, and public inbox links.
DNS Record Types
Choose the right record type for your use case:
Points to an IPv4 address. Use for servers with a static IP.
Example: 192.0.2.1Points to an IPv6 address. Use for IPv6-only or dual-stack setups.
Example: 2001:db8::1Points to another domain. Target must accept your subdomain. Cannot coexist with other record types.
Example: myapp.vercel.appMail exchange record. Routes email to a mail server. Requires a priority value (lower = higher priority).
Example: mail.example.com (priority: 10)Text record for verification, SPF, DKIM, or other metadata.
Example: v=spf1 include:_spf.google.com ~allNote: CNAME records only work when the target service accepts your subdomain hostname. Compatible services include Vercel, Netlify, GitHub Pages, Railway, and Fly.io.
Email Inbox
Every subdomain can receive emails with a built-in disposable inbox.
How It Works
- 1. Enable email on any subdomain from the dashboard
- 2. Send emails to [email protected] — any address before the @ works
- 3. Emails appear in your inbox instantly
Public Inbox Links
Generate a shareable public link for your inbox. Anyone with the link can view emails (read-only). Revoke access at any time from the dashboard. Requires a GitHub account.
Note: Emails are automatically deleted after 48 hours. The inbox is intended for disposable use — testing, verification codes, and temporary communication.
MCP Integration
Manage subdomains through Claude, Cursor, or any MCP-compatible AI assistant.
Quick Setup (One Command)
Run this command to automatically configure MCP:
npx @pntr/cli setup-mcpThis authenticates you and adds PNTR to your MCP config automatically.
Claude Code
For Claude Code:
claude mcp add pntr -- npx @pntr/cli serveManual Setup
Add PNTR to your MCP client config:
~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"pntr": {
"url": "https://api.pntr.dev/mcp/sse"
}
}
}No token needed. Your MCP client will open a browser window to sign in with GitHub on first connection.
Config file locations
- Claude Desktop:
~/Library/Application Support/Claude/claude_desktop_config.json - Claude Code:
~/.claude.json - Cursor:
~/.cursor/mcp.json
Available Tools
list_domainsList available domains
check_subdomainCheck availability
list_subdomainsList your subdomains
register_subdomainRegister new subdomain
update_subdomainUpdate DNS records
delete_subdomainDelete a subdomain
CLI Usage
The PNTR CLI can be used standalone without MCP integration.
# Authentication
pntr login # Authenticate with PNTR
pntr logout # Clear stored credentials
pntr status # Show authentication status
# MCP Server
pntr serve # Start MCP server for AI integration
pntr setup-mcp # Configure MCP for all detected clients
# Version
pntr version # Show version informationAPI Reference
REST API for programmatic access. Most endpoints require authentication via API token or session.
Authentication
curl -H "Authorization: Bearer YOUR_API_TOKEN" \
https://api.pntr.dev/api/subdomainsEndpoints
/api/check/{domainId}/{name}/api/subdomains/api/subdomains{
"name": "mysubdomain",
"domain_id": "uuid",
"record_type": "CNAME",
"record_value": "myapp.vercel.app"
}/api/subdomains/{id}/api/subdomains/{id}Limits & Quotas
| Resource | Anonymous | Free (GitHub) | Premium |
|---|---|---|---|
| Subdomains | 1 | 1 | 10 |
| DNS records per subdomain | 10 | ||
| Email inbox | Yes | Yes | Yes |
| Email retention | 48 hours | ||
| Public inbox links | — | Yes | Yes |
| MCP integration | — | Yes | Yes |
| Permanent ownership | — | Yes | Yes |
| Subdomain length | 1–63 characters | ||
Subdomain Rules
- • Must contain only lowercase letters, numbers, and hyphens
- • Cannot start or end with a hyphen
- • Cannot contain consecutive hyphens
- • Some names are reserved (www, api, mail, etc.)
FAQ
Do I need to sign up?
No. You can create a subdomain anonymously without any account. Sign in with GitHub later if you want permanent ownership, multiple subdomains, MCP integration, and public inbox links.
How long until my subdomain is active?
DNS changes propagate immediately through Cloudflare. Your subdomain should be accessible within seconds.
Can I use HTTPS?
Yes. All subdomains get automatic SSL via Cloudflare. HTTPS works out of the box.
How does the email inbox work?
Enable email on any subdomain and you can receive emails at any address @yourname.pntr.dev. Emails are automatically deleted after 48 hours. The inbox is ideal for testing, verification codes, and temporary communication.
What are public inbox links?
You can generate a shareable link that gives read-only access to your inbox. Useful for sharing incoming emails with others. You can revoke the link at any time. Requires a GitHub account.
Why doesn't my CNAME work?
CNAME records only work when the target server accepts requests for your subdomain. Use services like Vercel, Netlify, or GitHub Pages that support custom domains. CNAME records also cannot coexist with other record types on the same subdomain.
Is this really free?
Yes. Anonymous and GitHub-authenticated usage is free. Premium tiers are available for users who need more subdomains.
What happens to my anonymous subdomain?
Anonymous subdomains are tied to your browser session. If you clear cookies or switch browsers, you may lose access. Sign in with GitHub to keep your subdomains permanently.
Questions? Open an issue on GitHub