Skip to main content
Glama

HubVibe: Pay-per-Call Agent Tools: Web Search, Email Verify, KYC Screening, Stocks, Crypto, News

Domain DNS, email security and TLS certificate

hubvibe_domain_dns
Read-onlyIdempotent

DNS lookup and domain health check: A, AAAA, CNAME, MX, NS, TXT, CAA and SOA records asked of the source, SPF and DMARC email policy parsed, and the HTTPS certificate verified like a browser (issuer, names, expiry, days left, TLS version). Flags missing SPF or DMARC, duplicate SPF and certificates near expiry. Input: domain (a URL is accepted). $0.05 per call. Returns: domain, domain_ascii, exists, records{a[], aaaa[], cname[], mx[], ns[], txt[], caa[], soa[]}, email_security{spf{record, all, multiple}, dmarc{record, policy, subdomain_policy, percent, reports_to}}, tls{reachable, valid, error, ip, protocol, subject, issuer, names[], not_before, not_after, days_remaining}, notes[], checked_at.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tlsNoAlso check the HTTPS certificate. Default true.
domainYesA domain (github.com) or a URL on it.
languageNoOptional BCP-47 language tag (en, ja, ko, pt-BR): the human-readable strings of the result (notes, details, reasons) are translated into this language; data, codes, numbers and URLs are untouched. Default: as produced.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
statusYes
workerYes
price_usdYes
provenanceYes
receipt_idYes
attributionNo
receipt_urlYes
billing_warningNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed23 schema fields changed
    • removedOutput schema / description
      Removed value: -"The 200 body of every paid /work call. `result` is the worker's own output (its schema is per route); everything else is the same on every /work route. A receipt for the job is at `receipt_url`."
    • removedOutput schema / properties / attribution / description
      Removed value: -"Present only when the result's text was machine-translated: the credit to show with it."
    • removedOutput schema / properties / attribution / items / description
      Removed value: -"A credit."
    • removedOutput schema / properties / attribution / items / properties
      Removed value: -{
      -  "text": {
      -    "description": "Credit.",
      -    "examples": [
      -      "Translated by Google"
      -    ],
      -    "type": "string"
      -  },
      -  "url": {
      -    "description": "Link.",
      -    "examples": [
      -      "https://translate.google.com"
      -    ],
      -    "type": "string"
      -  }
      -}
    • removedOutput schema / properties / attribution / items / required
      Removed value: -[
      -  "text",
      -  "url"
      -]
    • removedOutput schema / properties / attribution / items / type
      Removed value: -"object"
    • removedOutput schema / properties / billing_warning / description
      Removed value: -"Present only when the charge was recorded with a caveat."
    • removedOutput schema / properties / billing_warning / examples
      Removed value: -[
      -  "settlement pending"
      -]
    • removedOutput schema / properties / price_usd / description
      Removed value: -"What this call cost, in USD."
    • removedOutput schema / properties / price_usd / examples
      Removed value: -[
      -  0.02
      -]
    • removedOutput schema / properties / provenance / description
      Removed value: -"How the result was produced: which providers ran and how long each took."
    • removedOutput schema / properties / provenance / properties
      Removed value: -{
      -  "attempts": {
      -    "description": "Provider attempts made, including retries and failovers.",
      -    "examples": [
      -      1
      -    ],
      -    "type": "integer"
      -  },
      -  "elapsed_ms": {
      -    "description": "Wall-clock milliseconds for the whole job.",
      -    "examples": [
      -      340
      -    ],
      -    "type": "integer"
      -  },
      -  "providers_used": {
      -    "description": "Providers that served the job.",
      -    "examples": [
      -      [
      -        "coinbase-advanced-trade-public"
      -      ]
      -    ],
      -    "items": {
      -      "description": "Provider name.",
      -      "examples": [
      -        "coinbase-advanced-trade-public"
      -      ],
      -      "type": "string"
      -    },
      -    "type": "array"
      -  },
      -  "steps": {
      -    "description": "Every step the job ran, in order.",
      -    "items": {
      -      "description": "One step of the job.",
      -      "properties": {
      -        "ms": {
      -          "description": "Milliseconds the step took.",
      -          "examples": [
      -            312
      -          ],
      -          "type": "integer"
      -        },
      -        "ok": {
      -          "description": "Whether the step succeeded.",
      -          "examples": [
      -            true
      -          ],
      -          "type": "boolean"
      -        },
      -        "provider": {
      -          "description": "Provider that served the step.",
      -          "examples": [
      -            "coinbase-advanced-trade-public"
      -          ],
      -          "type": "string"
      -        },
      -        "reason": {
      -          "description": "Failure reason, on a failed step.",
      -          "examples": [
      -            "provider_timeout"
      -          ],
      -          "type": "string"
      -        },
      -        "step": {
      -          "description": "Step name inside the worker.",
      -          "examples": [
      -            "quote"
      -          ],
      -          "type": "string"
      -        }
      -      },
      -      "required": [
      -        "step",
      -        "ok",
      -        "ms"
      -      ],
      -      "type": "object"
      -    },
      -    "type": "array"
      -  }
      -}
    • removedOutput schema / properties / provenance / required
      Removed value: -[
      -  "steps",
      -  "providers_used",
      -  "attempts",
      -  "elapsed_ms"
      -]
    • removedOutput schema / properties / receipt_id / description
      Removed value: -"Receipt id for this job."
    • removedOutput schema / properties / receipt_id / examples
      Removed value: -[
      -  "rcpt_9f1c2b3a4d5e6f70"
      -]
    • removedOutput schema / properties / receipt_url / description
      Removed value: -"Where to fetch the machine-readable receipt (free, no payment)."
    • removedOutput schema / properties / receipt_url / examples
      Removed value: -[
      -  "/work/receipts/rcpt_9f1c2b3a4d5e6f70"
      -]
    • removedOutput schema / properties / result / properties
      Removed value: -{
      -  "checked_at": {
      -    "description": "When this node read the source (UTC). Nothing here is cached.",
      -    "examples": [
      -      "2026-09-26T18:00:00Z"
      -    ],
      -    "format": "date-time",
      -    "type": "string"
      -  },
      -  "domain": {
      -    "description": "The domain as given (host part).",
      -    "examples": [
      -      "github.com"
      -    ],
      -    "type": "string"
      -  },
      -  "domain_ascii": {
      -    "description": "ASCII (punycode) form queried.",
      -    "examples": [
      -      "github.com"
      -    ],
      -    "type": "string"
      -  },
      -  "email_security": {
      -    "description": "Email authentication policy.",
      -    "properties": {
      -      "dmarc": {
      -        "description": "DMARC; null when there is none.",
      -        "properties": {
      -          "percent": {
      -            "description": "pct= value.",
      -            "examples": [
      -              100
      -            ],
      -            "type": [
      -              "integer",
      -              "null"
      -            ]
      -          },
      -          "policy": {
      -            "description": "p= policy.",
      -            "examples": [
      -              "reject"
      -            ],
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "record": {
      -            "description": "The DMARC record.",
      -            "examples": [
      -              "v=DMARC1; p=reject"
      -            ],
      -            "type": "string"
      -          },
      -          "reports_to": {
      -            "description": "rua= address.",
      -            "examples": [
      -              "mailto:dmarc@example.com"
      -            ],
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "subdomain_policy": {
      -            "description": "sp= policy.",
      -            "examples": [
      -              "reject"
      -            ],
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          }
      -        },
      -        "required": [
      -          "record",
      -          "policy",
      -          "subdomain_policy",
      -          "percent",
      -          "reports_to"
      -        ],
      -        "type": [
      -          "object",
      -          "null"
      -        ]
      -      },
      -      "spf": {
      -        "description": "SPF; null when there is none.",
      -        "properties": {
      -          "all": {
      -            "description": "What the record says about everyone else.",
      -            "enum": [
      -              "fail",
      -              "softfail",
      -              "neutral",
      -              "pass",
      -              null
      -            ],
      -            "examples": [
      -              "softfail"
      -            ],
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "multiple": {
      -            "description": "More than one SPF record (an error).",
      -            "examples": [
      -              false
      -            ],
      -            "type": "boolean"
      -          },
      -          "record": {
      -            "description": "The SPF record.",
      -            "examples": [
      -              "v=spf1 include:_spf.google.com ~all"
      -            ],
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "record",
      -          "all",
      -          "multiple"
      -        ],
      -        "type": [
      -          "object",
      -          "null"
      -        ]
      -      }
      -    },
      -    "required": [
      -      "spf",
      -      "dmarc"
      -    ],
      -    "type": "object"
      -  },
      -  "exists": {
      -    "description": "The domain exists in DNS.",
      -    "examples": [
      -      true
      -    ],
      -    "type": "boolean"
      -  },
      -  "notes": {
      -    "description": "Findings and caveats.",
      -    "examples": [
      -      []
      -    ],
      -    "items": {
      -      "description": "A caveat.",
      -      "examples": [
      -        "No DMARC record."
      -      ],
      -      "type": "string"
      -    },
      -    "type": "array"
      -  },
      -  "records": {
      -    "description": "Records by type; empty when none.",
      -    "properties": {
      -      "a": {
      -        "description": "A records.",
      -        "examples": [
      -          []
      -        ],
      -        "items": {
      -          "description": "A A record.",
      -          "examples": [
      -            "140.82.112.3"
      -          ],
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "aaaa": {
      -        "description": "AAAA records.",
      -        "examples": [
      -          []
      -        ],
      -        "items": {
      -          "description": "A AAAA record.",
      -          "examples": [
      -            "2606:50c0:8000::153"
      -          ],
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "caa": {
      -        "description": "CAA records.",
      -        "examples": [
      -          []
      -        ],
      -        "items": {
      -          "description": "A CAA record.",
      -          "examples": [
      -            "0 issue \"digicert.com\""
      -          ],
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "cname": {
      -        "description": "CNAME records.",
      -        "examples": [
      -          []
      -        ],
      -        "items": {
      -          "description": "A CNAME record.",
      -          "examples": [
      -            "github.github.io"
      -          ],
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "mx": {
      -        "description": "MX records.",
      -        "examples": [
      -          []
      -        ],
      -        "items": {
      -          "description": "A MX record.",
      -          "examples": [
      -            "1 aspmx.l.google.com"
      -          ],
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "ns": {
      -        "description": "NS records.",
      -        "examples": [
      -          []
      -        ],
      -        "items": {
      -          "description": "A NS record.",
      -          "examples": [
      -            "dns1.p08.nsone.net"
      -          ],
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "soa": {
      -        "description": "SOA records.",
      -        "examples": [
      -          []
      -        ],
      -        "items": {
      -          "description": "A SOA record.",
      -          "examples": [
      -            "dns1.p08.nsone.net hostmaster.nsone.net serial=1 refresh=43200 retry=7200 expire=1209600 minimum=3600"
      -          ],
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "txt": {
      -        "description": "TXT records.",
      -        "examples": [
      -          []
      -        ],
      -        "items": {
      -          "description": "A TXT record.",
      -          "examples": [
      -            "v=spf1 include:_spf.google.com ~all"
      -          ],
      -          "type": "string"
      -        },
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "a",
      -      "aaaa",
      -      "cname",
      -      "mx",
      -      "ns",
      -      "txt",
      -      "caa",
      -      "soa"
      -    ],
      -    "type": "object"
      -  },
      -  "tls": {
      -    "description": "HTTPS certificate; null when not checked.",
      -    "properties": {
      -      "days_remaining": {
      -        "description": "Days until expiry.",
      -        "examples": [
      -          62
      -        ],
      -        "type": [
      -          "integer",
      -          "null"
      -        ]
      -      },
      -      "error": {
      -        "description": "Why the check failed.",
      -        "examples": [
      -          "certificate has expired"
      -        ],
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "ip": {
      -        "description": "Address connected to.",
      -        "examples": [
      -          "140.82.112.3"
      -        ],
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "issuer": {
      -        "description": "Issuing CA.",
      -        "examples": [
      -          "Sectigo Limited"
      -        ],
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "names": {
      -        "description": "Subject alternative names.",
      -        "examples": [
      -          []
      -        ],
      -        "items": {
      -          "description": "A name the certificate covers.",
      -          "examples": [
      -            "www.github.com"
      -          ],
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "not_after": {
      -        "description": "Valid until.",
      -        "examples": [
      -          "2026-11-29T23:59:59Z"
      -        ],
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "not_before": {
      -        "description": "Valid from.",
      -        "examples": [
      -          "2026-08-01T00:00:00Z"
      -        ],
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "protocol": {
      -        "description": "TLS version.",
      -        "examples": [
      -          "TLSv1.3"
      -        ],
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "reachable": {
      -        "description": "An HTTPS server answered on port 443.",
      -        "examples": [
      -          true
      -        ],
      -        "type": "boolean"
      -      },
      -      "subject": {
      -        "description": "Certificate common name.",
      -        "examples": [
      -          "github.com"
      -        ],
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "valid": {
      -        "description": "The certificate verified for this name.",
      -        "examples": [
      -          true
      -        ],
      -        "type": "boolean"
      -      }
      -    },
      -    "required": [
      -      "reachable",
      -      "valid",
      -      "error",
      -      "ip"
      -    ],
      -    "type": [
      -      "object",
      -      "null"
      -    ]
      -  }
      -}
    • removedOutput schema / properties / result / required
      Removed value: -[
      -  "domain",
      -  "domain_ascii",
      -  "exists",
      -  "records",
      -  "email_security",
      -  "tls",
      -  "notes",
      -  "checked_at"
      -]
    • removedOutput schema / properties / status / description
      Removed value: -"Present only on a delivered result."
    • removedOutput schema / properties / worker / description
      Removed value: -"Catalog name of the worker that ran."
    • removedOutput schema / properties / worker / examples
      Removed value: -[
      -  "market.quote"
      -]
    • removedOutput schema / title
      Removed value: -"domain.dns response"
  2. Added

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, openWorld, and non-destructive, so safety is covered. The description goes beyond that by disclosing pricing ($0.05 per call), the flagging behavior (missing/duplicate SPF, DMARC gaps, near-expiry certs), and the browser-like TLS check, which are genuinely useful traits not in the structured annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Dense but front-loaded with the core purpose before the detail, and every clause is informative. However, the long 'Returns:' enumeration substantially duplicates the output schema, which is redundant given a formal output schema exists, keeping it off a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only lookup with full schema coverage and a formal output schema, the description is complete enough to invoke correctly. The return-value listing is redundant against the output schema, and version/pagination or rate-limit context is absent, but nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so parameters are already documented in the schema. The description only restates that domain accepts a URL, which the schema also says, and says nothing about the tls toggle or language option. Baseline 3 is appropriate when the schema carries the parameter burden.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('DNS lookup and domain health check') and enumerates exactly what it covers: A/AAAA/CNAME/MX/NS/TXT/CAA/SOA records, SPF/DMARC parsing, and TLS verification. This distinguishes it clearly from siblings like hubvibe_ip_lookup, hubvibe_email_verify, and the audit_* tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the scenario (domain health check, flags missing SPF/DMARC) but never states when to use this versus alternatives such as hubvibe_email_verify or hubvibe_ip_lookup, nor any prerequisites or exclusions. A competent agent can infer usage, but no explicit routing guidance is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.