Skip to main content
Glama

Verify domain

verify_domain
Destructive

Complete the fresh challenge from begin_ownership_claim using its private claim credentials. Checks the published proof and consumes the challenge once, returning the owner API key shown once. Public or legacy proof tokens alone cannot issue keys. Recovery replaces previous credentials and sessions. Rate limited: 10 attempts per domain per hour.

Input Schema

NameRequiredDescriptionDefault
domainYesA domain name such as example.com (no scheme, no path).
claim_idYes
claim_secretYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "api_key": {
      -        "type": "string"
      -      },
      -      "badge": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "html": {
      -            "type": "string"
      -          },
      -          "markdown": {
      -            "type": "string"
      -          },
      -          "svg": {
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "svg",
      -          "html",
      -          "markdown"
      -        ],
      -        "type": "object"
      -      },
      -      "domain": {
      -        "type": "string"
      -      },
      -      "manage": {
      -        "type": "string"
      -      },
      -      "note": {
      -        "type": "string"
      -      },
      -      "notifications": {
      -        "type": "string"
      -      },
      -      "verified": {
      -        "const": true
      -      },
      -      "via": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "domain",
      -      "verified",
      -      "via",
      -      "api_key",
      -      "note",
      -      "manage",
      -      "badge",
      -      "notifications"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "checked": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "dns": {
      -            "type": "boolean"
      -          },
      -          "llms_txt": {
      -            "type": "boolean"
      -          },
      -          "meta": {
      -            "type": "boolean"
      -          },
      -          "well_known": {
      -            "type": "boolean"
      -          }
      -        },
      -        "required": [],
      -        "type": "object"
      -      },
      -      "domain": {
      -        "type": "string"
      -      },
      -      "hint": {
      -        "type": "string"
      -      },
      -      "verification": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "claim_endpoint": {
      -            "type": "string"
      -          },
      -          "domain": {
      -            "type": "string"
      -          },
      -          "hint": {
      -            "type": "string"
      -          },
      -          "manage": {
      -            "type": "string"
      -          },
      -          "methods": {
      -            "items": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "description": {
      -                  "type": "string"
      -                },
      -                "method": {
      -                  "enum": [
      -                    "llms_txt",
      -                    "dns",
      -                    "meta",
      -                    "well_known"
      -                  ],
      -                  "type": "string"
      -                },
      -                "snippet": {
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "method",
      -                "description"
      -              ],
      -              "type": "object"
      -            },
      -            "type": "array"
      -          },
      -          "note": {
      -            "type": "string"
      -          },
      -          "token": {
      -            "type": "string"
      -          },
      -          "verify_endpoint": {
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "domain",
      -          "verify_endpoint",
      -          "methods"
      -        ],
      -        "type": "object"
      -      },
      -      "verified": {
      -        "const": false
      -      }
      -    },
      -    "required": [
      -      "domain",
      -      "verified",
      -      "checked",
      -      "hint",
      -      "verification"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": true,
      -    "properties": {
      -      "detail": {
      -        "type": "string"
      -      },
      -      "domain": {
      -        "type": "string"
      -      },
      -      "error": {
      -        "type": "string"
      -      },
      -      "hint": {
      -        "type": "string"
      -      },
      -      "retry_after_seconds": {
      -        "type": "integer"
      -      }
      -    },
      -    "required": [
      -      "error"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "api_key": {
      +        "type": "string"
      +      },
      +      "badge": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "html": {
      +            "type": "string"
      +          },
      +          "markdown": {
      +            "type": "string"
      +          },
      +          "svg": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "svg",
      +          "html",
      +          "markdown"
      +        ],
      +        "type": "object"
      +      },
      +      "domain": {
      +        "type": "string"
      +      },
      +      "manage": {
      +        "type": "string"
      +      },
      +      "note": {
      +        "type": "string"
      +      },
      +      "verified": {
      +        "const": true
      +      },
      +      "via": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "domain",
      +      "verified",
      +      "via",
      +      "api_key",
      +      "note",
      +      "manage",
      +      "badge"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "checked": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "dns": {
      +            "type": "boolean"
      +          },
      +          "llms_txt": {
      +            "type": "boolean"
      +          },
      +          "meta": {
      +            "type": "boolean"
      +          },
      +          "well_known": {
      +            "type": "boolean"
      +          }
      +        },
      +        "required": [],
      +        "type": "object"
      +      },
      +      "domain": {
      +        "type": "string"
      +      },
      +      "hint": {
      +        "type": "string"
      +      },
      +      "verification": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "claim_endpoint": {
      +            "type": "string"
      +          },
      +          "domain": {
      +            "type": "string"
      +          },
      +          "hint": {
      +            "type": "string"
      +          },
      +          "manage": {
      +            "type": "string"
      +          },
      +          "methods": {
      +            "items": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "description": {
      +                  "type": "string"
      +                },
      +                "method": {
      +                  "enum": [
      +                    "llms_txt",
      +                    "dns",
      +                    "meta",
      +                    "well_known"
      +                  ],
      +                  "type": "string"
      +                },
      +                "snippet": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "method",
      +                "description"
      +              ],
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          "note": {
      +            "type": "string"
      +          },
      +          "token": {
      +            "type": "string"
      +          },
      +          "verify_endpoint": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "domain",
      +          "verify_endpoint",
      +          "methods"
      +        ],
      +        "type": "object"
      +      },
      +      "verified": {
      +        "const": false
      +      }
      +    },
      +    "required": [
      +      "domain",
      +      "verified",
      +      "checked",
      +      "hint",
      +      "verification"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": true,
      +    "properties": {
      +      "detail": {
      +        "type": "string"
      +      },
      +      "domain": {
      +        "type": "string"
      +      },
      +      "error": {
      +        "type": "string"
      +      },
      +      "hint": {
      +        "type": "string"
      +      },
      +      "retry_after_seconds": {
      +        "type": "integer"
      +      }
      +    },
      +    "required": [
      +      "error"
      +    ],
      +    "type": "object"
      +  }
      +]
  2. Changed4 schema fields changed
    • addedInput schema / properties / claim_id
      Added value: +{
      +  "maxLength": 100,
      +  "minLength": 1,
      +  "type": "string"
      +}
    • addedInput schema / properties / claim_secret
      Added value: +{
      +  "maxLength": 200,
      +  "minLength": 1,
      +  "type": "string"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "domain"
      -]New value: +[
      +  "domain",
      +  "claim_id",
      +  "claim_secret"
      +]
    • changedOutput schema / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "api_key": {
      -        "type": "string"
      -      },
      -      "badge": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "html": {
      -            "type": "string"
      -          },
      -          "markdown": {
      -            "type": "string"
      -          },
      -          "svg": {
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "svg",
      -          "html",
      -          "markdown"
      -        ],
      -        "type": "object"
      -      },
      -      "domain": {
      -        "type": "string"
      -      },
      -      "manage": {
      -        "type": "string"
      -      },
      -      "note": {
      -        "type": "string"
      -      },
      -      "notifications": {
      -        "type": "string"
      -      },
      -      "verified": {
      -        "const": true
      -      },
      -      "via": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "domain",
      -      "verified",
      -      "via",
      -      "api_key",
      -      "note",
      -      "manage",
      -      "badge",
      -      "notifications"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "checked": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "dns": {
      -            "type": "boolean"
      -          },
      -          "llms_txt": {
      -            "type": "boolean"
      -          },
      -          "meta": {
      -            "type": "boolean"
      -          },
      -          "well_known": {
      -            "type": "boolean"
      -          }
      -        },
      -        "required": [],
      -        "type": "object"
      -      },
      -      "domain": {
      -        "type": "string"
      -      },
      -      "hint": {
      -        "type": "string"
      -      },
      -      "verification": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "domain": {
      -            "type": "string"
      -          },
      -          "methods": {
      -            "items": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "description": {
      -                  "type": "string"
      -                },
      -                "method": {
      -                  "enum": [
      -                    "llms_txt",
      -                    "dns",
      -                    "meta",
      -                    "well_known"
      -                  ],
      -                  "type": "string"
      -                },
      -                "snippet": {
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "method",
      -                "description",
      -                "snippet"
      -              ],
      -              "type": "object"
      -            },
      -            "type": "array"
      -          },
      -          "token": {
      -            "type": "string"
      -          },
      -          "verify_endpoint": {
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "domain",
      -          "token",
      -          "verify_endpoint",
      -          "methods"
      -        ],
      -        "type": "object"
      -      },
      -      "verified": {
      -        "const": false
      -      }
      -    },
      -    "required": [
      -      "domain",
      -      "verified",
      -      "checked",
      -      "hint",
      -      "verification"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": true,
      -    "properties": {
      -      "detail": {
      -        "type": "string"
      -      },
      -      "domain": {
      -        "type": "string"
      -      },
      -      "error": {
      -        "type": "string"
      -      },
      -      "hint": {
      -        "type": "string"
      -      },
      -      "retry_after_seconds": {
      -        "type": "integer"
      -      }
      -    },
      -    "required": [
      -      "error"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "api_key": {
      +        "type": "string"
      +      },
      +      "badge": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "html": {
      +            "type": "string"
      +          },
      +          "markdown": {
      +            "type": "string"
      +          },
      +          "svg": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "svg",
      +          "html",
      +          "markdown"
      +        ],
      +        "type": "object"
      +      },
      +      "domain": {
      +        "type": "string"
      +      },
      +      "manage": {
      +        "type": "string"
      +      },
      +      "note": {
      +        "type": "string"
      +      },
      +      "notifications": {
      +        "type": "string"
      +      },
      +      "verified": {
      +        "const": true
      +      },
      +      "via": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "domain",
      +      "verified",
      +      "via",
      +      "api_key",
      +      "note",
      +      "manage",
      +      "badge",
      +      "notifications"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "checked": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "dns": {
      +            "type": "boolean"
      +          },
      +          "llms_txt": {
      +            "type": "boolean"
      +          },
      +          "meta": {
      +            "type": "boolean"
      +          },
      +          "well_known": {
      +            "type": "boolean"
      +          }
      +        },
      +        "required": [],
      +        "type": "object"
      +      },
      +      "domain": {
      +        "type": "string"
      +      },
      +      "hint": {
      +        "type": "string"
      +      },
      +      "verification": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "claim_endpoint": {
      +            "type": "string"
      +          },
      +          "domain": {
      +            "type": "string"
      +          },
      +          "hint": {
      +            "type": "string"
      +          },
      +          "manage": {
      +            "type": "string"
      +          },
      +          "methods": {
      +            "items": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "description": {
      +                  "type": "string"
      +                },
      +                "method": {
      +                  "enum": [
      +                    "llms_txt",
      +                    "dns",
      +                    "meta",
      +                    "well_known"
      +                  ],
      +                  "type": "string"
      +                },
      +                "snippet": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "method",
      +                "description"
      +              ],
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          "note": {
      +            "type": "string"
      +          },
      +          "token": {
      +            "type": "string"
      +          },
      +          "verify_endpoint": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "domain",
      +          "verify_endpoint",
      +          "methods"
      +        ],
      +        "type": "object"
      +      },
      +      "verified": {
      +        "const": false
      +      }
      +    },
      +    "required": [
      +      "domain",
      +      "verified",
      +      "checked",
      +      "hint",
      +      "verification"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": true,
      +    "properties": {
      +      "detail": {
      +        "type": "string"
      +      },
      +      "domain": {
      +        "type": "string"
      +      },
      +      "error": {
      +        "type": "string"
      +      },
      +      "hint": {
      +        "type": "string"
      +      },
      +      "retry_after_seconds": {
      +        "type": "integer"
      +      }
      +    },
      +    "required": [
      +      "error"
      +    ],
      +    "type": "object"
      +  }
      +]
  3. Changed3 schema fields changed
    • addedInput schema / properties / domain / maxLength
      Added value: +253
    • addedInput schema / properties / domain / minLength
      Added value: +1
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "api_key": {
      +          "type": "string"
      +        },
      +        "badge": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "html": {
      +              "type": "string"
      +            },
      +            "markdown": {
      +              "type": "string"
      +            },
      +            "svg": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "svg",
      +            "html",
      +            "markdown"
      +          ],
      +          "type": "object"
      +        },
      +        "domain": {
      +          "type": "string"
      +        },
      +        "manage": {
      +          "type": "string"
      +        },
      +        "note": {
      +          "type": "string"
      +        },
      +        "notifications": {
      +          "type": "string"
      +        },
      +        "verified": {
      +          "const": true
      +        },
      +        "via": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "domain",
      +        "verified",
      +        "via",
      +        "api_key",
      +        "note",
      +        "manage",
      +        "badge",
      +        "notifications"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "checked": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "dns": {
      +              "type": "boolean"
      +            },
      +            "llms_txt": {
      +              "type": "boolean"
      +            },
      +            "meta": {
      +              "type": "boolean"
      +            },
      +            "well_known": {
      +              "type": "boolean"
      +            }
      +          },
      +          "required": [],
      +          "type": "object"
      +        },
      +        "domain": {
      +          "type": "string"
      +        },
      +        "hint": {
      +          "type": "string"
      +        },
      +        "verification": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "domain": {
      +              "type": "string"
      +            },
      +            "methods": {
      +              "items": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "description": {
      +                    "type": "string"
      +                  },
      +                  "method": {
      +                    "enum": [
      +                      "llms_txt",
      +                      "dns",
      +                      "meta",
      +                      "well_known"
      +                    ],
      +                    "type": "string"
      +                  },
      +                  "snippet": {
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "method",
      +                  "description",
      +                  "snippet"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "token": {
      +              "type": "string"
      +            },
      +            "verify_endpoint": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "domain",
      +            "token",
      +            "verify_endpoint",
      +            "methods"
      +          ],
      +          "type": "object"
      +        },
      +        "verified": {
      +          "const": false
      +        }
      +      },
      +      "required": [
      +        "domain",
      +        "verified",
      +        "checked",
      +        "hint",
      +        "verification"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "additionalProperties": true,
      +      "properties": {
      +        "detail": {
      +          "type": "string"
      +        },
      +        "domain": {
      +          "type": "string"
      +        },
      +        "error": {
      +          "type": "string"
      +        },
      +        "hint": {
      +          "type": "string"
      +        },
      +        "retry_after_seconds": {
      +          "type": "integer"
      +        }
      +      },
      +      "required": [
      +        "error"
      +      ],
      +      "type": "object"
      +    }
      +  ],
      +  "type": "object"
      +}
  4. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond the annotations: discloses that the challenge is consumed once, that the owner API key is returned only a single time, that recovery replaces previous credentials and sessions, and gives an explicit rate limit of 10 attempts per domain per hour. This is the rare description that independently carries real operational risk information.

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?

Five short sentences, each carrying distinct information, front-loaded with the action and its dependency. Slightly dense with caveats, but no sentence is filler.

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

Completeness5/5

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

For a destructive, non-idempotent, rate-limited mutation with a private credential, the description covers the dependency, the single-use semantics, the secret return value, recovery behavior, and rate limits. Output schema exists, so return-format detail is unnecessary.

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 coverage is only 33% (only 'domain' is documented). The description partly compensates by indicating claim_id/claim_secret are the private credentials issued by begin_ownership_claim, but it does not clarify their format or that passing stale credentials fails, leaving a real coverage gap.

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 ('Complete the fresh challenge from begin_ownership_claim') and ties it directly to the sibling that produces the inputs, so an agent knows exactly which step of the ownership flow this is.

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

Usage Guidelines4/5

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

Explicitly says to use it with the 'fresh challenge' from begin_ownership_claim and rules out 'public or legacy proof tokens alone'. It gives a clear precondition but does not name what an agent should do instead in the legacy/expired-challenge case.

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.