Merlonix Monitoring
Monitoring for agencies — uptime, SSL, DNS, blocklists, AI visibility, MCP health. 8 no-auth tools.
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"monitoring": {
"url": "https://api.merlonix.com/mcp"
}
}
}Puntos de conexión remotos
https://api.merlonix.com/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (16)
🟢check_domain_health(hostname)
Check the live SSL/TLS certificate (validity + expiry + issuer), DNS records (A/AAAA/MX/NS resolution), and domain-registration (RDAP) expiry of any public hostname. Each leg fails soft and is reported independently.
Esquema de entrada
{
"type": "object",
"properties": {
"hostname": {
"type": "string",
"description": "A public hostname, e.g. example.com"
}
},
"required": [
"hostname"
],
"additionalProperties": false
}🟢check_agent_readiness(hostname)
Score how ready a website is for AI agents and answer engines. Fetches /llms.txt, /robots.txt, and the homepage and returns a letter grade with per-signal findings. No browser rendering or LLM call — deterministic HTTP/parse.
Esquema de entrada
{
"type": "object",
"properties": {
"hostname": {
"type": "string",
"description": "A public hostname, e.g. example.com"
}
},
"required": [
"hostname"
],
"additionalProperties": false
}🟢check_mcp_health(url)
Health-check a live MCP (Model Context Protocol) server by URL: performs a real JSON-RPC initialize handshake, then tools/list, and returns whether it is up/degraded/down, its protocol version, server name/version, the callable tool/resource/prompt inventory, transport, and handshake latency. Deterministic — no LLM. Use it to verify your own MCP server is alive and spec-compliant.
Esquema de entrada
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "The MCP endpoint URL, e.g. https://example.com/mcp"
}
},
"required": [
"url"
],
"additionalProperties": false
}🟢check_email_blacklist(domain)
Check whether a domain or IP is listed on the major DNS blocklists (DNSBLs) that mail providers consult before accepting mail — the usual reason legitimate mail silently lands in spam. Returns each zone checked, whether it is listed, and the return code. Deterministic DNS lookups, no LLM.
Esquema de entrada
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "A public domain or IP address, e.g. example.com or 203.0.113.10"
}
},
"required": [
"domain"
],
"additionalProperties": false
}🟢check_broken_links(url)
Scan one web page for dead links (4xx/5xx/unreachable) and mixed content (http subresources on an https page). Returns each link with its status. Single-page scan, not a crawl — pass the exact page URL. Rate-limited to a few scans per minute, so batch calls will be throttled.
Esquema de entrada
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "The exact page URL to scan, e.g. https://example.com/pricing"
}
},
"required": [
"url"
],
"additionalProperties": false
}🟢list_vendor_status
List the current operational status and recent incidents of every third-party vendor Merlonix monitors (e.g. Cloudflare, GitHub, Stripe). Returns each vendor's slug, current status, and 24h incident count.
Esquema de entrada
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢get_vendor_status(slug)
Get the current status plus 30-day status history of one monitored vendor by slug (e.g. "cloudflare"). Use list_vendor_status to discover valid slugs.
Esquema de entrada
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Vendor slug, e.g. cloudflare"
}
},
"required": [
"slug"
],
"additionalProperties": false
}🟢list_plans
List Merlonix subscription plans and pricing (Starter, Team, Agency, Compliance) with their monitoring limits.
Esquema de entrada
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢list_my_assets
List the monitored assets (websites/domains) in YOUR Merlonix account. Returns each asset id, hostname, type, and monitoring status. Requires an API key (Authorization: Bearer mk_… from app.merlonix.com → Settings → API keys).
Esquema de entrada
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢get_asset_checks(asset_id)
Get the latest check results (SSL, DNS, uptime, heartbeat, port) for ONE of your monitored assets, by its asset id (from list_my_assets). Requires an API key.
Esquema de entrada
{
"type": "object",
"properties": {
"asset_id": {
"type": "string",
"description": "The asset id from list_my_assets (a UUID)."
}
},
"required": [
"asset_id"
],
"additionalProperties": false
}🟢list_my_alerts
List recent alerts across YOUR monitored assets (SSL changes, downtime, DNS drift, vendor incidents, etc.) with their severity and lifecycle status. Requires an API key.
Esquema de entrada
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟡create_asset(hostname, asset_type, label, ssl_enabled, dns_enabled, ...)
Start monitoring a new asset (website/domain) in YOUR Merlonix account. Provide a hostname and asset_type; optionally a label and which checks to enable. Returns the created asset. Requires an API key with write scope. Subject to your plan asset quota (a full or non-paying plan returns an error).
Esquema de entrada
{
"type": "object",
"properties": {
"hostname": {
"type": "string",
"description": "The hostname to monitor, e.g. example.com"
},
"asset_type": {
"type": "string",
"enum": [
"domain",
"hostname",
"certificate",
"dns_record"
],
"description": "Asset kind: \"hostname\" (a website/host), \"domain\", \"certificate\", or \"dns_record\"."
},
"label": {
"type": "string",
"description": "Optional human label (max 120 chars)."
},
"ssl_enabled": {
"type": "boolean",
"description": "Monitor the TLS certificate (default on for hostnames)."
},
"dns_enabled": {
"type": "boolean",
"description": "Monitor DNS records."
},
"domain_enabled": {
"type": "boolean",
"description": "Monitor domain-registration (RDAP) expiry."
},
"uptime_check_url": {
"type": "string",
"description": "Optional URL to probe for uptime (enables uptime checks)."
}
},
"required": [
"hostname",
"asset_type"
],
"additionalProperties": false
}🟡update_asset(asset_id, label, ssl_enabled, dns_enabled, domain_enabled)
Update one of YOUR monitored assets by its asset id (from list_my_assets): relabel it or toggle which checks run. Returns the updated asset. Requires an API key with write scope.
Esquema de entrada
{
"type": "object",
"properties": {
"asset_id": {
"type": "string",
"description": "The asset id from list_my_assets (a UUID)."
},
"label": {
"type": "string",
"description": "New label (max 120 chars)."
},
"ssl_enabled": {
"type": "boolean",
"description": "Enable/disable TLS-certificate monitoring."
},
"dns_enabled": {
"type": "boolean",
"description": "Enable/disable DNS monitoring."
},
"domain_enabled": {
"type": "boolean",
"description": "Enable/disable domain-registration (RDAP) monitoring."
}
},
"required": [
"asset_id"
],
"additionalProperties": false
}🔴delete_asset(asset_id)
STOP monitoring one of YOUR assets and remove it, by its asset id (from list_my_assets). This is irreversible — its check history goes too. Requires an API key with write scope.
Esquema de entrada
{
"type": "object",
"properties": {
"asset_id": {
"type": "string",
"description": "The asset id from list_my_assets (a UUID)."
}
},
"required": [
"asset_id"
],
"additionalProperties": false
}🟡acknowledge_alert(alert_id, note)
Acknowledge one of YOUR alerts by its alert id (from list_my_alerts) — marks it as seen/being-handled without resolving it. Optionally attach a note. Requires an API key with write scope.
Esquema de entrada
{
"type": "object",
"properties": {
"alert_id": {
"type": "string",
"description": "The alert id from list_my_alerts (a UUID)."
},
"note": {
"type": "string",
"description": "Optional note (max 500 chars)."
}
},
"required": [
"alert_id"
],
"additionalProperties": false
}🟡resolve_alert(alert_id, resolution, note)
Resolve one of YOUR alerts by its alert id (from list_my_alerts) — closes it. Optionally set resolution ("fixed" | "false_positive" | "wontfix") and a note. Requires an API key with write scope.
Esquema de entrada
{
"type": "object",
"properties": {
"alert_id": {
"type": "string",
"description": "The alert id from list_my_alerts (a UUID)."
},
"resolution": {
"type": "string",
"enum": [
"fixed",
"false_positive",
"wontfix"
],
"description": "Why the alert is being closed."
},
"note": {
"type": "string",
"description": "Optional note (max 500 chars)."
}
},
"required": [
"alert_id"
],
"additionalProperties": false
}Comunidad
Evidencia