Naar inhoud

MCP Observatory

Real-time dashboard van het Model Context Protocol-ecosysteem.

  • Astro
  • TypeScript
  • SQLite
  • Node
  • Semgrep

Livewebapplicatie

Wat het doet

Het MCP-ecosysteem groeit sneller dan iemand het kan overzien. Servers verschijnen op npm, op PyPI, in het officiële register, op Smithery en op mcp.so, vaak alle vijf tegelijk en onder net iets andere namen. Wie wil weten wat een server precies mag, waar zijn code vandaan komt en of er iets mis mee is, zit al snel in een handvol tabbladen te vergelijken.

MCP Observatory verzamelt die bronnen, brengt dubbele vermeldingen terug tot één canonieke server, en analyseert de broncode statisch. Wat eruit komt, is een dashboard: releases, een dependency-graph, analyses van capabilities en permissies, samengestelde risicoscores en een live event-stream. Het is een site, geen tool die je installeert.

Wat je er ziet

De kern is de dashboardpagina met de KPI's, de ranglijst en de stream. Daaromheen zitten de pagina's waar je echt gaat zoeken: een facetbrowser op capabilities en permissies, een detailpagina per server met tabbladen voor overzicht, capabilities, dependencies, releases, activiteit en een beveiligingsdossier, en profielen per onderhouder.

De beveiligingssectie is de grootste: CVE's, een risico-ranglijst, supply chain, kapingsdoelwitten, tool-veiligheid, capability-drift, naamgeving en nabootsing, licenties, verlating, trends door de tijd heen en de uitkomsten van de code-analyse.

Hoe het werkt

Tien pollers halen elk hun eigen bron op, met een supervisor die de eerste ticks spreidt, elke run in een try/catch wikkelt en de uitkomst wegschrijft met exponentiële backoff. Die uitkomsten staan open op /feeds, zodat je kunt zien welke bron wanneer voor het laatst is opgehaald.

Identiteitsresolutie brengt een server die op vijf plekken staat terug tot één id, in vaste volgorde: expliciete overrides, een match op repo_url over bronnen heen, een exacte samenvoeging op bron en genormaliseerde slug, en anders bron:naam. Servers die binnen één bron dezelfde repo delen, zijn monorepo-broers en worden juist níét samengevoegd. Ingetrokken id's blijven doorverwijzen, zodat oude URL's een 301 geven in plaats van een 404.

De code-analyse draait in een aparte sidecar. Semgrep krijgt zijn eigen container, zodat een zware scan de event-loop van de worker niet kan platleggen. De verrijking houdt de pijplijn nooit op: valt de scanner weg, dan gaat de rest gewoon door.

Mogelijkheden

SectieWat je er vindt
DashboardKPI's, ranglijst, livestream, graph en capabilities op één pagina
ServersFacetbrowser op capabilities en permissies, met detail per server
GraphDependency- en verwantschapsgraph, knopen gekleurd en geschaald op risicoscore
BeveiligingCVE's, supply chain, kaping, drift, naamgeving, licenties, verlating en trends
MaintainersIndex en profiel per onderhouder
FeedsGezondheid van elke poller, als publieke verantwoording
APISSE-stream, statistieken, server-lookup, batch en zoeken

Bronnen

npm, PyPI, GitHub, Smithery, het officiële MCP-register, mcp.so, een clientregister en CVE-feeds. De site legt op /methodology zelf uit hoe de pijplijn werkt, op /colophon wat er onder de motorkap zit, en op /feeds welke bronnen op dat moment gezond zijn.