Index / MCP servers / tc39-mcp

tc39-mcp MCP server

tc39-mcp is a remote MCP server that gives an AI agent 17 tools, among them clause.get, clause.list, clause.outline. It answers at https://mcp.xyzzylabs.ai/tc39/mcp over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 6 of 6 times since 11 September 2026; the last check, on 24 October 2026, succeeded.

Status
Answering
Tools
17
Reliability
6 of 6 checks
Response time
138 ms
Transport
streamable HTTP
Last checked
24 October 2026

Independent MCP server for the TC39 specs (ECMA-262 + ECMA-402): clauses, search, diffs, history.

Description as the publisher wrote it.

The 17 tools tc39-mcp offers

ToolWhat it does
clause.getFetch 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.
Inputs: id, spec, edition, at
clause.listList parsed spec clauses with optional filters (kind, section prefix, has_algorithm). `spec` selects '262' or '402'. `at: '<sha>'` queries a historical main snapshot.
Inputs: spec, edition, at, kind, section, has_algorithm
clause.outlineReturn 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.
Inputs: spec, edition, depth, under
proposal.getFetch one TC39 proposal by slug (exact) or name (case-insensitive).
Inputs: name
proposal.listList 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).
Inputs: spec, stage, champion, contains, limit
spec.aboutSelf-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.
spec.crossrefsFor 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`:
Inputs: id, spec, edition, direction, include_cross_spec, limit
spec.diffClause-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 lates
Inputs: id, spec, from, to
spec.global_searchRun 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 te
Inputs: query, search_steps, limit
spec.grammarQuery 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 + the
Inputs: nonterminal, contains, include_sdo, spec, edition, limit
spec.sdo_indexIndex 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 substr
Inputs: spec, edition, by, filter, limit
spec.searchSearch the parsed spec by clause id / aoid / title (+ step text with `search_steps`). Aoid-exact ranks first. `at: '<sha>'` searches a historical main snapshot.
Inputs: query, spec, edition, at, limit, search_steps
spec.snapshotsList 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.se
Inputs: spec, edition
spec.symbol_resolveResolve 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.
Inputs: notation, spec, edition, limit
spec.tablesList 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.
Inputs: id, filter, spec, edition, limit
spec.well_known_intrinsicsEnumerate 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.
Inputs: spec, edition, filter, limit
test262.searchSearch 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,
Inputs: query, esid, limit

Add tc39-mcp to your AI client

Every block below points at https://mcp.xyzzylabs.ai/tc39/mcp. Pick your client and copy.

Claude Code: one command in your terminal
claude mcp add --transport http tc39-mcp https://mcp.xyzzylabs.ai/tc39/mcp
Claude Desktop: claude_desktop_config.json
{
  "mcpServers": {
    "tc39-mcp": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.xyzzylabs.ai/tc39/mcp"]
    }
  }
}
Cursor: ~/.cursor/mcp.json, or .cursor/mcp.json in a project
{
  "mcpServers": {
    "tc39-mcp": {
      "url": "https://mcp.xyzzylabs.ai/tc39/mcp"
    }
  }
}
VS Code and GitHub Copilot: .vscode/mcp.json
{
  "servers": {
    "tc39-mcp": {
      "type": "http",
      "url": "https://mcp.xyzzylabs.ai/tc39/mcp"
    }
  }
}
Zed: Zed settings.json
{
  "context_servers": {
    "tc39-mcp": {
      "url": "https://mcp.xyzzylabs.ai/tc39/mcp"
    }
  }
}
Windsurf: ~/.codeium/mcp_config.json
{
  "mcpServers": {
    "tc39-mcp": {
      "serverUrl": "https://mcp.xyzzylabs.ai/tc39/mcp"
    }
  }
}
JetBrains AI Assistant: Settings, Tools, AI Assistant, MCP, New MCP Server, as JSON
{
  "mcpServers": {
    "tc39-mcp": {
      "url": "https://mcp.xyzzylabs.ai/tc39/mcp"
    }
  }
}
Continue: .continue/mcpServers/neuronto.yaml
name: tc39-mcp
version: 0.0.1
schema: v1
mcpServers:
  - name: tc39-mcp
    type: streamable-http
    url: https://mcp.xyzzylabs.ai/tc39/mcp
Gemini CLI: ~/.gemini/settings.json
{
  "mcpServers": {
    "tc39-mcp": {
      "httpUrl": "https://mcp.xyzzylabs.ai/tc39/mcp"
    }
  }
}
Codex CLI: MCP server config
{
  "mcpServers": {
    "tc39-mcp": {
      "type": "http",
      "url": "https://mcp.xyzzylabs.ai/tc39/mcp"
    }
  }
}
Warp: MCP servers, + Add, paste JSON
{
  "mcpServers": {
    "tc39-mcp": {
      "url": "https://mcp.xyzzylabs.ai/tc39/mcp"
    }
  }
}
Goose: a one-click extension link
goose://extension?url=https%3A%2F%2Fmcp.xyzzylabs.ai%2Ftc39%2Fmcp&type=streamable_http&id=tc39-mcp&name=tc39-mcp

Is tc39-mcp up right now?

It answered our last check on 24 October 2026 in 138 ms. Over 6 checks since 11 September 2026 it answered 6. Status here comes from Neuronto's own probes, not from the publisher.

MCP servers similar to tc39-mcp

Questions about tc39-mcp

How many tools does tc39-mcp have?

17, as returned by the server's own tools/list on 22 September 2026: clause.get, clause.list, clause.outline, proposal.get, proposal.list, spec.about, spec.crossrefs, spec.diff, and 9 more.

Is tc39-mcp down?

It answered our last check on 24 October 2026 in 138 ms. Over 6 checks since 11 September 2026 it answered 6.

How do I add tc39-mcp to Cursor?

Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://mcp.xyzzylabs.ai/tc39/mcp. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.

Does tc39-mcp need an API key?

It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.

Where this comes from

Publisher: io.github.xyzzylabs. Endpoint host: mcp.xyzzylabs.ai. ARD identifier: urn:air:io.github.xyzzylabs:mcp:tc39-mcp. First indexed 10 September 2026. The tools are exactly what the server returned; nothing on this page is inferred from its name. Ranking in Neuronto search is never for sale.

Is this your server? Get a message the day it stops answering or its tools change: monitoring, 14 days free. Or claim the domain to manage how it is listed.