Skip to content
RU
Category: Monitoring for AI workflows

The monitoring API built for AI agents.

Production-grade uptime, SSL, DNS and security checks for every domain — exposed as a Model Context Protocol server, an OpenAPI 3.1 spec and an llms.txt catalog. Your AI agent can discover it, authenticate, and start running checks in under a minute.

Why AI agents specifically?

🔌

Native MCP server

Point Claude Desktop, Cursor, Zed, or any MCP client at https://enterno.io/mcp. No wrapper, no shim — the checks are first-class MCP tools with JSON schemas and auth.

📇

Full discovery stack

We ship every well-known descriptor an agent looks for: ai-plugin.json, Google A2A agent-card.json, RFC 9727 api-catalog, OpenID config, HTTP-signatures directory. No guessing.

🧠

LLM-friendly context

A daily-regenerated llms.txt catalog gives ChatGPT, Perplexity, Google AI Overviews and Bing Copilot machine-readable page descriptions — so your agent cites us correctly on the first try.

🔑

Agent-safe auth

Per-key scopes (check, dns, ssl, ping, ip, monitors, webhook), idempotency keys on POST, IP allowlists, rotatable tokens. Give your agent the minimum it needs.

Three ready-to-build agents

Case 1 · DevOps

Autonomous monitoring agent

Claude/Cursor, given the MCP server, auto-creates monitors for every service it finds in your repo docker-compose.yml, wires them to Slack, and sets SSL-expiry alerts 14 + 3 days out. No dashboard clicks.

@enterno list-monitors
@enterno create-monitor url=https://api.example.com type=http
@enterno webhook-add events=monitor.down,ssl.expiring url=https://hooks.slack.com/...
Case 2 · SRE

AI-driven incident responder

PagerDuty fires. Your agent queries /api/v4/events for the 30-day history, cross-references DNS + SSL + WHOIS state, drafts a postmortem, and opens a Jira ticket with the root-cause hypothesis. Engineer just reviews.

@enterno events --webhook_id=42 --event_type=monitor.down --since=24h
@enterno check_dns domain=example.com
@enterno check_ssl domain=example.com
# → agent writes postmortem + opens Jira ticket
Case 3 · SEO / content

SEO automation agent

n8n / LangGraph pipeline runs a weekly crawl of your top pages through the security + HTTP-header + schema tools. When a competitor drops their HSTS or breaks their schema — your agent drafts a blog post about it.

@enterno check_http url=https://competitor.com
@enterno security-scan url=https://competitor.com
# → n8n branches: if hsts.missing → draft_post.md

Capability catalog

Every tool below is also published as machine-readable JSON Schema at /.well-known/ai-capabilities.json . Filter, expand, copy a sample call — or run one live below.

check_http

Free

Fetch HTTP response headers, status, redirects, timing for any URL.

network
Endpoint
https://enterno.io/api/v4/check
MCP method
check_http
Rate limit
30 / min
Cost
1 units
Input schema / Example call

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "required": [
    "url"
  ],
  "additionalProperties": false,
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "pattern": "^https?://",
      "description": "Public http(s) URL. Private/loopback ranges are blocked.",
      "examples": [
        "https://example.com"
      ]
    },
    "method": {
      "type": "string",
      "enum": [
        "GET",
        "HEAD"
      ],
      "default": "GET"
    },
    "follow": {
      "type": "boolean",
      "default": true
    }
  }
}

Example call (REST)

curl -X POST https://enterno.io/api/v4/check \
  -H 'X-API-Key: ent_YOUR_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{"url":"https://example.com"}'

Example call (MCP)

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "check_http",
    "arguments": {
      "url": "https://example.com"
    }
  }
}

Example response

{
  "status_code": 200,
  "time_total_ms": 143
}

check_redirects

Free

Trace the redirect chain for a URL — every 3xx hop with code + target.

