SiteGuardian

io.github.gweber由 GitHub 账号 gweber 发布v1.0.0更新于 Oct 27, 2026

EU-hosted website monitoring + 17-framework compliance MCP. One anonymous tool, four authenticated.

已验证Streamable HTTP可网页运行网页搜索与抓取安全与监控

概览

AI 生成的概览

SiteGuardian 的托管 MCP 端点,让助手对网站执行安全扫描,并查询域名的监控、漂移与修复数据。

可以做什么
  • 对指定域名执行一次免费安全扫描,返回 A–F 评级、扫描时间、主要问题及报告链接
  • 列出账户下持续监控的域名及其评级与最近扫描时间
  • 查询某个受监控域名的当前评级与未解决问题
  • 查看近期配置漂移事件,如 TLS、DNSSEC、安全响应头、Cookie 与第三方 JS 主机变化
  • 获取针对已付费域名问题的可直接复制修复建议(nginx、Apache、DNS、shell)
适用场景
适合希望助手在聊天客户端内快速检查网站安全状况、跟踪已监控域名,或解释配置变化及修复方式的场景。
运行要求
远程 Streamable HTTP 端点,无需本地安装。扫描工具可匿名使用。四个监控工具需要 SiteGuardian 账户(Monitor、Compliance 或 Enterprise 套餐)生成的 API 密钥,通过 Authorization Bearer 请求头发送。修复建议还要求该域名有有效订阅或已购买单次报告。
安装前请注意
Authorization 请求头携带真实 API 密钥,避免放入共享配置。修复建议需付费套餐或已购报告,调用可能涉及计费。该服务为闭源 SaaS,工具调用会被记录并以哈希链留存用于防滥用和计费,域名信息会发送给服务商。

安装

在 SourceWeft 中

  1. 打开 控制台中的 SiteGuardian,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.gweber%2Fsiteguardian/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "siteguardian": {
      "type": "http",
      "url": "https://mcp.siteguardian.io/"
    }
  }
}

README

SiteGuardian MCP — Examples & Client Configurations

[MCP] [EU] [Docs]

Client configurations, copy-paste examples, and the MCP server manifest for the SiteGuardian Model Context Protocol server.

Note: This repository contains examples and client integration code only. The MCP server itself is hosted at https://mcp.siteguardian.io and is operated as a SaaS — server source is closed. Everything in this repo is MIT-licensed and free to fork.

What is the SiteGuardian MCP server?

A hosted MCP endpoint that lets Claude Desktop, Claude Code, Cursor, Windsurf, and VS Code Copilot query website-monitoring data and run security/compliance scans through natural-language tool calls.

  • Endpoint: https://mcp.siteguardian.io (or the canonical https://siteguardian.io/mcp)
  • Transport: Streamable HTTP
  • Hosting: Hetzner, Germany — EU data residency
  • Documentation: https://siteguardian.io/docs/mcp

Five tools

ToolAuthPurpose
scan_domainanonymousOne-off security scan, A–F grade + top 3 issues + permalink
list_monitored_domainsBearerDomains under continuous monitoring for the account
get_domain_statusBearerCurrent grade + active issues for a monitored domain
get_drift_eventsBearerRecent posture changes (TLS, DNSSEC, headers, cookies, JS hosts)
get_fix_recommendationsBearer + paid plannginx/Apache/DNS snippets + verify commands

Try the anonymous tool (no setup required)

bash
curl -X POST https://mcp.siteguardian.io/ \  -H 'Content-Type: application/json' \  -H 'Accept: application/json, text/event-stream' \  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"scan_domain","arguments":{"domain":"example.com"}}}'

Rate-limited to 10 calls/hour/IP. Cached for 2h per domain. Full curl/Python/JS examples in examples/.

Install in your client

All clients use the same endpoint. Copy-paste configs in clients/:

Authentication

The scan_domain tool is anonymous. The four monitoring tools require a Bearer key:

  1. Sign in at https://siteguardian.io
  2. Open Settings → API & Integrations
  3. Click Generate key, name it, copy it
  4. Add to your client config:
    json
    "headers": {"Authorization": "Bearer sg_live_..."}

API keys are available on the Monitor, Compliance, and Enterprise plans.

Privacy

  • EU-hosted. Hetzner Germany. No US sub-processor.
  • No LLM in the response path. Tool answers are deterministic from monitoring data.
  • No training on your queries. Logged for abuse prevention and billing only.
  • Audit trail. Every tool call is recorded in the SHA-256 hash chain.

Server manifest

