accueil / serveurs / Dev & Code / io.github.xyzzylabs/tc39-mcp
io.github.xyzzylabs/tc39-mcp
serveur MCP (Model Context Protocol) · tc39-mcp 0.6.3
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que io.github.xyzzylabs/tc39-mcp est sûr ?
Au dernier audit MCP Hub, le serveur MCP « io.github.xyzzylabs/tc39-mcp » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 17 outils
- clause.get≈ 158 tokens
Fetch a parsed TC39 clause as structured JSON. `spec` selects '262' (default) or '402'. `edition` defaults to 'latest'. `at: '<sha>'` pins to a historical main snapshot (only valid for edition='main'); omit to query the live snapshot.
Paramètres, retour & exemple (4)
Paramètresat· string · optionnel
Optional historical SHA pin (hex, 4-40 chars). Only valid when edition='main'; released editions have no per-SHA history to address.id· string · requisspec· string · optionnel · 262 | 402edition· string · optionnel
Exemple d'appel{"name": "clause.get", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - clause.list≈ 124 tokens
List parsed spec clauses with optional filters (kind, section prefix, has_algorithm). `spec` selects '262' or '402'. `at: '<sha>'` queries a historical main snapshot.
Paramètres, retour & exemple (7)
Paramètresat· string · optionnelkind· string · optionnelspec· string · optionnel · 262 | 402limit· number · optionneledition· string · optionnelsection· string · optionnelhas_algorithm· boolean · optionnel
Exemple d'appel{"name": "clause.list", "arguments": {"at": "texte", "kind": "texte", "spec": "262", "limit": 1, "edition": "texte", "section": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - clause.outline≈ 107 tokens
Return the section tree (table of contents) for a parsed (spec, edition). `depth` caps how deep the tree descends (1 = top-level only); `under` limits the tree to descendants of one clause id.
Paramètres, retour & exemple (4)
Paramètresspec· string · optionnel · 262 | 402depth· number · optionnelunder· string · optionneledition· string · optionnel
Exemple d'appel{"name": "clause.outline", "arguments": {"spec": "262", "depth": 1, "under": "texte", "edition": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - proposal.get≈ 53 tokens
Fetch one TC39 proposal by slug (exact) or name (case-insensitive).
Paramètres, retour & exemple (1)
Paramètresname· string · requis
Exemple d'appel{"name": "proposal.get", "arguments": {"name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - proposal.list≈ 119 tokens
List TC39 proposals from the static index (tc39/proposals). Filter by spec ('262'|'402'), stage ('0'|'1'|'2'|'2.7'|'3'|'finished'|'inactive'|'active'), champion (substring), or contains (name/slug substring).
Paramètres, retour & exemple (5)
Paramètresspec· string · optionnel · 262 | 402limit· number · optionnelstage· string · optionnelchampion· string · optionnelcontains· string · optionnel
Exemple d'appel{"name": "proposal.list", "arguments": {"spec": "262", "limit": 1, "stage": "texte", "champion": "texte", "contains": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - spec.about≈ 87 tokens
Self-description of this MCP server: package name + version, per-snapshot pin metadata (sha, fetched_at, biblio_commit, clause_count) for every supported (spec, edition), plus test262 + proposals index headers when present.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "spec.about", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - spec.crossrefs≈ 218 tokens
For a clause id, return its outgoing references (clauses it cites) and/or incoming references (clauses that cite it — the back-reference index the parse alone doesn't expose). The reverse index is AOID-densified from step text. `direction`: 'in' | 'out' | 'both' (default). Outgoing also carries an `external` category: the clause's citations to external specs (Unicode, IETF, WHATWG) as resolvable URLs. Set `include_cross_spec: true` to also resolve outgoing references from ECMA-262 → ECMA-402 (or vice versa).
Paramètres, retour & exemple (6)
Paramètresid· string · requisspec· string · optionnel · 262 | 402limit· number · optionneledition· string · optionneldirection· string · optionnel · in | out | bothinclude_cross_spec· boolean · optionnel
Exemple d'appel{"name": "spec.crossrefs", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - spec.diff≈ 128 tokens
Clause-level diff of one clause across two editions of a spec. Reports identical / modified / added / removed plus a field-level breakdown (title, signature, step count, reworded step indices, notes, crossrefs). `from` defaults to the latest stable release, `to` to main.
Paramètres, retour & exemple (4)
Paramètresid· string · requisto· string · optionnelfrom· string · optionnelspec· string · optionnel · 262 | 402
Exemple d'appel{"name": "spec.diff", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - spec.global_search≈ 115 tokens
Run spec.search across both ECMA-262 and ECMA-402 in one call and interleave hits by score. Each hit is tagged with the spec it came from. Use it when you don't know which spec defines a symbol. `search_steps` also matches algorithm step text.
Paramètres, retour & exemple (3)
Paramètreslimit· number · optionnelquery· string · requissearch_steps· boolean · optionnel
Exemple d'appel{"name": "spec.global_search", "arguments": {"query": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - spec.grammar≈ 159 tokens
Query grammar productions captured from the spec's `<emu-grammar>` blocks. `{ nonterminal }` returns every production for that non-terminal (exact match); `{ contains }` filters by RHS / name substring; neither lists all non-terminals + their production counts. `include_sdo` folds in SDO-attached productions (off by default).
Paramètres, retour & exemple (6)
Paramètresspec· string · optionnel · 262 | 402limit· number · optionneledition· string · optionnelcontains· string · optionnelinclude_sdo· boolean · optionnelnonterminal· string · optionnel
Exemple d'appel{"name": "spec.grammar", "arguments": {"spec": "262", "limit": 1, "edition": "texte", "contains": "texte", "include_sdo": true, "nonterminal": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - spec.sdo_index≈ 140 tokens
Index Syntax-Directed Operations by the grammar production they're defined on. `by: 'production'` (default) groups SDOs under each production; `by: 'sdo'` groups productions under each SDO title. `filter` narrows to keys containing a substring (case-insensitive).
Paramètres, retour & exemple (5)
Paramètresby· string · optionnel · production | sdospec· string · optionnel · 262 | 402limit· number · optionnelfilter· string · optionneledition· string · optionnel
Exemple d'appel{"name": "spec.sdo_index", "arguments": {"by": "production", "spec": "262", "limit": 1, "filter": "texte", "edition": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - spec.search≈ 120 tokens
Search the parsed spec by clause id / aoid / title (+ step text with `search_steps`). Aoid-exact ranks first. `at: '<sha>'` searches a historical main snapshot.
Paramètres, retour & exemple (6)
Paramètresat· string · optionnelspec· string · optionnel · 262 | 402limit· number · optionnelquery· string · requisedition· string · optionnelsearch_steps· boolean · optionnel
Exemple d'appel{"name": "spec.search", "arguments": {"query": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - spec.snapshots≈ 113 tokens
List the live (spec, edition, sha, fetched_at) snapshots the hosted Worker is serving from R2. Filter by `spec` ('262'|'402') or `edition` (e.g. 'main', 'es2026'). Historical SHA-pinned copies are reachable via `at:` on clause.get / spec.search but aren't enumerated here.
Paramètres, retour & exemple (2)
Paramètresspec· string · optionnel · 262 | 402edition· string · optionnel
Exemple d'appel{"name": "spec.snapshots", "arguments": {"spec": "262", "edition": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - spec.symbol_resolve≈ 126 tokens
Resolve spec notation like `[[Prototype]]` (internal slot), `%Object.prototype%` (well-known intrinsic), or `~number~` (sigil enum): return clauses that mention or define it, ranked by occurrence with a bump for definition-y sections.
Paramètres, retour & exemple (4)
Paramètresspec· string · optionnel · 262 | 402limit· number · optionneledition· string · optionnelnotation· string · requis
Exemple d'appel{"name": "spec.symbol_resolve", "arguments": {"notation": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - spec.tables≈ 116 tokens
List or fetch parsed `<emu-table>` content. `{ id }` returns exactly that table (full columns + rows); otherwise list table summaries, optionally narrowed by a `filter` substring over the caption or id.
Paramètres, retour & exemple (5)
Paramètresid· string · optionnelspec· string · optionnel · 262 | 402limit· number · optionnelfilter· string · optionneledition· string · optionnel
Exemple d'appel{"name": "spec.tables", "arguments": {"id": "texte", "spec": "262", "limit": 1, "filter": "texte", "edition": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - spec.well_known_intrinsics≈ 121 tokens
Enumerate the well-known intrinsics in a spec with their probable defining clauses. Driven from the canonical §6.1.7.4 WKI table when present (ECMA-262), else a `%X%` prose scan (e.g. ECMA-402). `filter` narrows by bare-name substring.
Paramètres, retour & exemple (4)
Paramètresspec· string · optionnel · 262 | 402limit· number · optionnelfilter· string · optionneledition· string · optionnel
Exemple d'appel{"name": "spec.well_known_intrinsics", "arguments": {"spec": "262", "limit": 1, "filter": "texte", "edition": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - test262.search≈ 141 tokens
Search the tc39/test262 conformance suite from its indexed front-matter. `query` AND-matches whitespace tokens (case-insensitive) across each test's description + path; `esid` prefix-matches the front-matter esid. Returns ranked hits (path, GitHub url at the indexed SHA, esid, description, features, flags), capped at `limit` (default 20). Supply at least one of `query` / `esid`.
Paramètres, retour & exemple (3)
Paramètresesid· string · optionnellimit· number · optionnelquery· string · optionnel
Exemple d'appel{"name": "test262.search", "arguments": {"esid": "texte", "limit": 1, "query": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».