network
Endpoint
https://enterno.io/api/v4/check
MCP method
check_redirects
Rate limit
15 / min
Cost
1 units
Input schema / Example call

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "required": [
    "url"
  ],
  "additionalProperties": false,
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "pattern": "^https?://",
      "description": "Public http(s) URL. Private/loopback ranges are blocked.",
      "examples": [
        "https://example.com"
      ]
    },
    "max_redirects": {
      "type": "integer",
      "minimum": 0,
      "maximum": 20,
      "default": 10
    }
  }
}

Example call (REST)

curl -X POST https://enterno.io/api/v4/check \
  -H 'X-API-Key: ent_YOUR_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{"url":"https://example.com"}'

Example call (MCP)

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "check_redirects",
    "arguments": {
      "url": "https://example.com"
    }
  }
}

Example response

{
  "hop_count": 1,
  "final_url": "https://www.example.com/"
}

check_dns

Free

Query A, AAAA, MX, NS, TXT, CNAME, SOA records for a domain.

dns
Endpoint
https://enterno.io/api/v4/dns
MCP method
check_dns
Rate limit
30 / min
Cost
1 units
Input schema / Example call

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "required": [
    "domain"
  ],
  "additionalProperties": false,
  "properties": {
    "domain": {
      "type": "string",
      "minLength": 1,
      "maxLength": 253,
      "description": "Registrable domain (no scheme, no path).",
      "examples": [
        "example.com"
      ]
    },
    "types": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "A",
          "AAAA",
          "MX",
          "NS",
          "TXT",
          "CNAME",
          "SOA"
        ]
      },
      "default": [
        "A",
        "MX",
        "NS",
        "TXT"
      ]
    }
  }
}

Example call (REST)

curl -X POST https://enterno.io/api/v4/dns \
  -H 'X-API-Key: ent_YOUR_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{"domain":"example.com"}'

Example call (MCP)

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "check_dns",
    "arguments": {
      "domain": "example.com"
    }
  }
}

Example response

{
  "records": {
    "A": [
      "93.184.216.34"
    ]
  }
}

check_mx

Free

List MX records (mail-server hostnames + priorities) for a domain.

dns
Endpoint
https://enterno.io/api/v4/dns
MCP method
check_mx
Rate limit
30 / min
Cost
1 units
Input schema / Example call

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "required": [
    "domain"
  ],
  "additionalProperties": false,
  "properties": {
    "domain": {
      "type": "string",
      "minLength": 1,
      "maxLength": 253,
      "description": "Registrable domain (no scheme, no path).",
      "examples": [
        "example.com"
      ]
    }
  }
}

Example call (REST)

curl -X POST https://enterno.io/api/v4/dns \
  -H 'X-API-Key: ent_YOUR_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{"domain":"example.com"}'

Example call (MCP)

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "check_mx",
    "arguments": {
      "domain": "example.com"
    }
  }
}

Example response

{
  "mx_records": []
}

check_whois

Free

WHOIS lookup: registrar, creation/expiry dates, name servers, status.

dns
Endpoint
https://enterno.io/api/whois.php
MCP method
check_whois
Rate limit
10 / min
Cost
2 units
Input schema / Example call

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "required": [
    "domain"
  ],
  "additionalProperties": false,
  "properties": {
    "domain": {
      "type": "string",
      "minLength": 1,
      "maxLength": 253,
      "description": "Registrable domain (no scheme, no path).",
      "examples": [
        "example.com"
      ]
    }
  }
}

Example call (REST)

curl -X POST https://enterno.io/api/whois.php \
  -H 'X-API-Key: ent_YOUR_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{"domain":"example.com"}'

Example call (MCP)

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "check_whois",
    "arguments": {
      "domain": "example.com"
    }
  }
}

Example response

{
  "registrar": "IANA"
}

check_ssl

Free

Inspect TLS certificate chain, protocol, cipher, expiry, SAN list.

