{
  "ok": true,
  "resource": {
    "id": "RES_058B5960CB74",
    "resource_type": "mcp_server",
    "canonical_url": "https://registry.modelcontextprotocol.io/v0.1/servers/fetcher/versions/1.1.3",
    "name": "fetcher",
    "summary_en": "The web capability layer for AI agents: render, extract, DNS, SSL, WHOIS & more via x402.",
    "summary_zh": "面向AI代理的网页能力层，提供渲染、内容提取、DNS/SSL/WHOIS查询及安全防护，按用量计费。",
    "description_en": "Fetcher is a web capability layer for AI agents, offering browser rendering, content extraction, DNS/SSL/WHOIS lookups, and security screening via an MCP server. It is suitable for tasks requiring real-time web intelligence and content processing. Access requires an API key and usage is metered with per-call pricing in USDC, though free daily quotas are available for each tool.",
    "description_zh": "Fetcher 是一个面向AI代理的网页能力层，通过MCP服务器提供浏览器渲染、内容提取、DNS/SSL/WHOIS查询以及安全防护等功能。适用于需要实时网页情报和内容处理的任务。使用需要API密钥，并按调用次数以USDC计费，但每个工具都有每日免费额度。",
    "provider_name": "cloud.fetcher",
    "homepage_url": "https://fetcher.cloud/",
    "endpoint_url": "https://api.fetcher.cloud/mcp",
    "source_url": "https://github.com/fetchercloud/fetcher-cloud",
    "icon_url": null,
    "cover_image_url": null,
    "capabilities": [
      "web.render",
      "web.extract",
      "web.resolve",
      "web.unfurl",
      "web.feed",
      "web.oembed",
      "web.favicon",
      "web.robots",
      "web.headers",
      "dns.lookup",
      "ssl.lookup",
      "whois.lookup",
      "pdf.extract",
      "qr.generate",
      "web.diff",
      "security.guard-inspect",
      "security.guard-tx",
      "domain.check"
    ],
    "categories": [
      "infrastructure",
      "search-research",
      "security"
    ],
    "industries": [
      "finance"
    ],
    "protocols": [
      "mcp"
    ],
    "auth": {
      "type": "unknown"
    },
    "pricing": {
      "model": "unknown"
    },
    "input_schema": {},
    "output_schema": {},
    "metadata": {
      "content_language": "en",
      "translation_status": "luna-reviewed",
      "official_registry": {
        "version": "1.1.3",
        "packages": [],
        "remotes": []
      },
      "review_gate": {
        "passed": true,
        "reasons": [],
        "policy_version": "review-gate-v1",
        "evaluated_at": "2026-09-04T03:52:23.955Z"
      },
      "catalog_profile": {
        "version": "catalog-profile-v1",
        "primary_category": "infrastructure",
        "integrations": [
          "GitHub"
        ],
        "use_cases": {
          "en": [
            "Render and extract content from JavaScript-heavy web pages",
            "Perform DNS, SSL, and WHOIS lookups for domain intelligence",
            "Screen untrusted content for prompt injection and transaction risks"
          ],
          "zh": [
            "渲染并提取JavaScript密集型网页的内容",
            "执行DNS、SSL和WHOIS查询以获取域名情报",
            "筛查不可信内容中的提示注入和交易风险"
          ]
        },
        "categories": [
          "infrastructure",
          "search-research",
          "security"
        ],
        "industries": [
          "finance"
        ],
        "copy": {
          "source_language": "en",
          "summary_zh_state": "present",
          "description_zh_state": "present",
          "description_en_state": "present"
        }
      }
    },
    "latest_version": "1.1.3",
    "status": "listed",
    "health_status": "healthy",
    "source_kind": "imported",
    "source_agent": "registry.modelcontextprotocol.io",
    "trust": {
      "signal": "none",
      "reason": null,
      "signals": {
        "yellow": 0,
        "red": 0
      }
    },
    "review_summary": {
      "method_version": "capability-evidence-v3",
      "capability_definition": "strong",
      "contract_completeness": "strong",
      "access_friction": "medium",
      "operational_transparency": "strong",
      "evidence_strength": "protocol_inspected",
      "use_readiness": "guided_use",
      "reviewed_at": "2026-09-04T03:52:25.006Z"
    },
    "experience_count": 0,
    "verified_experience_count": 0,
    "usage_count": 0,
    "success_rate": null,
    "first_seen_at": "2026-09-03T13:58:23.174Z",
    "last_seen_at": "2026-09-04T03:52:24.226Z",
    "published_at": "2026-09-03T13:58:23.174Z",
    "created_at": "2026-09-03T13:58:23.174Z",
    "updated_at": "2026-09-04T03:52:25.006Z",
    "api_url": "https://aiworkshub.io/api/v1/resources/RES_058B5960CB74",
    "reviews_url": "https://aiworkshub.io/api/v1/resources/RES_058B5960CB74/reviews",
    "public_url": "https://aiworkshub.io/resources/RES_058B5960CB74",
    "distribution": {
      "canonical_identity": "https://registry.modelcontextprotocol.io/v0.1/servers/fetcher/versions/1.1.3",
      "syndicatable": true,
      "origins": [
        {
          "registry_url": "https://registry.modelcontextprotocol.io/",
          "upstream_resource_id": "fetcher@1.1.3",
          "upstream_record_url": "https://registry.modelcontextprotocol.io/v0.1/servers/fetcher/versions/1.1.3",
          "relation": "syndicated",
          "metadata": {
            "source": "official-mcp-registry"
          },
          "first_seen_at": "2026-09-03T13:58:23.174Z",
          "last_seen_at": "2026-09-04T03:52:24.226Z"
        }
      ]
    },
    "tools": [
      {
        "name": "check_domain",
        "title_en": "Check Domain",
        "title_zh": "域名检查",
        "description_en": "Checks domain availability across TLDs via RDAP, with optional enrichment for DNS, age, and Wayback history.",
        "description_zh": "通过RDAP检查域名在多个TLD中的可用性，并可选择丰富DNS、年龄和Wayback历史信息。",
        "input_schema": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string"
            },
            "tlds": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "enriched": {
              "type": "boolean"
            }
          },
          "required": [
            "name"
          ]
        },
        "output_schema": {},
        "unit_kind": "mcp_tool",
        "effect": "unknown",
        "open_world": false,
        "idempotency": "unknown",
        "confirmation": "explicit policy",
        "evidence_ids": [
          "protocol-tools"
        ],
        "runtime_auth": {},
        "pricing": {},
        "metadata": {}
      },
      {
        "name": "check_robots",
        "title_en": "Check Robots",
        "title_zh": "检查Robots",
        "description_en": "Parses robots.txt to determine if a user-agent may crawl a path and lists sitemaps.",
        "description_zh": "解析robots.txt，判断用户代理是否可以爬取某个路径，并列出站点地图。",
        "input_schema": {
          "type": "object",
          "properties": {
            "host": {
              "type": "string",
              "description": "Target URL or hostname."
            },
            "path": {
              "type": "string"
            },
            "user_agent": {
              "type": "string"
            }
          },
          "required": [
            "host"
          ]
        },
        "output_schema": {},
        "unit_kind": "mcp_tool",
        "effect": "unknown",
        "open_world": false,
        "idempotency": "unknown",
        "confirmation": "explicit policy",
        "evidence_ids": [
          "protocol-tools"
        ],
        "runtime_auth": {},
        "pricing": {},
        "metadata": {}
      },
      {
        "name": "diff_pages",
        "title_en": "Diff Pages",
        "title_zh": "页面差异比较",
        "description_en": "Compares two pages or a page against its latest Wayback snapshot and returns changes.",
        "description_zh": "比较两个页面或一个页面与其最新的Wayback快照，并返回差异。",
        "input_schema": {
          "type": "object",
          "properties": {
            "url_a": {
              "type": "string",
              "description": "Target URL or hostname."
            },
            "url_b": {
              "type": "string"
            }
          },
          "required": [
            "url_a"
          ]
        },
        "output_schema": {},
        "unit_kind": "mcp_tool",
        "effect": "unknown",
        "open_world": false,
        "idempotency": "unknown",
        "confirmation": "explicit policy",
        "evidence_ids": [
          "protocol-tools"
        ],
        "runtime_auth": {},
        "pricing": {},
        "metadata": {}
      },
      {
        "name": "dns_lookup",
        "title_en": "DNS Lookup",
        "title_zh": "DNS查询",
        "description_en": "Performs a full DNS record dump including A, AAAA, MX, NS, TXT, SOA, CAA, and CNAME records.",
        "description_zh": "执行完整的DNS记录转储，包括A、AAAA、MX、NS、TXT、SOA、CAA和CNAME记录。",
        "input_schema": {
          "type": "object",
          "properties": {
            "host": {
              "type": "string",
              "description": "Target URL or hostname."
            }
          },
          "required": [
            "host"
          ]
        },
        "output_schema": {},
        "unit_kind": "mcp_tool",
        "effect": "unknown",
        "open_world": false,
        "idempotency": "unknown",
        "confirmation": "explicit policy",
        "evidence_ids": [
          "protocol-tools"
        ],
        "runtime_auth": {},
        "pricing": {},
        "metadata": {}
      },
      {
        "name": "extract_content",
        "title_en": "Extract Content",
        "title_zh": "提取内容",
        "description_en": "Extracts a page's main content as clean Markdown or text with metadata.",
        "description_zh": "将页面的主要内容提取为干净的Markdown或文本，并附带元数据。",
        "input_schema": {
          "type": "object",
          "properties": {
            "url": {
              "type": "string",
              "description": "Target URL or hostname."
            },
            "mode": {
              "type": "string",
              "enum": [
                "markdown",
                "text",
                "full"
              ]
            }
          },
          "required": [
            "url"
          ]
        },
        "output_schema": {},
        "unit_kind": "mcp_tool",
        "effect": "unknown",
        "open_world": false,
        "idempotency": "unknown",
        "confirmation": "explicit policy",
        "evidence_ids": [
          "protocol-tools"
        ],
        "runtime_auth": {},
        "pricing": {},
        "metadata": {}
      },
      {
        "name": "extract_pdf",
        "title_en": "Extract PDF",
        "title_zh": "提取PDF",
        "description_en": "Extracts text and metadata from a text-based PDF URL.",
        "description_zh": "从基于文本的PDF URL中提取文本和元数据。",
        "input_schema": {
          "type": "object",
          "properties": {
            "url": {
              "type": "string",
              "description": "Target URL or hostname."
            },
            "max_pages": {
              "type": "number"
            }
          },
          "required": [
            "url"
          ]
        },
        "output_schema": {},
        "unit_kind": "mcp_tool",
        "effect": "unknown",
        "open_world": false,
        "idempotency": "unknown",
        "confirmation": "explicit policy",
        "evidence_ids": [
          "protocol-tools"
        ],
        "runtime_auth": {},
        "pricing": {},
        "metadata": {}
      },
      {
        "name": "find_favicon",
        "title_en": "Find Favicon",
        "title_zh": "查找网站图标",
        "description_en": "Finds a site's best icon or logo.",
        "description_zh": "查找网站的最佳图标或标志。",
        "input_schema": {
          "type": "object",
          "properties": {
            "host": {
              "type": "string",
              "description": "Target URL or hostname."
            }
          },
          "required": [
            "host"
          ]
        },
        "output_schema": {},
        "unit_kind": "mcp_tool",
        "effect": "unknown",
        "open_world": false,
        "idempotency": "unknown",
        "confirmation": "explicit policy",
        "evidence_ids": [
          "protocol-tools"
        ],
        "runtime_auth": {},
        "pricing": {},
        "metadata": {}
      },
      {
        "name": "generate_qr",
        "title_en": "Generate QR",
        "title_zh": "生成二维码",
        "description_en": "Generates a QR code in SVG format for text or a URL.",
        "description_zh": "为文本或URL生成SVG格式的二维码。",
        "input_schema": {
          "type": "object",
          "properties": {
            "data": {
              "type": "string"
            },
            "ecc": {
              "type": "string",
              "enum": [
                "L",
                "M",
                "Q",
                "H"
              ]
            }
          },
          "required": [
            "data"
          ]
        },
        "output_schema": {},
        "unit_kind": "mcp_tool",
        "effect": "compute",
        "open_world": false,
        "idempotency": "unknown",
        "confirmation": "explicit policy",
        "evidence_ids": [
          "protocol-tools"
        ],
        "runtime_auth": {},
        "pricing": {},
        "metadata": {}
      },
      {
        "name": "get_feed",
        "title_en": "Get Feed",
        "title_zh": "获取订阅源",
        "description_en": "Discovers and parses a site's RSS/Atom feed into JSON items.",
        "description_zh": "发现并解析网站的RSS/Atom订阅源，将其转换为JSON条目。",
        "input_schema": {
          "type": "object",
          "properties": {
            "url": {
              "type": "string",
              "description": "Target URL or hostname."
            },
            "limit": {
              "type": "number"
            }
          },
          "required": [
            "url"
          ]
        },
        "output_schema": {},
        "unit_kind": "mcp_tool",
        "effect": "unknown",
        "open_world": false,
        "idempotency": "unknown",
        "confirmation": "explicit policy",
        "evidence_ids": [
          "protocol-tools"
        ],
        "runtime_auth": {},
        "pricing": {},
        "metadata": {}
      },
      {
        "name": "get_oembed",
        "title_en": "Get OEmbed",
        "title_zh": "获取OEmbed",
        "description_en": "Retrieves rich embed (oEmbed) data for media URLs like YouTube, Vimeo, X, and Spotify.",
        "description_zh": "获取媒体URL（如YouTube、Vimeo、X、Spotify）的富嵌入（oEmbed）数据。",
        "input_schema": {
          "type": "object",
          "properties": {
            "url": {
              "type": "string",
              "description": "Target URL or hostname."
            }
          },
          "required": [
            "url"
          ]
        },
        "output_schema": {},
        "unit_kind": "mcp_tool",
        "effect": "unknown",
        "open_world": false,
        "idempotency": "unknown",
        "confirmation": "explicit policy",
        "evidence_ids": [
          "protocol-tools"
        ],
        "runtime_auth": {},
        "pricing": {},
        "metadata": {}
      },
      {
        "name": "guard_inspect",
        "title_en": "Guard Inspect",
        "title_zh": "安全审查",
        "description_en": "Screens untrusted content for prompt injection or manipulation, returning a risk score and reasons.",
        "description_zh": "筛查不可信内容中的提示注入或操纵，返回风险评分和原因。",
        "input_schema": {
          "type": "object",
          "properties": {
            "text": {
              "type": "string",
              "description": "Untrusted content to screen."
            },
            "deep": {
              "type": "boolean",
              "description": "Use the ML classifier too (default true)."
            }
          },
          "required": [
            "text"
          ]
        },
        "output_schema": {},
        "unit_kind": "mcp_tool",
        "effect": "advisory",
        "open_world": false,
        "idempotency": "unknown",
        "confirmation": "explicit policy",
        "evidence_ids": [
          "protocol-tools"
        ],
        "runtime_auth": {},
        "pricing": {},
        "metadata": {}
      },
      {
        "name": "guard_tx",
        "title_en": "Guard Transaction",
        "title_zh": "交易防护",
        "description_en": "Decodes a transaction and flags risks like unlimited approvals, setApprovalForAll, scam addresses, and spend-cap breaches before signing.",
        "description_zh": "解码交易并标记风险，如无限授权、setApprovalForAll、诈骗地址和支出上限违规，在签名前提供风险判定。",
        "input_schema": {
          "type": "object",
          "properties": {
            "to": {
              "type": "string"
            },
            "data": {
              "type": "string",
              "description": "Calldata (0x...)."
            },
            "value": {
              "type": "string",
              "description": "Native value in wei."
            },
            "chain": {
              "type": "string"
            },
            "from": {
              "type": "string"
            }
          },
          "required": [
            "to"
          ]
        },
        "output_schema": {},
        "unit_kind": "mcp_tool",
        "effect": "advisory",
        "open_world": false,
        "idempotency": "unknown",
        "confirmation": "explicit policy",
        "evidence_ids": [
          "protocol-tools"
        ],
        "runtime_auth": {},
        "pricing": {},
        "metadata": {}
      },
      {
        "name": "inspect_headers",
        "title_en": "Inspect Headers",
        "title_zh": "检查响应头",
        "description_en": "Returns HTTP response headers and performs security-header analysis for a URL.",
        "description_zh": "返回URL的HTTP响应头，并进行安全头分析。",
        "input_schema": {
          "type": "object",
          "properties": {
            "url": {
              "type": "string",
              "description": "Target URL or hostname."
            }
          },
          "required": [
            "url"
          ]
        },
        "output_schema": {},
        "unit_kind": "mcp_tool",
        "effect": "unknown",
        "open_world": false,
        "idempotency": "unknown",
        "confirmation": "explicit policy",
        "evidence_ids": [
          "protocol-tools"
        ],
        "runtime_auth": {},
        "pricing": {},
        "metadata": {}
      },
      {
        "name": "render_page",
        "title_en": "Render Page",
        "title_zh": "渲染页面",
        "description_en": "Renders a JavaScript page in a real browser and returns HTML, text, and optional screenshot.",
        "description_zh": "在真实浏览器中渲染JavaScript页面，返回HTML、文本和可选的截图。",
        "input_schema": {
          "type": "object",
          "properties": {
            "url": {
              "type": "string",
              "description": "Target URL or hostname."
            },
            "screenshot": {
              "type": "boolean"
            },
            "full_page": {
              "type": "boolean"
            }
          },
          "required": [
            "url"
          ]
        },
        "output_schema": {},
        "unit_kind": "mcp_tool",
        "effect": "unknown",
        "open_world": false,
        "idempotency": "unknown",
        "confirmation": "explicit policy",
        "evidence_ids": [
          "protocol-tools"
        ],
        "runtime_auth": {},
        "pricing": {},
        "metadata": {}
      },
      {
        "name": "resolve_url",
        "title_en": "Resolve URL",
        "title_zh": "解析URL",
        "description_en": "Follows a URL's full redirect chain and returns the final URL, hops, and metadata.",
        "description_zh": "跟踪URL的完整重定向链，返回最终URL、跳转次数和元数据。",
        "input_schema": {
          "type": "object",
          "properties": {
            "url": {
              "type": "string",
              "description": "Target URL or hostname."
            }
          },
          "required": [
            "url"
          ]
        },
        "output_schema": {},
        "unit_kind": "mcp_tool",
        "effect": "unknown",
        "open_world": false,
        "idempotency": "unknown",
        "confirmation": "explicit policy",
        "evidence_ids": [
          "protocol-tools"
        ],
        "runtime_auth": {},
        "pricing": {},
        "metadata": {}
      },
      {
        "name": "screenshot_page",
        "title_en": "Screenshot Page",
        "title_zh": "页面截图",
        "description_en": "Takes a screenshot of a page using a real browser, returning a base64 PNG/JPEG.",
        "description_zh": "使用真实浏览器对页面进行截图，返回base64编码的PNG/JPEG图像。",
        "input_schema": {
          "type": "object",
          "properties": {
            "url": {
              "type": "string",
              "description": "Target URL or hostname."
            },
            "full_page": {
              "type": "boolean"
            }
          },
          "required": [
            "url"
          ]
        },
        "output_schema": {},
        "unit_kind": "mcp_tool",
        "effect": "unknown",
        "open_world": false,
        "idempotency": "unknown",
        "confirmation": "explicit policy",
        "evidence_ids": [
          "protocol-tools"
        ],
        "runtime_auth": {},
        "pricing": {},
        "metadata": {}
      },
      {
        "name": "ssl_lookup",
        "title_en": "SSL Lookup",
        "title_zh": "SSL查询",
        "description_en": "Retrieves TLS certificate details such as issuer, expiry, and SANs via Certificate Transparency logs.",
        "description_zh": "通过证书透明度日志获取TLS证书详情，如颁发者、到期时间和SAN。",
        "input_schema": {
          "type": "object",
          "properties": {
            "host": {
              "type": "string",
              "description": "Target URL or hostname."
            }
          },
          "required": [
            "host"
          ]
        },
        "output_schema": {},
        "unit_kind": "mcp_tool",
        "effect": "unknown",
        "open_world": false,
        "idempotency": "unknown",
        "confirmation": "explicit policy",
        "evidence_ids": [
          "protocol-tools"
        ],
        "runtime_auth": {},
        "pricing": {},
        "metadata": {}
      },
      {
        "name": "unfurl_url",
        "title_en": "Unfurl URL",
        "title_zh": "展开URL",
        "description_en": "Generates a link preview card with title, description, image, and favicon for any URL.",
        "description_zh": "为任意URL生成包含标题、描述、图片和网站图标的链接预览卡片。",
        "input_schema": {
          "type": "object",
          "properties": {
            "url": {
              "type": "string",
              "description": "Target URL or hostname."
            }
          },
          "required": [
            "url"
          ]
        },
        "output_schema": {},
        "unit_kind": "mcp_tool",
        "effect": "unknown",
        "open_world": false,
        "idempotency": "unknown",
        "confirmation": "explicit policy",
        "evidence_ids": [
          "protocol-tools"
        ],
        "runtime_auth": {},
        "pricing": {},
        "metadata": {}
      },
      {
        "name": "whois_lookup",
        "title_en": "WHOIS Lookup",
        "title_zh": "WHOIS查询",
        "description_en": "Performs a deep domain registration record lookup via RDAP, including registrar, dates, nameservers, and DNSSEC.",
        "description_zh": "通过RDAP执行深度域名注册记录查询，包括注册商、日期、域名服务器和DNSSEC。",
        "input_schema": {
          "type": "object",
          "properties": {
            "domain": {
              "type": "string"
            }
          },
          "required": [
            "domain"
          ]
        },
        "output_schema": {},
        "unit_kind": "mcp_tool",
        "effect": "unknown",
        "open_world": false,
        "idempotency": "unknown",
        "confirmation": "explicit policy",
        "evidence_ids": [
          "protocol-tools"
        ],
        "runtime_auth": {},
        "pricing": {},
        "metadata": {}
      }
    ],
    "review_profile": {
      "schema_version": "aiworkshub.resource-review/0.2",
      "method_version": "capability-evidence-v3",
      "review_state": {
        "identity": "verified",
        "source": "verified",
        "connectivity": "verified",
        "contract": "strong",
        "safe_use": "untested",
        "real_use": "unobserved"
      },
      "assessment": {
        "capability_definition": "strong",
        "contract_completeness": "strong",
        "access_friction": "medium",
        "operational_transparency": "strong",
        "evidence_strength": "protocol_inspected",
        "use_readiness": "guided_use"
      },
      "profile": {
        "capabilities": [
          {
            "id": "web.render",
            "weight": 90,
            "confidence": 95,
            "evidence_ids": [
              "protocol-tools"
            ]
          },
          {
            "id": "web.extract",
            "weight": 90,
            "confidence": 95,
            "evidence_ids": [
              "protocol-tools"
            ]
          },
          {
            "id": "web.resolve",
            "weight": 70,
            "confidence": 90,
            "evidence_ids": [
              "protocol-tools"
            ]
          },
          {
            "id": "web.unfurl",
            "weight": 60,
            "confidence": 90,
            "evidence_ids": [
              "protocol-tools"
            ]
          },
          {
            "id": "web.feed",
            "weight": 60,
            "confidence": 90,
            "evidence_ids": [
              "protocol-tools"
            ]
          },
          {
            "id": "web.oembed",
            "weight": 50,
            "confidence": 90,
            "evidence_ids": [
              "protocol-tools"
            ]
          },
          {
            "id": "web.favicon",
            "weight": 40,
            "confidence": 90,
            "evidence_ids": [
              "protocol-tools"
            ]
          },
          {
            "id": "web.robots",
            "weight": 50,
            "confidence": 90,
            "evidence_ids": [
              "protocol-tools"
            ]
          },
          {
            "id": "web.headers",
            "weight": 50,
            "confidence": 90,
            "evidence_ids": [
              "protocol-tools"
            ]
          },
          {
            "id": "dns.lookup",
            "weight": 80,
            "confidence": 95,
            "evidence_ids": [
              "protocol-tools"
            ]
          },
          {
            "id": "ssl.lookup",
            "weight": 80,
            "confidence": 95,
            "evidence_ids": [
              "protocol-tools"
            ]
          },
          {
            "id": "whois.lookup",
            "weight": 80,
            "confidence": 95,
            "evidence_ids": [
              "protocol-tools"
            ]
          },
          {
            "id": "pdf.extract",
            "weight": 70,
            "confidence": 90,
            "evidence_ids": [
              "protocol-tools"
            ]
          },
          {
            "id": "qr.generate",
            "weight": 40,
            "confidence": 90,
            "evidence_ids": [
              "protocol-tools"
            ]
          },
          {
            "id": "web.diff",
            "weight": 60,
            "confidence": 90,
            "evidence_ids": [
              "protocol-tools"
            ]
          },
          {
            "id": "security.guard-inspect",
            "weight": 70,
            "confidence": 90,
            "evidence_ids": [
              "protocol-tools"
            ]
          },
          {
            "id": "security.guard-tx",
            "weight": 70,
            "confidence": 90,
            "evidence_ids": [
              "protocol-tools"
            ]
          },
          {
            "id": "domain.check",
            "weight": 60,
            "confidence": 90,
            "evidence_ids": [
              "protocol-tools"
            ]
          }
        ],
        "domains": [
          {
            "id": "web",
            "weight": 90,
            "confidence": 95,
            "evidence_ids": [
              "protocol-tools"
            ]
          },
          {
            "id": "dns",
            "weight": 80,
            "confidence": 95,
            "evidence_ids": [
              "protocol-tools"
            ]
          },
          {
            "id": "security",
            "weight": 70,
            "confidence": 90,
            "evidence_ids": [
              "protocol-tools"
            ]
          }
        ],
        "workflow_roles": [
          "retrieve",
          "analyze",
          "monitor"
        ]
      },
      "catalog_profile": {
        "version": "catalog-profile-v1",
        "primary_category": "search-research",
        "integrations": [
          "GitHub"
        ],
        "use_cases": {
          "en": [
            "Render and extract content from JavaScript-heavy web pages",
            "Perform DNS, SSL, and WHOIS lookups for domain intelligence",
            "Screen untrusted content for prompt injection and transaction risks"
          ],
          "zh": [
            "渲染并提取JavaScript密集型网页的内容",
            "执行DNS、SSL和WHOIS查询以获取域名情报",
            "筛查不可信内容中的提示注入和交易风险"
          ]
        }
      },
      "capability_units": [
        {
          "id": "tool:render_page",
          "kind": "mcp_tool",
          "capability_id": "web.render",
          "effect": "unknown",
          "open_world": false,
          "idempotency": "unknown",
          "confirmation": "explicit policy",
          "input_contract": "typed",
          "output_contract": "typed_envelope_dynamic_result",
          "accepts": [
            "url"
          ],
          "produces": [
            "html",
            "text",
            "screenshot"
          ],
          "runtime_auth": {},
          "pricing": {},
          "evidence_ids": [
            "protocol-tools"
          ],
          "metadata": {}
        },
        {
          "id": "tool:screenshot_page",
          "kind": "mcp_tool",
          "capability_id": "web.render",
          "effect": "unknown",
          "open_world": false,
          "idempotency": "unknown",
          "confirmation": "explicit policy",
          "input_contract": "typed",
          "output_contract": "typed_envelope_dynamic_result",
          "accepts": [
            "url"
          ],
          "produces": [
            "image"
          ],
          "runtime_auth": {},
          "pricing": {},
          "evidence_ids": [
            "protocol-tools"
          ],
          "metadata": {}
        },
        {
          "id": "tool:extract_content",
          "kind": "mcp_tool",
          "capability_id": "web.extract",
          "effect": "unknown",
          "open_world": false,
          "idempotency": "unknown",
          "confirmation": "explicit policy",
          "input_contract": "typed",
          "output_contract": "typed_envelope_dynamic_result",
          "accepts": [
            "url"
          ],
          "produces": [
            "markdown",
            "text",
            "metadata"
          ],
          "runtime_auth": {},
          "pricing": {},
          "evidence_ids": [
            "protocol-tools"
          ],
          "metadata": {}
        },
        {
          "id": "tool:resolve_url",
          "kind": "mcp_tool",
          "capability_id": "web.resolve",
          "effect": "unknown",
          "open_world": false,
          "idempotency": "unknown",
          "confirmation": "explicit policy",
          "input_contract": "typed",
          "output_contract": "typed_envelope_dynamic_result",
          "accepts": [
            "url"
          ],
          "produces": [
            "url",
            "redirect_chain"
          ],
          "runtime_auth": {},
          "pricing": {},
          "evidence_ids": [
            "protocol-tools"
          ],
          "metadata": {}
        },
        {
          "id": "tool:unfurl_url",
          "kind": "mcp_tool",
          "capability_id": "web.unfurl",
          "effect": "unknown",
          "open_world": false,
          "idempotency": "unknown",
          "confirmation": "explicit policy",
          "input_contract": "typed",
          "output_contract": "typed_envelope_dynamic_result",
          "accepts": [
            "url"
          ],
          "produces": [
            "metadata"
          ],
          "runtime_auth": {},
          "pricing": {},
          "evidence_ids": [
            "protocol-tools"
          ],
          "metadata": {}
        },
        {
          "id": "tool:get_feed",
          "kind": "mcp_tool",
          "capability_id": "web.feed",
          "effect": "unknown",
          "open_world": false,
          "idempotency": "unknown",
          "confirmation": "explicit policy",
          "input_contract": "typed",
          "output_contract": "typed_envelope_dynamic_result",
          "accepts": [
            "url"
          ],
          "produces": [
            "feed_items"
          ],
          "runtime_auth": {},
          "pricing": {},
          "evidence_ids": [
            "protocol-tools"
          ],
          "metadata": {}
        },
        {
          "id": "tool:get_oembed",
          "kind": "mcp_tool",
          "capability_id": "web.oembed",
          "effect": "unknown",
          "open_world": false,
          "idempotency": "unknown",
          "confirmation": "explicit policy",
          "input_contract": "typed",
          "output_contract": "typed_envelope_dynamic_result",
          "accepts": [
            "url"
          ],
          "produces": [
            "embed_data"
          ],
          "runtime_auth": {},
          "pricing": {},
          "evidence_ids": [
            "protocol-tools"
          ],
          "metadata": {}
        },
        {
          "id": "tool:find_favicon",
          "kind": "mcp_tool",
          "capability_id": "web.favicon",
          "effect": "unknown",
          "open_world": false,
          "idempotency": "unknown",
          "confirmation": "explicit policy",
          "input_contract": "typed",
          "output_contract": "typed_envelope_dynamic_result",
          "accepts": [
            "host"
          ],
          "produces": [
            "icon_url"
          ],
          "runtime_auth": {},
          "pricing": {},
          "evidence_ids": [
            "protocol-tools"
          ],
          "metadata": {}
        },
        {
          "id": "tool:check_robots",
          "kind": "mcp_tool",
          "capability_id": "web.robots",
          "effect": "unknown",
          "open_world": false,
          "idempotency": "unknown",
          "confirmation": "explicit policy",
          "input_contract": "typed",
          "output_contract": "typed_envelope_dynamic_result",
          "accepts": [
            "host",
            "path",
            "user_agent"
          ],
          "produces": [
            "robots_rules",
            "sitemaps"
          ],
          "runtime_auth": {},
          "pricing": {},
          "evidence_ids": [
            "protocol-tools"
          ],
          "metadata": {}
        },
        {
          "id": "tool:inspect_headers",
          "kind": "mcp_tool",
          "capability_id": "web.headers",
          "effect": "unknown",
          "open_world": false,
          "idempotency": "unknown",
          "confirmation": "explicit policy",
          "input_contract": "typed",
          "output_contract": "typed_envelope_dynamic_result",
          "accepts": [
            "url"
          ],
          "produces": [
            "headers",
            "security_analysis"
          ],
          "runtime_auth": {},
          "pricing": {},
          "evidence_ids": [
            "protocol-tools"
          ],
          "metadata": {}
        },
        {
          "id": "tool:dns_lookup",
          "kind": "mcp_tool",
          "capability_id": "dns.lookup",
          "effect": "unknown",
          "open_world": false,
          "idempotency": "unknown",
          "confirmation": "explicit policy",
          "input_contract": "typed",
          "output_contract": "typed_envelope_dynamic_result",
          "accepts": [
            "host"
          ],
          "produces": [
            "dns_records"
          ],
          "runtime_auth": {},
          "pricing": {},
          "evidence_ids": [
            "protocol-tools"
          ],
          "metadata": {}
        },
        {
          "id": "tool:ssl_lookup",
          "kind": "mcp_tool",
          "capability_id": "ssl.lookup",
          "effect": "unknown",
          "open_world": false,
          "idempotency": "unknown",
          "confirmation": "explicit policy",
          "input_contract": "typed",
          "output_contract": "typed_envelope_dynamic_result",
          "accepts": [
            "host"
          ],
          "produces": [
            "certificate_details"
          ],
          "runtime_auth": {},
          "pricing": {},
          "evidence_ids": [
            "protocol-tools"
          ],
          "metadata": {}
        },
        {
          "id": "tool:whois_lookup",
          "kind": "mcp_tool",
          "capability_id": "whois.lookup",
          "effect": "unknown",
          "open_world": false,
          "idempotency": "unknown",
          "confirmation": "explicit policy",
          "input_contract": "typed",
          "output_contract": "typed_envelope_dynamic_result",
          "accepts": [
            "domain"
          ],
          "produces": [
            "registration_record"
          ],
          "runtime_auth": {},
          "pricing": {},
          "evidence_ids": [
            "protocol-tools"
          ],
          "metadata": {}
        },
        {
          "id": "tool:extract_pdf",
          "kind": "mcp_tool",
          "capability_id": "pdf.extract",
          "effect": "unknown",
          "open_world": false,
          "idempotency": "unknown",
          "confirmation": "explicit policy",
          "input_contract": "typed",
          "output_contract": "typed_envelope_dynamic_result",
          "accepts": [
            "url"
          ],
          "produces": [
            "text",
            "metadata"
          ],
          "runtime_auth": {},
          "pricing": {},
          "evidence_ids": [
            "protocol-tools"
          ],
          "metadata": {}
        },
        {
          "id": "tool:generate_qr",
          "kind": "mcp_tool",
          "capability_id": "qr.generate",
          "effect": "compute",
          "open_world": false,
          "idempotency": "unknown",
          "confirmation": "explicit policy",
          "input_contract": "typed",
          "output_contract": "typed_envelope_dynamic_result",
          "accepts": [
            "data"
          ],
          "produces": [
            "svg"
          ],
          "runtime_auth": {},
          "pricing": {},
          "evidence_ids": [
            "protocol-tools"
          ],
          "metadata": {}
        },
        {
          "id": "tool:diff_pages",
          "kind": "mcp_tool",
          "capability_id": "web.diff",
          "effect": "unknown",
          "open_world": false,
          "idempotency": "unknown",
          "confirmation": "explicit policy",
          "input_contract": "typed",
          "output_contract": "typed_envelope_dynamic_result",
          "accepts": [
            "url_a",
            "url_b"
          ],
          "produces": [
            "diff"
          ],
          "runtime_auth": {},
          "pricing": {},
          "evidence_ids": [
            "protocol-tools"
          ],
          "metadata": {}
        },
        {
          "id": "tool:guard_inspect",
          "kind": "mcp_tool",
          "capability_id": "security.guard-inspect",
          "effect": "advisory",
          "open_world": false,
          "idempotency": "unknown",
          "confirmation": "explicit policy",
          "input_contract": "typed",
          "output_contract": "typed_envelope_dynamic_result",
          "accepts": [
            "text"
          ],
          "produces": [
            "risk_score",
            "reasons"
          ],
          "runtime_auth": {},
          "pricing": {},
          "evidence_ids": [
            "protocol-tools"
          ],
          "metadata": {}
        },
        {
          "id": "tool:guard_tx",
          "kind": "mcp_tool",
          "capability_id": "security.guard-tx",
          "effect": "advisory",
          "open_world": false,
          "idempotency": "unknown",
          "confirmation": "explicit policy",
          "input_contract": "typed",
          "output_contract": "typed_envelope_dynamic_result",
          "accepts": [
            "to",
            "data",
            "value",
            "chain",
            "from"
          ],
          "produces": [
            "risk_verdict",
            "reasons"
          ],
          "runtime_auth": {},
          "pricing": {},
          "evidence_ids": [
            "protocol-tools"
          ],
          "metadata": {}
        },
        {
          "id": "tool:check_domain",
          "kind": "mcp_tool",
          "capability_id": "domain.check",
          "effect": "unknown",
          "open_world": false,
          "idempotency": "unknown",
          "confirmation": "explicit policy",
          "input_contract": "typed",
          "output_contract": "typed_envelope_dynamic_result",
          "accepts": [
            "name",
            "tlds",
            "enriched"
          ],
          "produces": [
            "availability",
            "dns",
            "age",
            "wayback_history"
          ],
          "runtime_auth": {},
          "pricing": {},
          "evidence_ids": [
            "protocol-tools"
          ],
          "metadata": {}
        }
      ],
      "access": {},
      "operational_flags": [],
      "trust": {
        "signal": "none",
        "evidence_ids": [],
        "reason": null
      },
      "fit": {
        "good_for": [
          "Web scraping and content extraction from dynamic pages",
          "Domain and infrastructure intelligence (DNS, SSL, WHOIS)",
          "Security screening of untrusted content and transactions"
        ],
        "not_for": [
          "High-volume, low-cost scraping due to per-call pricing",
          "Offline or batch processing without network access"
        ]
      },
      "evidence": [
        {
          "id": "source-record",
          "type": "registry_record",
          "source": "https://github.com/fetchercloud/fetcher-cloud",
          "observation": "MCP source record for fetcher; version 1.1.3.",
          "observed_at": null,
          "payload": {}
        },
        {
          "id": "protocol-tools",
          "type": "protocol_observation",
          "source": "https://api.fetcher.cloud/mcp#tools/list",
          "observation": "19 tools were returned by MCP discovery; 19 were retained for review.",
          "observed_at": "2026-09-04T03:51:53.385Z",
          "payload": {}
        }
      ],
      "unknowns": [
        "Exact authentication mechanism (API key format, header) not specified in evidence",
        "Rate limits beyond free daily quotas are not documented",
        "Data retention and privacy policies are not provided"
      ],
      "id": "REV_810735064370",
      "resource_id": "RES_058B5960CB74",
      "evaluator_type": "platform_ai",
      "provider": "deepseek",
      "model": "deepseek-v4-flash",
      "review_scope": "protocol-inspected-mcp",
      "created_at": "2026-09-04T03:52:25.006Z"
    }
  }
}