AstraVerify Domain Trust Check

Email security and AI discoverability scores for any domain, with the exact record or tag to fix.

我該用這個嗎

品質與安全性

A
說明品質
100%
結構描述完整度
96%
命名品質
100%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

根據工具定義與協定合規性的自動化分析。

上下文成本

~4,643Token(工具定義)
~10.7 KB典型回應大小
顯著的注意力影響(128k 上下文的 3.63%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "domain-trust": {
      "url": "https://astraverify.com/mcp"
    }
  }
}

遠端端點

https://astraverify.com/mcpstreamable-http

它能做什麼

工具清單

工具(5)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢check_email_security(domain, refresh)

Email Security score for a domain with the DNS records found and the exact records to publish for each fix.

輸入結構描述

{
  "type": "object",
  "properties": {
    "domain": {
      "description": "The domain to check, as the person gave it (no scheme, no path). Reserved names such as example.com are refused.",
      "maxLength": 253,
      "minLength": 3,
      "type": "string"
    },
    "refresh": {
      "default": false,
      "description": "Force a fresh scan instead of the cached result (rate limited)",
      "type": "boolean"
    }
  },
  "required": [
    "domain"
  ]
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "cache_age_seconds": {
      "description": "Age of the result; 0 means it was scanned just now",
      "type": "integer"
    },
    "capped": {
      "type": "boolean"
    },
    "components": {
      "items": {
        "description": "One scored area of the domain",
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "key": {
            "type": "string"
          },
          "max": {
            "type": "integer"
          },
          "name": {
            "type": "string"
          },
          "points": {
            "type": "integer"
          },
          "summary": {
            "type": "string"
          }
        },
        "required": [
          "key",
          "name",
          "points",
          "max"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "domain": {
      "type": "string"
    },
    "grade": {
      "description": "A+ to F",
      "type": "string"
    },
    "held_back": {
      "description": "Points the cap holds back while a fix is open (89 cap) or a critical one is (69). Not taken from any component: sum(components.points) - held_back = score",
      "type": "integer"
    },
    "null_mx": {
      "description": "The domain declares that it sends and receives no mail",
      "type": "boolean"
    },
    "open_fixes": {
      "description": "Findings above info level",
      "type": "integer"
    },
    "provider": {
      "description": "Mail provider detected from MX; null when not recognised",
      "type": [
        "string",
        "null"
      ]
    },
    "raw": {
      "description": "What the components add up to, before the cap",
      "type": "integer"
    },
    "recommendations": {
      "items": {
        "properties": {
          "component": {
            "type": "string"
          },
          "fix": {
            "description": "The exact change to publish: a DNS record (name, type, value) or a file or tag (kind, label, value, where). Null when there is nothing to publish, for example \"turn on DKIM in your provider\".",
            "properties": {
              "kind": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "label": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "name": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "note": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "type": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "value": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "where": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "type": [
              "object",
              "null"
            ]
          },
          "id": {
            "type": "string"
          },
          "scan": {
            "enum": [
              "email",
              "discoverability"
            ],
            "type": "string"
          },
          "severity": {
            "enum": [
              "critical",
              "important",
              "info"
            ],
            "type": "string"
          },
          "tags": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "title": {
            "type": "string"
          },
          "why": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "severity",
          "title"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "records": {
      "additionalProperties": {
        "items": {
          "type": "object"
        },
        "type": "array"
      },
      "description": "DNS records found, keyed mx, spf, dkim, dmarc",
      "type": "object"
    },
    "report_url": {
      "description": "The report page for this domain on astraverify.com",
      "type": "string"
    },
    "request_id": {
      "description": "req_... for this call. Quote it when reporting a problem with the result.",
      "type": "string"
    },
    "score": {
      "description": "Out of 100, exactly as astraverify.com shows it",
      "type": "integer"
    }
  },
  "required": [
    "domain",
    "score",
    "grade"
  ]
}
🟢check_discoverability(domain, refresh)

Discoverability score for a domain: crawl access, site plumbing, page metadata, structured data and answer-engine readiness, with the exact file or tag to fix for each finding.

輸入結構描述

{
  "type": "object",
  "properties": {
    "domain": {
      "description": "The domain to check, as the person gave it (no scheme, no path). Reserved names such as example.com are refused.",
      "maxLength": 253,
      "minLength": 3,
      "type": "string"
    },
    "refresh": {
      "default": false,
      "description": "Force a fresh scan instead of the cached result (rate limited)",
      "type": "boolean"
    }
  },
  "required": [
    "domain"
  ]
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "cache_age_seconds": {
      "description": "Age of the result; 0 means it was scanned just now",
      "type": "integer"
    },
    "canonical_host": {
      "type": [
        "string",
        "null"
      ]
    },
    "capped": {
      "type": "boolean"
    },
    "cdn": {
      "type": [
        "string",
        "null"
      ]
    },
    "components": {
      "items": {
        "description": "One scored area of the domain",
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "key": {
            "type": "string"
          },
          "max": {
            "type": "integer"
          },
          "name": {
            "type": "string"
          },
          "points": {
            "type": "integer"
          },
          "summary": {
            "type": "string"
          }
        },
        "required": [
          "key",
          "name",
          "points",
          "max"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "domain": {
      "type": "string"
    },
    "grade": {
      "description": "A+ to F, or null alongside a null score",
      "type": [
        "string",
        "null"
      ]
    },
    "held_back": {
      "description": "Points the cap holds back while a fix is open (89 cap) or a critical one is (69). Not taken from any component: sum(components.points) - held_back = score",
      "type": "integer"
    },
    "inconclusive": {
      "description": "The site could not be fetched, so the scan could not be completed. A failure to measure, not a finding about the site.",
      "type": "boolean"
    },
    "not_applicable": {
      "description": "The domain publishes no web address, so there is no website to assess. Not a low score: score and grade are null and there are no recommendations. verdict names the domain to scan instead.",
      "type": "boolean"
    },
    "not_checked": {
      "description": "Parts skipped in this scan",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "open_fixes": {
      "description": "Findings above info level",
      "type": "integer"
    },
    "raw": {
      "description": "What the components add up to, before the cap",
      "type": "integer"
    },
    "reason": {
      "description": "Why score is null, when it is",
      "type": [
        "string",
        "null"
      ]
    },
    "recommendations": {
      "items": {
        "properties": {
          "component": {
            "type": "string"
          },
          "fix": {
            "description": "The exact change to publish: a DNS record (name, type, value) or a file or tag (kind, label, value, where). Null when there is nothing to publish, for example \"turn on DKIM in your provider\".",
            "properties": {
              "kind": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "label": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "name": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "note": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "type": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "value": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "where": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "type": [
              "object",
              "null"
            ]
          },
          "id": {
            "type": "string"
          },
          "scan": {
            "enum": [
              "email",
              "discoverability"
            ],
            "type": "string"
          },
          "severity": {
            "enum": [
              "critical",
              "important",
              "info"
            ],
            "type": "string"
          },
          "tags": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "title": {
            "type": "string"
          },
          "why": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "severity",
          "title"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "report_url": {
      "description": "The report page for this domain on astraverify.com",
      "type": "string"
    },
    "request_id": {
      "description": "req_... for this call. Quote it when reporting a problem with the result.",
      "type": "string"
    },
    "score": {
      "description": "Out of 100, exactly as astraverify.com shows it. Null when not_applicable or inconclusive is set.",
      "type": [
        "integer",
        "null"
      ]
    },
    "verdict": {
      "description": "One sentence on what engines can do with the site",
      "type": "string"
    },
    "verified_component": {
      "description": "Set by verify_fix: the component re-checked",
      "type": "string"
    }
  },
  "required": [
    "domain",
    "score",
    "grade"
  ]
}
🟢get_report(domain, refresh)

Both scores, the open fixes ranked by severity, and a saved report link (report_url) that opens the same findings without a rescan; share it as-is. Use this first for "is my domain set up right?" questions.

輸入結構描述

{
  "type": "object",
  "properties": {
    "domain": {
      "description": "The domain to check, as the person gave it (no scheme, no path). Reserved names such as example.com are refused.",
      "maxLength": 253,
      "minLength": 3,
      "type": "string"
    },
    "refresh": {
      "default": false,
      "description": "Force a fresh scan instead of the cached result (rate limited)",
      "type": "boolean"
    }
  },
  "required": [
    "domain"
  ]
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "discoverability": {
      "properties": {
        "cache_age_seconds": {
          "description": "Age of the result; 0 means it was scanned just now",
          "type": "integer"
        },
        "canonical_host": {
          "type": [
            "string",
            "null"
          ]
        },
        "capped": {
          "type": "boolean"
        },
        "cdn": {
          "type": [
            "string",
            "null"
          ]
        },
        "components": {
          "items": {
            "description": "One scored area of the domain",
            "properties": {
              "enabled": {
                "type": "boolean"
              },
              "key": {
                "type": "string"
              },
              "max": {
                "type": "integer"
              },
              "name": {
                "type": "string"
              },
              "points": {
                "type": "integer"
              },
              "summary": {
                "type": "string"
              }
            },
            "required": [
              "key",
              "name",
              "points",
              "max"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "domain": {
          "type": "string"
        },
        "grade": {
          "description": "A+ to F, or null alongside a null score",
          "type": [
            "string",
            "null"
          ]
        },
        "held_back": {
          "description": "Points the cap holds back while a fix is open (89 cap) or a critical one is (69). Not taken from any component: sum(components.points) - held_back = score",
          "type": "integer"
        },
        "inconclusive": {
          "description": "The site could not be fetched, so the scan could not be completed. A failure to measure, not a finding about the site.",
          "type": "boolean"
        },
        "not_applicable": {
          "description": "The domain publishes no web address, so there is no website to assess. Not a low score: score and grade are null and there are no recommendations. verdict names the domain to scan instead.",
          "type": "boolean"
        },
        "not_checked": {
          "description": "Parts skipped in this scan",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "open_fixes": {
          "description": "Findings above info level",
          "type": "integer"
        },
        "raw": {
          "description": "What the components add up to, before the cap",
          "type": "integer"
        },
        "reason": {
          "description": "Why score is null, when it is",
          "type": [
            "string",
            "null"
          ]
        },
        "recommendations": {
          "items": {
            "properties": {
              "component": {
                "type": "string"
              },
              "fix": {
                "description": "The exact change to publish: a DNS record (name, type, value) or a file or tag (kind, label, value, where). Null when there is nothing to publish, for example \"turn on DKIM in your provider\".",
                "properties": {
                  "kind": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "label": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "note": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "type": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "value": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "where": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "type": [
                  "object",
                  "null"
                ]
              },
              "id": {
                "type": "string"
              },
              "scan": {
                "enum": [
                  "email",
                  "discoverability"
                ],
                "type": "string"
              },
              "severity": {
                "enum": [
                  "critical",
                  "important",
                  "info"
                ],
                "type": "string"
              },
              "tags": {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "title": {
                "type": "string"
              },
              "why": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "severity",
              "title"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "report_url": {
          "description": "The report page for this domain on astraverify.com",
          "type": "string"
        },
        "request_id": {
          "description": "req_... for this call. Quote it when reporting a problem with the result.",
          "type": "string"
        },
        "score": {
          "description": "Out of 100, exactly as astraverify.com shows it. Null when not_applicable or inconclusive is set.",
          "type": [
            "integer",
            "null"
          ]
        },
        "verdict": {
          "description": "One sentence on what engines can do with the site",
          "type": "string"
        },
        "verified_component": {
          "description": "Set by verify_fix: the component re-checked",
          "type": "string"
        }
      },
      "type": [
        "object",
        "null"
      ]
    },
    "discoverability_cache_age_seconds": {
      "type": [
        "integer",
        "null"
      ]
    },
    "discoverability_error": {
      "type": [
        "string",
        "null"
      ]
    },
    "domain": {
      "type": "string"
    },
    "email_cache_age_seconds": {
      "type": "integer"
    },
    "email_security": {
      "properties": {
        "cache_age_seconds": {
          "description": "Age of the result; 0 means it was scanned just now",
          "type": "integer"
        },
        "capped": {
          "type": "boolean"
        },
        "components": {
          "items": {
            "description": "One scored area of the domain",
            "properties": {
              "enabled": {
                "type": "boolean"
              },
              "key": {
                "type": "string"
              },
              "max": {
                "type": "integer"
              },
              "name": {
                "type": "string"
              },
              "points": {
                "type": "integer"
              },
              "summary": {
                "type": "string"
              }
            },
            "required": [
              "key",
              "name",
              "points",
              "max"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "domain": {
          "type": "string"
        },
        "grade": {
          "description": "A+ to F",
          "type": "string"
        },
        "held_back": {
          "description": "Points the cap holds back while a fix is open (89 cap) or a critical one is (69). Not taken from any component: sum(components.points) - held_back = score",
          "type": "integer"
        },
        "open_fixes": {
          "description": "Findings above info level",
          "type": "integer"
        },
        "raw": {
          "description": "What the components add up to, before the cap",
          "type": "integer"
        },
        "recommendations": {
          "items": {
            "properties": {
              "component": {
                "type": "string"
              },
              "fix": {
                "description": "The exact change to publish: a DNS record (name, type, value) or a file or tag (kind, label, value, where). Null when there is nothing to publish, for example \"turn on DKIM in your provider\".",
                "properties": {
                  "kind": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "label": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "note": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "type": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "value": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "where": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "type": [
                  "object",
                  "null"
                ]
              },
              "id": {
                "type": "string"
              },
              "scan": {
                "enum": [
                  "email",
                  "discoverability"
                ],
                "type": "string"
              },
              "severity": {
                "enum": [
                  "critical",
                  "important",
                  "info"
                ],
                "type": "string"
              },
              "tags": {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "title": {
                "type": "string"
              },
              "why": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "severity",
              "title"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "report_url": {
          "description": "The report page for this domain on astraverify.com",
          "type": "string"
        },
        "score": {
          "description": "Out of 100, exactly as astraverify.com shows it",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "live_url": {
      "description": "The live page, which rescans when the result is stale",
      "type": "string"
    },
    "recommendations": {
      "description": "Both scans, ranked by severity",
      "items": {
        "properties": {
          "component": {
            "type": "string"
          },
          "fix": {
            "description": "The exact change to publish: a DNS record (name, type, value) or a file or tag (kind, label, value, where). Null when there is nothing to publish, for example \"turn on DKIM in your provider\".",
            "properties": {
              "kind": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "label": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "name": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "note": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "type": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "value": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "where": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "type": [
              "object",
              "null"
            ]
          },
          "id": {
            "type": "string"
          },
          "scan": {
            "enum": [
              "email",
              "discoverability"
            ],
            "type": "string"
          },
          "severity": {
            "enum": [
              "critical",
              "important",
              "info"
            ],
            "type": "string"
          },
          "tags": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "title": {
            "type": "string"
          },
          "why": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "severity",
          "title"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "report_url": {
      "description": "Saved snapshot (/r/<id>) that opens without a rescan; safe to share",
      "type": "string"
    },
    "request_id": {
      "description": "req_... for this call. Quote it when reporting a problem with the result.",
      "type": "string"
    }
  },
  "required": [
    "domain",
    "email_security"
  ]
}
🟢fetch_as_crawler(agent, domain)

What Googlebot, Bingbot, OAI-SearchBot, PerplexityBot, ClaudeBot or GPTBot receive from the site: status, redirects, headers and extracted text. Shows CDN or firewall blocks that robots.txt cannot.

輸入結構描述

{
  "type": "object",
  "properties": {
    "agent": {
      "enum": [
        "googlebot",
        "bingbot",
        "oai-searchbot",
        "perplexitybot",
        "claudebot",
        "gptbot"
      ],
      "type": "string"
    },
    "domain": {
      "description": "The domain to check, as the person gave it (no scheme, no path). Reserved names such as example.com are refused.",
      "maxLength": 253,
      "minLength": 3,
      "type": "string"
    }
  },
  "required": [
    "domain",
    "agent"
  ]
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "agent": {
      "type": "string"
    },
    "blocked": {
      "description": "The response refused the crawler (403, 429 or similar)",
      "type": "boolean"
    },
    "chain": {
      "description": "Redirect hops",
      "items": {
        "properties": {
          "status": {
            "type": "integer"
          },
          "url": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "type": "array"
    },
    "challenge": {
      "description": "A bot-challenge page rather than the site",
      "type": "boolean"
    },
    "content_type": {
      "type": [
        "string",
        "null"
      ]
    },
    "domain": {
      "type": "string"
    },
    "error": {
      "type": [
        "string",
        "null"
      ]
    },
    "extract": {
      "description": "The text this crawler would index; null when the fetch failed",
      "type": [
        "string",
        "null"
      ]
    },
    "final_url": {
      "type": [
        "string",
        "null"
      ]
    },
    "headers": {
      "additionalProperties": {
        "type": "string"
      },
      "type": "object"
    },
    "label": {
      "description": "The crawler as its operator names it",
      "type": "string"
    },
    "ms": {
      "type": "integer"
    },
    "request_id": {
      "description": "req_... for this call. Quote it when reporting a problem with the result.",
      "type": "string"
    },
    "status": {
      "description": "HTTP status the crawler received",
      "type": [
        "integer",
        "null"
      ]
    },
    "title": {
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "domain",
    "agent"
  ]
}
🟢verify_fix(component, domain)

Re-runs only the checks behind one component (crawl, plumbing, metadata, structured, answer) and returns the updated score.

輸入結構描述

{
  "type": "object",
  "properties": {
    "component": {
      "enum": [
        "crawl",
        "plumbing",
        "metadata",
        "structured",
        "answer"
      ],
      "type": "string"
    },
    "domain": {
      "description": "The domain to check, as the person gave it (no scheme, no path). Reserved names such as example.com are refused.",
      "maxLength": 253,
      "minLength": 3,
      "type": "string"
    }
  },
  "required": [
    "domain",
    "component"
  ]
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "cache_age_seconds": {
      "description": "Age of the result; 0 means it was scanned just now",
      "type": "integer"
    },
    "canonical_host": {
      "type": [
        "string",
        "null"
      ]
    },
    "capped": {
      "type": "boolean"
    },
    "cdn": {
      "type": [
        "string",
        "null"
      ]
    },
    "components": {
      "items": {
        "description": "One scored area of the domain",
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "key": {
            "type": "string"
          },
          "max": {
            "type": "integer"
          },
          "name": {
            "type": "string"
          },
          "points": {
            "type": "integer"
          },
          "summary": {
            "type": "string"
          }
        },
        "required": [
          "key",
          "name",
          "points",
          "max"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "domain": {
      "type": "string"
    },
    "grade": {
      "description": "A+ to F, or null alongside a null score",
      "type": [
        "string",
        "null"
      ]
    },
    "held_back": {
      "description": "Points the cap holds back while a fix is open (89 cap) or a critical one is (69). Not taken from any component: sum(components.points) - held_back = score",
      "type": "integer"
    },
    "inconclusive": {
      "description": "The site could not be fetched, so the scan could not be completed. A failure to measure, not a finding about the site.",
      "type": "boolean"
    },
    "not_applicable": {
      "description": "The domain publishes no web address, so there is no website to assess. Not a low score: score and grade are null and there are no recommendations. verdict names the domain to scan instead.",
      "type": "boolean"
    },
    "not_checked": {
      "description": "Parts skipped in this scan",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "open_fixes": {
      "description": "Findings above info level",
      "type": "integer"
    },
    "raw": {
      "description": "What the components add up to, before the cap",
      "type": "integer"
    },
    "reason": {
      "description": "Why score is null, when it is",
      "type": [
        "string",
        "null"
      ]
    },
    "recommendations": {
      "items": {
        "properties": {
          "component": {
            "type": "string"
          },
          "fix": {
            "description": "The exact change to publish: a DNS record (name, type, value) or a file or tag (kind, label, value, where). Null when there is nothing to publish, for example \"turn on DKIM in your provider\".",
            "properties": {
              "kind": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "label": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "name": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "note": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "type": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "value": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "where": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "type": [
              "object",
              "null"
            ]
          },
          "id": {
            "type": "string"
          },
          "scan": {
            "enum": [
              "email",
              "discoverability"
            ],
            "type": "string"
          },
          "severity": {
            "enum": [
              "critical",
              "important",
              "info"
            ],
            "type": "string"
          },
          "tags": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "title": {
            "type": "string"
          },
          "why": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "severity",
          "title"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "report_url": {
      "description": "The report page for this domain on astraverify.com",
      "type": "string"
    },
    "request_id": {
      "description": "req_... for this call. Quote it when reporting a problem with the result.",
      "type": "string"
    },
    "score": {
      "description": "Out of 100, exactly as astraverify.com shows it. Null when not_applicable or inconclusive is set.",
      "type": [
        "integer",
        "null"
      ]
    },
    "verdict": {
      "description": "One sentence on what engines can do with the site",
      "type": "string"
    },
    "verified_component": {
      "description": "Set by verify_fix: the component re-checked",
      "type": "string"
    }
  },
  "required": [
    "domain",
    "score",
    "grade"
  ]
}

建議的提示詞

retrieve_data
Get details about [item] from AstraVerify Domain Trust Check
預期的工具: get_report
fetch_info
Fetch [information type] using AstraVerify Domain Trust Check
預期的工具: get_report

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本5 個工具
已驗證未記錄版本5 個工具