ssl
Endpoint
https://enterno.io/api/v4/ssl
MCP method
check_ssl
Rate limit
30 / min
Cost
1 units
Input schema / Example call

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "required": [
    "host"
  ],
  "additionalProperties": false,
  "properties": {
    "host": {
      "type": "string",
      "minLength": 1,
      "maxLength": 253,
      "description": "Hostname or IPv4/IPv6. Private/loopback ranges are blocked.",
      "examples": [
        "example.com"
      ]
    },
    "port": {
      "type": "integer",
      "minimum": 1,
      "maximum": 65535,
      "default": 443
    }
  }
}

Example call (REST)

curl -X POST https://enterno.io/api/v4/ssl \
  -H 'X-API-Key: ent_YOUR_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{"host":"example.com"}'

Example call (MCP)

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "check_ssl",
    "arguments": {
      "host": "example.com"
    }
  }
}

Example response

{
  "protocol": "TLSv1.3"
}

check_ping

Free

ICMP ping a host 1–10 times and report min/avg/max RTT and loss%.

network
Endpoint
https://enterno.io/api/v4/ping
MCP method
check_ping
Rate limit
30 / min
Cost
1 units
Input schema / Example call

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "required": [
    "host"
  ],
  "additionalProperties": false,
  "properties": {
    "host": {
      "type": "string",
      "minLength": 1,
      "maxLength": 253,
      "description": "Hostname or IPv4/IPv6. Private/loopback ranges are blocked.",
      "examples": [
        "example.com"
      ]
    },
    "count": {
      "type": "integer",
      "minimum": 1,
      "maximum": 10,
      "default": 4
    }
  }
}

Example call (REST)

curl -X POST https://enterno.io/api/v4/ping \
  -H 'X-API-Key: ent_YOUR_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{"host":"example.com","count":4}'

Example call (MCP)

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "check_ping",
    "arguments": {
      "host": "example.com",
      "count": 4
    }
  }
}

Example response

{
  "avg_ms": 12.4,
  "loss_pct": 0
}

check_ip

Free

Look up geolocation, ASN, reverse DNS, proxy classification for an IP or hostname.

network
Endpoint
https://enterno.io/api/v4/ip
MCP method
check_ip
Rate limit
30 / min
Cost
1 units
Input schema / Example call

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "required": [
    "host"
  ],
  "additionalProperties": false,
  "properties": {
    "host": {
      "type": "string",
      "minLength": 1,
      "maxLength": 253,
      "description": "Hostname or IPv4/IPv6. Private/loopback ranges are blocked.",
      "examples": [
        "example.com"
      ]
    }
  }
}

Example call (REST)

curl -X POST https://enterno.io/api/v4/ip \
  -H 'X-API-Key: ent_YOUR_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{"host":"1.1.1.1"}'

Example call (MCP)

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "check_ip",
    "arguments": {
      "host": "1.1.1.1"
    }
  }
}

Example response

{
  "asn": "AS13335"
}

check_traceroute

Pro

mtr-based traceroute: per-hop IP, rDNS, packet loss%, average RTT.

network
Endpoint
https://enterno.io/api/traceroute.php
MCP method
check_traceroute
Rate limit
5 / min
Cost
5 units
Input schema / Example call

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "required": [
    "host"
  ],
  "additionalProperties": false,
  "properties": {
    "host": {
      "type": "string",
      "minLength": 1,
      "maxLength": 253,
      "description": "Hostname or IPv4/IPv6. Private/loopback ranges are blocked.",
      "examples": [
        "example.com"
      ]
    },
    "max_hops": {
      "type": "integer",
      "minimum": 1,
      "maximum": 30,
      "default": 20
    }
  }
}

Example call (REST)

curl -X POST https://enterno.io/api/traceroute.php \
  -H 'X-API-Key: ent_YOUR_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{"host":"example.com"}'

Example call (MCP)

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "check_traceroute",
    "arguments": {
      "host": "example.com"
    }
  }
}

Example response

{
  "hops": []
}

check_security_headers

Free

Security grade by the /security tool: headers, HTTPS, cookies, leakage; score + grade.

