Ariadne
Elke MCP-server die je installeerde, en wat hij elke beurt kost of je hem nu aanroept of niet.
Een server wordt één keer beoordeeld, vóór je hem installeert. Daarna draait hij mee in elke sessie en meet niemand hem opnieuw.
- TypeScript
- Bun
- Claude Code
- hooks
- MCP
GitHub (opent in een nieuw tabblad)README (opent in een nieuw tabblad)Changelog (opent in een nieuw tabblad)
Wat het doet
Een register beoordeelt een server voordat je hem installeert: waar de code vandaan komt, welke rechten hij vraagt, wat een scanner vond. Dat oordeel valt één keer, van buitenaf, over een repository. Daarna installeer je de server, draait hij mee in elke sessie die je start, en meet niemand hem opnieuw.
Ariadne meet de server die je al draait. Het is een Claude Code-plugin, en het vraagt de servers die het meet maar één ding: de lijst met tools die ze toch al publiceren.
De meeste mensen installeren het voor één getal, en dat is precies het getal dat niemand meet: een verbonden server kost je al iets voordat je hem ook maar één keer aanroept. Zijn tool-definities gaan mee in elke aanvraag, elk met een naam, een omschrijving en een JSON-schema. Twaalf servers met elk een stuk of twaalf tools kost je tienduizenden tokens per beurt, ongeacht of je ook maar één van die tools gebruikt.
Wat het rapport zegt
/ariadne toont de sessie waarin je zit. De tabel is de saaie helft:
knossos
standing cost 49,207 bytes (~13,669 estimated tokens)
reach 2/33 tools
calls 14
returned 182,904 bytes (~50,807 estimated tokens)
largest 38,213 bytes, from scan_project
share 71.4% of MCP bytes returned
latency p50 412ms
latency p95 1,204msDe bevindingen eronder zijn de reden om het te draaien, en elke bevinding noemt haar eigen bewijs:
3 servers were connected and never called
context7: 2 tools, 4,864 bytes (~1,351 estimated tokens) injected per request
chaos: 3 tools, 22,146 bytes (~6,152 estimated tokens) injected per request
momus: 11 tools, 8,737 bytes (~2,427 estimated tokens) injected per request
Together they cost 35,747 bytes (~9,930 estimated tokens) on every turn, whether or
not you reach for them.
Observed across 6 sessions and 214 tool calls.
argos has failed to connect in every session since 2026-08-10
31 failed connections across 22 sessions on 9 days. Last error class: CONNECTION_CLOSED.
Its tools have not existed for any of them.Een tool die zichzelf in negen woorden omschrijft en gemiddeld 38 KB teruggeeft, zie je meteen. En zo ook een server die al een week geen verbinding meer maakt en je sindsdien alleen nog een regel in je configuratie kost.
Elke bevindingsregel heeft een ondergrens aan bewijs en zwijgt eronder. Een tool die één keer is aangeroepen is geen meting, dus er verschijnt geen p95 voordat een tool vijf keer is aangeroepen, en "nooit aangeroepen" vraagt om genoeg waargenomen verkeer voordat het iets betekent.
Snel starten
Vereist Bun 1.1 of nieuwer, en verder niets.
claude plugin marketplace add https://aranea-development.nl/plugins/marketplace.json
claude plugin install ariadne@araneaDe eerste sessie na de installatie bouwt de hook-binary op de achtergrond en meldt dat. Vanaf de sessie daarna meet Ariadne mee.
Haal daarna binnen wat je machine al weet:
ariadne backfillDe vaste kosten en de verbindingsgeschiedenis staan er meteen na een backfill en een peiling. Bereik, responstijden en de omvang van resultaten komen uit de hooks, en de hooks hebben pas iets te melden zodra je echte sessies met echte tool-aanroepen hebt gedraaid. Een rapport direct na de installatie toont 0 aanroepen voor elke server. Dat is het juiste getal voor een server die nog niemand heeft aangeroepen.
Drie bronnen, en één die kan verdwijnen
Hooks leggen elke tool-aanroep vast: de duur, de omvang van wat erin ging en wat eruit kwam, en of het misging. Die bron is goedkoop en stabiel, en ziet niets van wat er vóór een aanroep gebeurt.
Daarom maakt een peiler bij het begin van een sessie, los van het verkeer, verbinding met elke geconfigureerde server, vraagt op wat hij aanbiedt, meet de omvang en verbreekt de verbinding. Dat is de enige manier om de vaste kosten te kennen, want geen transcript en geen logbestand legt een tools/list vast.
De derde bron zijn de MCP-logbestanden van Claude Code zelf, die op jouw machine al weken verbindingspogingen bijhouden. Ariadne leest ze, en daarom kan het al bij de eerste keer draaien een echt rapport tonen in plaats van je een week te laten wachten. Dat pad is niet gedocumenteerd en kan verhuizen, dus die bron vult alleen aan, en niets steunt erop. Verdwijnt het, dan verdwijnt de geschiedenis en blijft elk ander getal overeind.
De ingebouwde tools van Claude Code worden langs dezelfde meetlat gelegd, als ijkpunt. Ze maken de MCP-getallen leesbaar, en ze leveren nooit een bevinding op, want een ingebouwde tool kun je niet verwijderen.
Wat het niet doet
Het schakelt geen server uit en past geen configuratie aan. Een server schrappen is jouw beslissing.
Het legt alleen de omvang van tool-argumenten en resultaten vast, de inhoud nooit. Wat er terugkomt is meestal het gevoeligste in een sessie, en een monitor die de inhoud wegschrijft is een tweede kopie van je gegevens op een plek waar niemand op let. Commandoregels, omgevingsvariabelen en URL's van servers gaan er evenmin in: claude mcp list drukt API-sleutels gewoon af in de kolom met het commando, en wie opslaat wat hij opsomt, kopieert ze mee. Namen van tools, de lengte van hun omschrijving en de vorm van schema's worden bewust wel vastgelegd, want dat is de gepubliceerde interface van de server en zonder die gegevens zijn de bevindingen niet te berekenen.
Het geeft een server geen cijfer. Het meet. Een cijfer op basis van het verkeer van één machine zou een getal zijn dat zich voordoet als een oordeel.
Er verlaat niets je machine. Er is geen netwerkcode buiten de verbindingen die de peiler met je eigen geconfigureerde servers maakt, en er is geen exportformaat. Alles staat onder ~/.ariadne/.
Het voegt niets toe aan je contextvenster tenzij je om een rapport vraagt. Een tool die over de kosten van dingen in je context gaat, heeft daar zelf niets te zoeken.