{
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-05",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "tool": {
    "category": "infrastructure",
    "endpoint": "https://oti-labs.com/mcp",
    "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/oti-labs-domain-intelligence.json",
    "kind": "mcp",
    "listed": "indexed",
    "liveUrl": "https://www.anchorterminal.com/api/v1/live/oti-labs-domain-intelligence.json",
    "markdownUrl": "https://www.anchorterminal.com/tools/oti-labs-domain-intelligence.md",
    "mcpTools": {
      "check": {
        "checker": "anchor-check/1.0",
        "totalTokens": 1096,
        "counts": {
          "error": 0,
          "note": 1,
          "warn": 6
        },
        "findings": [
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "dns_records",
            "message": "its one parameter, domain, has no description",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "domain_lookup",
            "message": "none of its 3 parameters has a description",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "email_security",
            "message": "its one parameter, domain, has no description",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "ssl_certificate",
            "message": "its one parameter, domain, has no description",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "subdomains",
            "message": "none of its 3 parameters has a description",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "whois_lookup",
            "message": "its one parameter, domain, has no description",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC29",
            "severity": "note",
            "message": "about 148 tokens (13% of the definitions) are titles that repeat property or function names",
            "fix": "Strip \"title\" keys that only restate a name before listing tools."
          }
        ]
      },
      "checkedAt": "2026-10-04T22:23:31Z",
      "count": 6,
      "schemaTokens": 1096,
      "status": "ok",
      "tools": [
        {
          "name": "domain_lookup",
          "title": "Full domain lookup",
          "description": "Full report on a domain in one call: WHOIS/RDAP registration, DNS records, live SSL\n    certificate, subdomains (live hosts with IPs first) and email authentication (SPF, DMARC, DKIM).\n    Use it to triage a suspicious domain or profile a company's domain. If one section fails it comes\n    back as an object with an `error` field and the rest is unaffected. Set wait=true to wait for every\n    subdomain source (up to about 20 s) instead of the fast first result.",
          "inputSchema": {
            "properties": {
              "domain": {
                "title": "Domain",
                "type": "string"
              },
              "subdomain_limit": {
                "default": 50,
                "title": "Subdomain Limit",
                "type": "integer"
              },
              "wait": {
                "default": false,
                "title": "Wait",
                "type": "boolean"
              }
            },
            "required": [
              "domain"
            ],
            "title": "domain_lookupArguments",
            "type": "object"
          },
          "outputSchema": {
            "additionalProperties": true,
            "title": "domain_lookupDictOutput",
            "type": "object"
          },
          "annotations": {
            "idempotentHint": true,
            "openWorldHint": true,
            "readOnlyHint": true,
            "title": "Full domain lookup"
          }
        },
        {
          "name": "whois_lookup",
          "title": "WHOIS / RDAP lookup",
          "description": "Registration data for a domain: registrar, created, updated and expiry dates, nameservers and\n    status. RDAP first (rdap.org, IANA bootstrap, 22 fallback servers), then port-43 WHOIS for 60+\n    TLDs. `_source` says which one answered. Use it for domain age, expiry or registrar checks.",
          "inputSchema": {
            "properties": {
              "domain": {
                "title": "Domain",
                "type": "string"
              }
            },
            "required": [
              "domain"
            ],
            "title": "whois_lookupArguments",
            "type": "object"
          },
          "outputSchema": {
            "additionalProperties": true,
            "title": "whois_lookupDictOutput",
            "type": "object"
          },
          "annotations": {
            "idempotentHint": true,
            "openWorldHint": true,
            "readOnlyHint": true,
            "title": "WHOIS / RDAP lookup"
          }
        },
        {
          "name": "dns_records",
          "title": "DNS records",
          "description": "DNS records for a domain: A, AAAA, MX, TXT, NS, CAA and SOA, resolved in parallel.",
          "inputSchema": {
            "properties": {
              "domain": {
                "title": "Domain",
                "type": "string"
              }
            },
            "required": [
              "domain"
            ],
            "title": "dns_recordsArguments",
            "type": "object"
          },
          "outputSchema": {
            "additionalProperties": true,
            "title": "dns_recordsDictOutput",
            "type": "object"
          },
          "annotations": {
            "idempotentHint": true,
            "openWorldHint": true,
            "readOnlyHint": true,
            "title": "DNS records"
          }
        },
        {
          "name": "ssl_certificate",
          "title": "SSL certificate",
          "description": "The certificate a domain serves on port 443, from a live TLS handshake: issuer, subject,\n    valid_from, valid_to, days_until_expiry, SANs, signature algorithm and serial number.",
          "inputSchema": {
            "properties": {
              "domain": {
                "title": "Domain",
                "type": "string"
              }
            },
            "required": [
              "domain"
            ],
            "title": "ssl_certificateArguments",
            "type": "object"
          },
          "outputSchema": {
            "additionalProperties": true,
            "title": "ssl_certificateDictOutput",
            "type": "object"
          },
          "annotations": {
            "idempotentHint": true,
            "openWorldHint": true,
            "readOnlyHint": true,
            "title": "SSL certificate"
          }
        },
        {
          "name": "subdomains",
          "title": "Subdomains",
          "description": "Subdomains of a domain from certificate transparency logs, passive DNS and DNS brute force.\n    `live` lists hosts that resolve now, each with its IP; `subdomains` lists every name found, live\n    first; `pools` summarises large shared-infrastructure zones. The first lookup of a domain is a fast\n    snapshot and later ones are fuller; set wait=true to wait for every source (up to about 20 s).",
          "inputSchema": {
            "properties": {
              "domain": {
                "title": "Domain",
                "type": "string"
              },
              "limit": {
                "default": 100,
                "title": "Limit",
                "type": "integer"
              },
              "wait": {
                "default": false,
                "title": "Wait",
                "type": "boolean"
              }
            },
            "required": [
              "domain"
            ],
            "title": "subdomainsArguments",
            "type": "object"
          },
          "outputSchema": {
            "additionalProperties": true,
            "title": "subdomainsDictOutput",
            "type": "object"
          },
          "annotations": {
            "idempotentHint": true,
            "openWorldHint": true,
            "readOnlyHint": true,
            "title": "Subdomains"
          }
        },
        {
          "name": "email_security",
          "title": "Email security (SPF, DMARC, DKIM)",
          "description": "Email authentication for a domain: SPF and DMARC records, and DKIM keys found by probing about\n    29 common selectors (Google, Microsoft 365, Mailchimp, SendGrid and others). Custom selectors\n    may not be found.",
          "inputSchema": {
            "properties": {
              "domain": {
                "title": "Domain",
                "type": "string"
              }
            },
            "required": [
              "domain"
            ],
            "title": "email_securityArguments",
            "type": "object"
          },
          "outputSchema": {
            "additionalProperties": true,
            "title": "email_securityDictOutput",
            "type": "object"
          },
          "annotations": {
            "idempotentHint": true,
            "openWorldHint": true,
            "readOnlyHint": true,
            "title": "Email security (SPF, DMARC, DKIM)"
          }
        }
      ]
    },
    "name": "Domain Intelligence",
    "note": "Indexed from the official MCP registry: facts and our own checks, not reviewed, so no score, grade or rank.",
    "packages": null,
    "pageJsonUrl": "https://www.anchorterminal.com/tools/oti-labs-domain-intelligence.json",
    "popularity": {
      "githubStars": 14
    },
    "registryName": "com.oti-labs/domain-intelligence",
    "remotes": [
      {
        "type": "streamable-http",
        "url": "https://oti-labs.com/mcp"
      }
    ],
    "repository": "https://github.com/osiris-technical-institute/domain-intelligence-api",
    "reviewed": false,
    "slug": "oti-labs-domain-intelligence",
    "source": "the official MCP registry",
    "sourceUrl": "https://registry.modelcontextprotocol.io/v0.1/servers?search=com.oti-labs/domain-intelligence",
    "summary": "WHOIS/RDAP, DNS, SSL, live subdomains with IPs, and SPF/DMARC/DKIM for any domain.",
    "updatedAt": "2026-10-03T02:14:07Z",
    "url": "https://www.anchorterminal.com/tools/oti-labs-domain-intelligence",
    "vendor": "oti-labs.com",
    "vendorUrl": "https://oti-labs.com/mcp-server",
    "version": "1.1.0",
    "websiteUrl": "https://oti-labs.com/mcp-server",
    "where": "hosted",
    "why": [
      "vendor"
    ]
  }
}