security
Endpoint
https://enterno.io/api/security-scan.php
MCP method
check_security
Rate limit
30 / min
Cost
1 units
Input schema / Example call

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "required": [
    "url"
  ],
  "additionalProperties": false,
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "pattern": "^https?://",
      "description": "Public http(s) URL. Private/loopback ranges are blocked.",
      "examples": [
        "https://example.com"
      ]
    }
  }
}

Example call (REST)

curl -X POST https://enterno.io/api/security-scan.php \
  -H 'X-API-Key: ent_YOUR_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{"url":"https://example.com"}'

Example call (MCP)

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "check_security",
    "arguments": {
      "url": "https://example.com"
    }
  }
}

Example response

{
  "grade": "B",
  "score": 78
}

check_csp

Free

Parse and grade a site's Content-Security-Policy header (directive coverage A–F).

security
Endpoint
https://enterno.io/api/csp.php
Rate limit
15 / min
Cost
1 units
Input schema / Example call

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "required": [
    "url"
  ],
  "additionalProperties": false,
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "pattern": "^https?://",
      "description": "Public http(s) URL. Private/loopback ranges are blocked.",
      "examples": [
        "https://example.com"
      ]
    }
  }
}

Example call (REST)

curl -X POST https://enterno.io/api/csp.php \
  -H 'X-API-Key: ent_YOUR_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{"url":"https://example.com"}'

Example response

{
  "grade": "C"
}

check_cors

Free

Inspect Access-Control-Allow-* headers; simulate origin to see what's allowed.

security
Endpoint
https://enterno.io/api/cors.php
Rate limit
15 / min
Cost
1 units
Input schema / Example call

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "required": [
    "url"
  ],
  "additionalProperties": false,
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "pattern": "^https?://",
      "description": "Public http(s) URL. Private/loopback ranges are blocked.",
      "examples": [
        "https://example.com"
      ]
    },
    "origin": {
      "type": "string",
      "format": "uri"
    }
  }
}

Example call (REST)

curl -X POST https://enterno.io/api/cors.php \
  -H 'X-API-Key: ent_YOUR_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{"url":"https://example.com"}'

Example response

{
  "allowed": false
}

check_cookies

Free

Audit cookie flags (HttpOnly/Secure/SameSite), expiry, tracker detection.

security
Endpoint
https://enterno.io/api/cookie.php
Rate limit
15 / min
Cost
1 units
Input schema / Example call

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "required": [
    "url"
  ],
  "additionalProperties": false,
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "pattern": "^https?://",
      "description": "Public http(s) URL. Private/loopback ranges are blocked.",
      "examples": [
        "https://example.com"
      ]
    }
  }
}

Example call (REST)

curl -X POST https://enterno.io/api/cookie.php \
  -H 'X-API-Key: ent_YOUR_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{"url":"https://example.com"}'

Example response

{
  "cookies": []
}

check_subdomain_enum

Pro

Discover subdomains via Certificate Transparency logs (crt.sh).

security
Endpoint
https://enterno.io/api/subdomain-enum.php
MCP method
check_subdomain_enum
Rate limit
5 / min
Cost
5 units
Input schema / Example call

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "required": [
    "domain"
  ],
  "additionalProperties": false,
  "properties": {
    "domain": {
      "type": "string",
      "minLength": 1,
      "maxLength": 253,
      "description": "Registrable domain (no scheme, no path).",
      "examples": [
        "example.com"
      ]
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 500,
      "default": 100
    }
  }
}

Example call (REST)

curl -X POST https://enterno.io/api/subdomain-enum.php \
  -H 'X-API-Key: ent_YOUR_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{"domain":"example.com"}'

Example call (MCP)

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "check_subdomain_enum",
    "arguments": {
      "domain": "example.com"
    }
  }
}

Example response

{
  "subdomains": []
}

check_email

Pro

Full email-deliverability audit: MX, SPF, DMARC, DKIM, BIMI, MTA-STS.

Endpoint
https://enterno.io/api/email-check.php
MCP method
check_email
Rate limit
10 / min
Cost
3 units
Input schema / Example call

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "required": [
    "domain"
  ],
  "additionalProperties": false,
  "properties": {
    "domain": {
      "type": "string",
      "minLength": 1,
      "maxLength": 253,
      "description": "Registrable domain (no scheme, no path).",
      "examples": [
        "example.com"
      ]
    }
  }
}

