MCP Server for Monitoring. Your Agent Runs the Check.

Point any MCP client at https://uptimeify.io/mcp and your AI agent runs SSL, DNS, mail and reachability checks itself. 20 tools anonymously, no token, no setup. Add an API token and it reads your own monitors too.

Made and Hosted in the

European Union

GDPR-Compliant Hosting

in Germany

GEO-Redundant Replica

across the EU

Transport Layer

No more copy and paste. Your agent asks directly.

The usual routine costs you three context switches: open a tab, type the domain, paste the result back into the chat. The MCP server removes the detour. Your agent calls the tool itself, gets structured data back and keeps working, while you stay on the actual question.

  • 20 checks as tools, so you settle certificates, DNS, mail auth and reachability inside the conversation instead of across five tabs.
  • Anonymous, no token required, so you are connected in a minute with nothing to set up.
  • Structured answers, not screenshots, so your agent processes the values instead of just reading them out.
Domain detail with expiry status, registrar and the warning thresholds
Endpoint

Streamable HTTP, stateless. No session, no handshake state for you to maintain.

POST https://uptimeify.io/mcp
Discovery

The server card describes the server in machine-readable form.

GET https://uptimeify.io/.well-known/mcp/server-card.json
Verify

One tools/list call over JSON-RPC against the endpoint, with the header Accept: application/json, text/event-stream. If the server returns the tool list, the connection is live.

Tool Layer

One endpoint. The whole check bench.

The tools mirror our public tools one to one. Certificate expiry, DNS propagation, SPF, DKIM, DMARC, blacklist status, HTTP headers, redirect chains, ports, response times, geolocation. All read-only, none of it touching your systems.

  • TLS and domains, so you can query check_ssl, whois and domain_expiry before a certificate or a domain quietly lapses.
  • DNS and mail auth, so you can walk check_dns, dns_propagation, mx_lookup, spf_check, dkim_check, dmarc_check and dnsbl_check in one pass when mail suddenly stops arriving.
  • HTTP and network, so you can use http_headers, hsts_check, redirect_check, port_check, ping_test, website_status, response_time, ip_geolocation, asn_lookup and reverse_dns straight from the agent.
Incident overview with open, warning and resolved counts and the error per incident
Hosts

check_ssl takes host and an optional port. port_check takes host plus port, ping_test takes host and an optional port.

Domains

The DNS and mail tools take domain, with dkim_check also taking selector.

IPs & URLs

dnsbl_check and reverse_dns take ip. http_headers, redirect_check, website_status and response_time take a full url. ip_geolocation and asn_lookup take query, meaning an IP or a domain.

Scope
read-onlyevery anonymous tool queries, none of them change anything.
Portfolio Layer

Anyone can check a domain. With a token it becomes your portfolio.

Send an API token and your agent stops looking only at the public internet and starts reading your own monitoring. Or let the client log in over OAuth and skip the token entirely. List monitors across all eight families, website, DNS, ICMP, TCP, FTP, SMTP, SSH, IMAP/POP, pull the status of a single monitor, fetch recent incidents, read check history for a date range, summarize uptime and average response time for day, month and year on websites. Thirteen account-bound tools only read. A growing set of write tools can change state too, pausing a monitor, acknowledging an incident and similar, but only behind their own consent scope, granted separately and never by default, see Write scope above. Four of the thirteen read tools cover the operational context around an alarm rather than the monitor itself: which notification channels exist and whether they are active, which alerts actually went out for a monitor and whether they were delivered, which status pages you run, and which maintenance windows are scheduled. The four newest leave the monitors behind entirely and answer who the account is: your organization, the members working in it, the customers in it, and the SMS usage of the current month. Those four hand out a fixed list of fields and nothing else, so contact details, addresses, VAT ids, tariff names and payment methods stay where they are. The client report starts in the chat, not in the spreadsheet.

  • list_monitors and monitor_status, so one sentence tells you what is up and what is not, across any of your eight monitor families.
  • list_incidents and check_history, so you can reconstruct an incident without clicking through views.
  • uptime_summary, so availability and response time are ready when the client asks about a website.
  • list_alert_channels and alert_history, so "why did nobody call me" gets answered in the conversation instead of across three dashboard tabs.
  • list_status_pages and list_maintenance_windows, so you see what your clients see and which window quietly swallowed an alarm.
  • get_organization, list_users and list_customers, so "who is responsible here" and "which client is this again" are answered from the account instead of from memory.
  • billing_summary, so the SMS usage of the running month is on the table before the invoice is, per customer and in total.
