Skip to main content
Glama
nexus-mcp-infra

url-metadata-api

URL-Metadaten-API

Liefert für eine URL die title/description/image/site_name, die aus ihren OpenGraph-/Meta-Tags extrahiert wurden (Microlink-artige Link-Preview-API). NEXUS-Kandidat #4 -- manueller Build, nicht FORGE-generiert.

  • POST /extract {"url": "..."} -- wird mit $0,01 über x402 berechnet (Base Sepolia-Testnetz).

  • MCP-Tool extract_url_metadata unter /mcp -- derzeit kostenlos, siehe "Bekannte Einschränkungen".

  • GET /health, GET /.well-known/agent-card.json, GET /openapi.json (enthält x-payment-info).

Bereitstellungsziel: Cloud Run, nicht Railway

Erstellt aus products/mcp-boilerplate-gumroad/template/ (gleiches MCP+x402+FastAPI-Muster wie similarity-search-api/ws), angepasst für Cloud Run statt Railway. Siehe skills/infra-deploy-ops für die wiederverwendbare Bereitstellungs-Pipeline (scripts/deploy_cloud_run.sh im Repository-Stammverzeichnis). Zweistufige Bereitstellung (dieselbe Stolperfalle, die die Boilerplate-README dokumentiert):

# 1. First deploy -- PUBLIC_DOMAIN not known yet, every real request 421s until step 2.
./scripts/deploy_cloud_run.sh url-metadata-api manual_assets/url-metadata-api

# 2. Grab the printed *.run.app URL, then:
gcloud run services update url-metadata-api --region us-central1 --project nexus-505016 \
    --update-env-vars PUBLIC_DOMAIN=<the-real-domain>

Related MCP server: mcp-pageshot

Bekannte Einschränkungen (bewusst nicht behoben -- CLAUDE.md SS3, kein Gate ohne Beleg, dass es nötig ist)

  • MCP-Toolaufrufe werden nicht berechnet. PaymentMiddlewareASGI schützt nur POST /extract; das MCP-Tool ruft die gemeinsame extract_metadata()-Funktion direkt prozessintern auf (kein HTTP-Wiedereintritt in die ASGI- App -- genau dieser Wiedereintrittspfad war die Ursache des echten "jeder MCP-Aufruf erhält einen unberechtigten 402"-Bugs, der in skills/mcp-server-generation dokumentiert ist). Ein echtes MCP-natives x402-Gate hinzuzufügen (x402[...,mcp]'s eigener Zahlungs-Gate-Mechanismus, derselbe, den FORGEs Generator für similarity-search-api/ws verwendet), ist echte Arbeit mit einer echten Stolperfalle (doppelte ctx-Parameter-Injektion, siehe Gedächtnis) -- aufgeschoben, bis dieser Kandidat im 7-Tage-Fenster echten MCP-Traffic zeigt. Bis dahin kann dieses Asset Volumen protokollieren (traffic_events/mcp_call_events), aber keine MCP-Einnahmen.

  • Keine Rate-Limits pro Aufrufer. Für eine 7-tägige Einweg-Messung in Ordnung; hinzufügen, falls es überlebt.

  • Der SSRF-Schutz basiert auf IP-Bereichen, nicht auf einer vollständigen Whitelist. Lehnt private/Loopback-/Link-Local-/reservierte Ziel-IPs ab (einschließlich Cloud-Metadaten-169.254.169.254) bei der ursprünglichen Anfrage und bei jedem manuell gefolgten Umleitungssprung (max. 3). Bietet keinen Schutz gegen DNS-Rebinding zwischen der Prüfung und der tatsächlichen Verbindung (akzeptiertes Risiko für den Umfang dieses Kandidaten).

Messung (Teil 3 der Einrichtungssitzung)

7-Tage-Fenster ab der ersten echten Bereitstellung. Quelle der Wahrheit: traffic_events/revenue_events/mcp_call_events- Tabellen (asset_name = 'url-metadata-api'), nicht Cloud-Run-Logs. Tag 7: Wenn kein echter Traffic (nach Herausfiltern von Crawlern), Cloud-Run-Dienst pausieren/löschen (gcloud run services delete url-metadata-api --region us-central1 --project nexus-505016) und zu Kandidat #3 übergehen.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides functionality to fetch and transform web content in various formats (HTML, JSON, plain text, and Markdown) through simple API calls.
    135,019 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Converts any URL into clean, LLM-ready Markdown, text, or HTML with production-grade features like SSRF protection, rate limiting, retries, caching, and structured error handling.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Zero-signup link-preview API that returns clean metadata (title, description, image, etc.) from any public URL. No API key required.
    2
    MIT