Example call (REST)

curl -X POST https://enterno.io/api/email-check.php \
  -H 'X-API-Key: ent_YOUR_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{"domain":"example.com"}'

Example call (MCP)

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "check_email",
    "arguments": {
      "domain": "example.com"
    }
  }
}

Example response

{
  "spf": {
    "valid": true
  }
}

check_speed

Pro

PageSpeed Insights for a URL: mobile + desktop. Core Web Vitals + opportunities.

performance
Endpoint
https://enterno.io/api/pagespeed.php
MCP method
check_speed
Rate limit
5 / min
Cost
5 units
Input schema / Example call

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "required": [
    "url"
  ],
  "additionalProperties": false,
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "pattern": "^https?://",
      "description": "Public http(s) URL. Private/loopback ranges are blocked.",
      "examples": [
        "https://example.com"
      ]
    },
    "strategy": {
      "type": "string",
      "enum": [
        "mobile",
        "desktop"
      ],
      "default": "mobile"
    }
  }
}

Example call (REST)

curl -X POST https://enterno.io/api/pagespeed.php \
  -H 'X-API-Key: ent_YOUR_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{"url":"https://example.com","strategy":"mobile"}'

Example call (MCP)

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "check_speed",
    "arguments": {
      "url": "https://example.com",
      "strategy": "mobile"
    }
  }
}

Example response

{
  "score": 92
}

check_health_score

Free

Site Health Score 0–100, the number the /health tool shows (security headers + SSL + performance + best practices + cookies + CSP; 120 raw points normalised).

performancesecurity
Endpoint
https://enterno.io/api/v4/health
Rate limit
10 / min
Cost
2 units
Input schema / Example call

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "required": [
    "url"
  ],
  "additionalProperties": false,
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "pattern": "^https?://",
      "description": "Public http(s) URL. Private/loopback ranges are blocked.",
      "examples": [
        "https://example.com"
      ]
    }
  }
}

Example call (REST)

curl -X POST https://enterno.io/api/v4/health \
  -H 'X-API-Key: ent_YOUR_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{"url":"https://example.com"}'

Example response

{
  "score": 81,
  "grade": "B"
}

check_robots

Free

Fetch /robots.txt: user-agents, allow/disallow rules, sitemap URLs.

devtools
Endpoint
https://enterno.io/api/robots-checker.php
MCP method
check_robots
Rate limit
15 / min
Cost
1 units
Input schema / Example call

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "required": [
    "domain"
  ],
  "additionalProperties": false,
  "properties": {
    "domain": {
      "type": "string",
      "minLength": 1,
      "maxLength": 253,
      "description": "Registrable domain (no scheme, no path).",
      "examples": [
        "example.com"
      ]
    }
  }
}

Example call (REST)

curl -X POST https://enterno.io/api/robots-checker.php \
  -H 'X-API-Key: ent_YOUR_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{"domain":"example.com"}'

Example call (MCP)

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "check_robots",
    "arguments": {
      "domain": "example.com"
    }
  }
}

Example response

{
  "sitemaps": []
}

check_schema

Free

Extract and validate JSON-LD / Microdata / RDFa structured-data blocks on a URL.

devtools
Endpoint
https://enterno.io/api/schema-checker.php
Rate limit
10 / min
Cost
1 units
Input schema / Example call

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "required": [
    "url"
  ],
  "additionalProperties": false,
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "pattern": "^https?://",
      "description": "Public http(s) URL. Private/loopback ranges are blocked.",
      "examples": [
        "https://example.com"
      ]
    }
  }
}

Example call (REST)

curl -X POST https://enterno.io/api/schema-checker.php \
  -H 'X-API-Key: ent_YOUR_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{"url":"https://example.com"}'

Example response

{
  "blocks": []
}

check_ai_readiness

Free

