
Domain Monitor
io.github.jasoncbraatzPublished by GitHub account jasoncbraatzv0.1.1Updated Oct 24, 2026
Query domain expiration data from domain-monitor.io via AI assistants like Claude.
Overview
Unofficial local MCP server that lets an assistant query and add domains in a domain-monitor.io account, including expiry dates and alerts.
- What you can do
- Check which domains expire soon or within a chosen number of days, and list all monitored domains with pagination and expiry filters. Look up a single domain by name and get its expiry details. Read account statistics, subscription status and active alerts. Add a new domain to monitoring with a configurable alert period and certificate, DNS or blacklist check toggles.
- When to use it
- Useful if you already have a domain-monitor.io account and want to ask an assistant about upcoming domain expirations, get a health overview, or register new domains for monitoring without opening the website.
- Requirements
- Runs locally as a Python process (Python 3.10+), installed from the PyPI package or the repository, and configured in an MCP client such as Claude Desktop. Requires a domain-monitor.io account (free or paid) and the environment variables DOMAIN_MONITOR_EMAIL and DOMAIN_MONITOR_PASSWORD. Needs network access to the domain-monitor.io API.
Installation
In SourceWeft
- Open Domain Monitor in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
domain-monitor-mcp
An unofficial MCP (Model Context Protocol) server for domain-monitor.io, enabling AI assistants like Claude to query your domain expiration data directly — no browser required.
Note: This is a community project, not officially supported by domain-monitor.io. It uses the internal API discovered by inspecting browser network traffic. If you're the domain-monitor.io developer and would like to collaborate on an official MCP server or public API, please open an issue — we'd love to work with you!
What it does
Once installed, you can ask Claude things like:
- "Any domains expiring in the next 30 days?"
- "When does braatz.io expire?"
- "Give me a domain health overview"
- "List all my domains sorted by expiry date"
- "Add newdomain.com to domain monitor with a 60-day alert"
No more digging through emails that landed in spam or SMS alerts that got filtered. Just ask.
Tools provided
Installation
Prerequisites
- Python 3.10+
- A domain-monitor.io account (free or paid)
- Claude Desktop (or any MCP-compatible client)
1. Clone this repo
2. Install dependencies
Or with uv (faster):
3. Configure Claude Desktop
Add the following to your Claude Desktop config file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Replace
/absolute/path/to/domain-monitor-mcp/server.pywith the actual path where you cloned this repo.
4. Restart Claude Desktop
After saving the config, fully quit and relaunch Claude Desktop. The domain-monitor tools will appear in Claude's tool list.
Authentication
This server authenticates using your domain-monitor.io email and password via Laravel Sanctum session auth — the same mechanism the website uses under the hood. Sessions are maintained in memory and automatically refreshed if they expire.
Your credentials are never stored to disk — they live only in the environment variables you configure above, and only in memory while the server is running.
How it works (for the curious / developers)
domain-monitor.io is a Nuxt.js SPA backed by a Laravel API. The API lives at https://api.domain-monitor.io/. Authentication follows the standard Laravel Sanctum CSRF + session cookie flow:
GET https://api.domain-monitor.io/sanctum/csrf-cookie→ setsXSRF-TOKEN+domain_monitor_sessioncookiesPOST https://api.domain-monitor.io/loginwith{email, password}+X-XSRF-TOKENheader → authenticates- Subsequent requests to
https://api.domain-monitor.io/api/*use the session cookies + refreshed XSRF token
Key endpoints used:
GET /api/account— account info + user IDGET /api/account-dashboard— summary with expiring domains and alertsGET /api/account/{user_id}/domains— paginated domain list with expiry dataPOST /api/account/{user_id}/domains— add a new domain to monitoring
The POST payload for adding a domain requires these fields:
The API rate limit is 200 requests per session (observed from x-ratelimit-limit response headers).
Contributing
PRs welcome! Some ideas for future improvements:
- Support for uptime monitor queries
- Webhook/notification preference management
- Support for the domain availability checker
- Delete domain from monitoring (intentionally omitted — destructive actions should go through the web UI)
If you're the domain-monitor.io developer and want to add official API token support, this project would love to adopt it — just open an issue!
Troubleshooting
See OPS.md for detailed troubleshooting, reinstallation steps, and architecture notes.
Disclaimer
This project is not affiliated with, endorsed by, or officially supported by domain-monitor.io. It was built by reverse-engineering the browser network traffic. Use at your own risk. The API may change without notice.
License
MIT - Jason C Braatz
Source: README.md at commit 1da8fcc
Tools
0Version history
1- v0.1.1LatestSep 16, 2026
Score
40% 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 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- 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
Declare a license in the repository or the registry entry.