The full machine-readable MCP server manifest is in server.json — this is the file consumed by the Anthropic MCP Registry and the various community directories.

Roadmap

  • OAuth 2.1 (per current MCP spec)
  • resources and prompts in addition to tools
  • Listing in the official Anthropic MCP Registry
  • Listing on Smithery and mcp.so

License

Examples and client configurations in this repository are released under the MIT License — see LICENSE.

The SiteGuardian MCP server itself is proprietary and hosted as a SaaS. Server source is not distributed.

Support

来源:README.md,提交 92d01ef

工具

5

scan_domain

Runs a free one-off security scan of the given domain and returns its grade (A–F), scan timestamp, and up to three top-priority issues with a permalink to the full report on siteguardian.io. Use this when the user asks for a quick security check of a domain that is NOT yet under SiteGuardian monitoring, or when they want a fresh assessment before subscribing. Results are cached for two hours, so repeated calls about the same domain return the same snapshot and mark it with cached=True. Do NOT use this for domains already under monitoring by the user — call get_domain_status instead for the account-scoped view with framework tags. Do NOT use this to batch-scan many domains as a competitive-intelligence tool; per-source-IP and per-target rate limits bound usage. This tool does not require authentication.

输入参数domain必填

list_monitored_domains

Returns the full list of domains under continuous SiteGuardian monitoring for the authenticated account. Each entry includes the domain, current security grade (A–F), timestamp of the last completed scan, and a relative dashboard URL. Use this when the user asks what they are monitoring, wants an inventory summary, or needs to look up a specific domain's exact spelling before calling get_domain_status / get_drift_events / get_fix_recommendations. The list is scoped entirely by the API key — there is no filter parameter to widen or narrow the result. Do NOT use this to enumerate domains the user does not own or monitor — it only returns their own inventory. Do NOT call it to trigger a scan (it does not); use scan_domain for one-off checks. Requires a valid API key.

无需输入参数。

get_domain_status

Returns the current security grade (A–F), last-scan timestamp, and list of active issues for a domain that is ALREADY under SiteGuardian monitoring by the authenticated account. Each issue carries a stable id, a severity, a short title, and an impact description. The response also includes a relative dashboard URL. Use this when the user asks about the current state of a specific monitored domain, wants to confirm a recent change landed, or needs issue ids to call get_fix_recommendations with a specific issue_id. Do NOT use this for domains not yet under monitoring — it will return a domain_not_monitored error; call scan_domain for one-off checks instead. Compliance framework tags (NIS2 / GDPR / DORA) are NOT included in v1; framework tagging on the monitored-domain path is tracked as a follow-up. Requires a valid API key.

输入参数domain必填

get_drift_events

Returns recent configuration drift events for a domain under monitoring by the authenticated account — TLS changes, DNSSEC state changes, new or removed security headers, shifts in third-party JS hosts, new cookies. Each event carries its observed-at timestamp, a kind (tls/dnssec/cookies/js_hosts/headers), a severity classified centrally (high for tls/dnssec/headers, medium for cookies/js_hosts, otherwise low), a short summary, and a sanitised detail payload. Use this when the user asks 'what changed' on a domain, wants to audit recent posture shifts, or is diagnosing an unexpected issue. Pair it with get_domain_status to see the current state and get_drift_events to see how it got there. Do NOT use this for a domain that is not under monitoring — you'll get a domain_not_monitored error; monitoring has to be active for the drift history to accumulate. Optional since (ISO-8601) and limit (1..100) params narrow the window. Requires a valid API key.

输入参数limitsincedomain必填

get_fix_recommendations

Returns copy-paste-ready fix recommendations (nginx, Apache, DNS, shell) for the issues found on a domain the caller has already paid for — either an active Monitor/Compliance subscription covering the domain, OR a purchased one-off Report for the domain. Each recommendation carries a stable issue_id, a priority (high/medium/low), a title, prose instructions, one or more config snippets with the target domain already interpolated, a verify command, and a category tag. Use this when the user asks how to fix an issue, wants the exact config to apply, or needs to verify a fix worked. Pass the optional issue_id to scope the response to one specific finding. The response is read-only — this tool NEVER triggers a fresh scan; fixes are computed from the most recent stored scan (including the Report-included re-scan if that was used). Do NOT use this for domains the caller hasn't purchased coverage for — you'll get an upgrade_required error that links to the pricing page. Do NOT use this to run or trigger a scan; call scan_domain for anonymous checks. Requires a valid API key.

输入参数domain必填issue_id

版本历史

1
  1. v1.0.0最新Sep 16, 2026

评分

已满足适用检查项的 100%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分