MCP Observatory
Real-time dashboard van het Model Context Protocol-ecosysteem.
- Astro
- TypeScript
- SQLite
- Node
- Semgrep
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 detail per server met tabbladen voor overzicht, capabilities, dependencies, releases, activiteit en een beveiligingsdossier, en profielen per maintainer.
De beveiligingssectie is de grootste: CVE's, een risico-ranglijst, supply chain, kaping-doelwitten, tool-veiligheid, capability-drift, naamgeving en impersonatie, licenties, verlating, trends over tijd 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 tabel staat open op /feeds, zodat je kunt zien welke bron wanneer voor het laatst is gelukt.
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 vouw op bron en genormaliseerde slug, en anders bron:naam. Servers die dezelfde repo delen binnen één bron 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. Verrijking blokkeert nooit: valt de scanner weg, dan gaat de rest gewoon door.
Mogelijkheden
| Sectie | Wat je er vindt |
|---|---|
| Dashboard | KPI's, ranglijst, live stream, graph en capabilities op één pagina |
| Servers | Facetbrowser op capabilities en permissies, met detail per server |
| Graph | Dependency- en verwantschapsgraph, knopen gekleurd en geschaald op risicoscore |
| Beveiliging | CVE's, supply chain, kaping, drift, naamgeving, licenties, verlating en trends |
| Maintainers | Index en profiel per onderhouder |
| Feeds | Gezondheid van elke poller, als publieke verantwoording |
| API | SSE-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 zelf uit hoe de pijplijn werkt op /methodology, wat er onder de motorkap zit op /colophon, en welke bronnen op dat moment gezond zijn op /feeds.