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,643토큰 (도구 정의)
~10.7 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 3.63%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`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개