API token list in the dashboard, with scope, token hint and expiry per token
Static token

The authenticated tools accept a long-lived API token on the MCP request.

Authorization: Bearer wsm_your_token_here
OAuth

Or your client logs in over OAuth 2.0 with PKCE and never holds a stored secret. It finds the flow through the server card, registers itself at the registration endpoint and runs the authorization-code grant. A bearer the server cannot resolve comes back as a 401 carrying a WWW-Authenticate header that points at the protected-resource metadata, so the client restarts the login on its own.

GET https://uptimeify.io/.well-known/oauth-protected-resource
Scope
organizationcustomeran API token is scoped when you create it, customer field empty for the whole organization, or one customer to bind it there.
OAuth scope

An OAuth session carries what that user may see in Uptimeify right now, and never more than they may do themselves. The binding is re-resolved when the session mints its short-lived inner token, not frozen at login, so access you revoke in the dashboard stops working instead of living on in a stale grant.

Write scope
opt-in

On top of the read tools, a growing set of write tools can change state, pause or resume a monitor, rename it, change its check interval, create or delete one, acknowledge, resolve, update or delete an incident, create, update or delete a maintenance window, create, update or delete a status page or its custom domain, create, update or delete a notification channel for email or SMS, and, in the organization itself, create, update or delete a tag, a custom field or a scheduled report, put a tag on a monitor or take it off, change or deactivate an existing member, and create, update or delete a customer together with the domains and IP addresses watched for it. Each sits behind its own consent scope, checked apart from the matching read scope. Creating or deleting a member is deliberately not among them, and neither is changing your organization's own master data. Only the tools that delete something require an explicit confirmation on the call itself naming the exact change, the others do not. Grant no write scope, and none of this is reachable.

Creation

You create tokens under Settings, API tokens. The token is shown exactly once, at creation.

Arguments

{ "list_monitors, monitor_status and check_history all take an optional kind, covering all eight monitor families (website, dns, icmp, tcp, ftp, smtp, ssh, imap_pop); omit it and list_monitors returns every family while monitor_status and check_history default to website": { " check_history also takes monitor_id plus optional from and to as ISO dates": { " list_incidents takes an optional limit, 100 by default and 500 at most": { " list_alert_channels takes an optional website_id and otherwise answers with your organization-level channels": { " alert_history takes monitor_id plus optional kind, from, to, status (sent or failed), page and limit, 25 per page by default and 100 at most": { " list_status_pages takes no arguments": { " list_maintenance_windows takes an optional active_only and has no date filter, so bound it by time yourself": { " get_organization, list_users, list_customers and billing_summary take no arguments at all, the account follows from the token": { " billing_summary is the one whose answer depends on a second consent area": "it names the customers of its usage breakdown only if the connection also carries the organization area, otherwise the breakdown stays with public ids." } } } } } } } } }

Withheld

{ "The account-bound tools drop what a language model has no business seeing": { " Channel configuration stays out of both alert tools, so no recipient addresses, no phone numbers, no webhook targets": { " Status pages arrive without their design config and without the DNS verification token of a custom domain, and a subscriber list is never returned at all": { " Maintenance windows arrive without the monitor row embedded behind them": { " The four account tools work the other way round": "instead of removing named fields they emit a fixed list and nothing else, so contact and notification e-mail, postal address, VAT id, phone number, custom fields, tariff name, billing e-mail and payment method never leave, and a column added to the endpoint later does not travel out either. list_users carries no member identifier at all, so a member can be named but not referenced." } } } } }

Unauthenticated

No header at all stays fully anonymous. The anonymous tools answer as usual and an authenticated tool returns an error naming the header it needs, rather than an empty result. There is no forced 401 on every request.

We don't just monitor. We help you sell.

Every Uptimeify subscription includes access to our Success Kit, a collection of battle-tested resources to turn your monitoring into a profit center.

SLA & Contract Templates

Service Level Agreement templates to define professional boundaries with your clients.

Pricing Calculator

Find the sweet spot for your care plans. Calculate margins based on check frequency and support hours.

White-Label Pitch Decks

Powerpoint Templates that explain 24/7 monitoring to non-technical clients. Close more retainers.

Churn-Proof Reporting Guide

Use automated reports to proactively communicate value, so clients never ask what they're paying for.

Ready to turn monitoring into a profit center?

Claim your Success Kit and start scaling today.

Frequently Asked Questions

For the technical stakeholder

Ready to put your checks inside your agent?

Add the endpoint, connect, run a check. The anonymous tools cost you nothing and no token. Your own monitors join in as soon as you have them.