AI-agent discoverability by the /ai-check tool: 20 signals, score + grade.

aidevtools
Endpoint
https://enterno.io/api/ai-check.php
MCP method
check_ai_readiness
Rate limit
10 / min
Cost
1 units
Input schema / Example call

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "required": [
    "domain"
  ],
  "additionalProperties": false,
  "properties": {
    "domain": {
      "type": "string",
      "minLength": 1,
      "maxLength": 253,
      "description": "Registrable domain (no scheme, no path).",
      "examples": [
        "example.com"
      ]
    }
  }
}

Example call (REST)

curl -X POST https://enterno.io/api/ai-check.php \
  -H 'X-API-Key: ent_YOUR_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{"domain":"example.com"}'

Example call (MCP)

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "check_ai_readiness",
    "arguments": {
      "domain": "example.com"
    }
  }
}

Example response

{
  "score": 65
}

check_ai_visibility

Free

Score likely citation by ChatGPT, Perplexity, Google AI Overviews, Bing Copilot.

ai
Endpoint
https://enterno.io/api/ai-visibility.php
Rate limit
10 / min
Cost
2 units
Input schema / Example call

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "required": [
    "url"
  ],
  "additionalProperties": false,
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "pattern": "^https?://",
      "description": "Public http(s) URL. Private/loopback ranges are blocked.",
      "examples": [
        "https://example.com"
      ]
    }
  }
}

Example call (REST)

curl -X POST https://enterno.io/api/ai-visibility.php \
  -H 'X-API-Key: ent_YOUR_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{"url":"https://example.com"}'

Example response

{
  "engines": []
}

Try it in your browser

The try-it console is for logged-in users. Your API key never leaves the server — we proxy the request.

Pick your agent

Same key, three transport flavours. Pick the one your AI runtime supports — they all hit the same MCP endpoint.

Claude Desktop · Anthropic — native MCP, streamable HTTP
  1. Get a key. Sign up, visit Settings → API Keys, copy your ent_… key.
  2. Edit claude_desktop_config.json:
    {
      "mcpServers": {
        "enterno": {
          "url": "https://enterno.io/mcp",
          "transport": "streamable-http",
          "auth": { "type": "apiKey", "header": "Authorization",
                    "prefix": "Bearer", "value": "ent_your_key" }
        }
      }
    }
  3. Restart Claude Desktop, then ask: "Check SSL on stripe.com. Alert me if it expires in <14 days."
Cursor IDE — MCP plugin, same config
  1. Cursor → Settings → MCP → Add server.
  2. Paste the same JSON (as Claude Desktop above). Cursor uses identical MCP transport — no separate adapter needed.
  3. @enterno in any chat to invoke checks while you code.
Direct API (no MCP) — curl / Python / any language
  1. Single SSL check via REST:
    curl -H "X-API-Key: ent_your_key" \
      "https://enterno.io/api/v4/ssl?host=stripe.com"
  2. Full spec: /swagger · /api-docs.
  3. Prefer LangChain / LangGraph? Pull our agent-card from /.well-known/agent-card.json — Google A2A-compatible.

5 prompts to try right now

Each one resolves to a single tool call. Copy any into Claude Desktop / Cursor with the MCP server connected.

  • SSL expiry triage: "List the SSL expiry dates for stripe.com, github.com, and aws.amazon.com. Sort by remaining days, ascending."
  • DNS drift detection: "Compare TXT records for enterno.io across 1.1.1.1, 8.8.8.8, and 77.88.8.8. Highlight any divergence."
  • Security regression after deploy: "Run a security-headers scan on staging.example.com. List anything that dropped vs grade A."
  • Multi-region uptime check: "Ping example.com from EU and US. Tell me if response-time differs by more than 200ms."
  • AI visibility audit: "Check whether ChatGPT, Claude, and Perplexity cite stripe.com when asked about payment APIs. Summarise the gap."

Ready to build?

Free tier: 10 monitors, MCP access, 200 API calls/day. Upgrade when your agent needs more.

Create free account →