Skip to content

tc39-mcpStructured MCP for the TC39 specs

Structural ECMA-262 + ECMA-402 lookup for any MCP-speaking AI agent โ€” SHA-pinned clauses, AOID-aware search, cross-spec references, edition diffs, git history. Locally cached via stdio; HTTP via the hosted Cloudflare Worker.

Independent project โ€” not an official Ecma International or TC39 publication. Reads the publicly published ECMAScript specs (ECMA-262 + ECMA-402).

Install + run โ€‹

The stdio launch command is the same for every MCP client; only the config file's location differs (check your client's MCP docs).

json
{
  "mcpServers": {
    "tc39": { "command": "npx", "args": ["tc39-mcp"] }
  }
}
json
{
  "mcpServers": {
    "tc39": {
      "type": "http",
      "url": "https://mcp.xyzzylabs.ai/tc39/mcp"
    }
  }
}

A global install works too: npm i -g tc39-mcp, then run tc39-mcp (same stdio transport).

What it's for โ€‹

  • Agents and tooling that need to consult the JS spec โ€” clause.get + spec.search instead of grepping spec.html.
  • Reading the spec offline / in a tool โ€” full structured access without scraping or hitting a 4 MB HTML file.
  • Cross-version analysis โ€” spec.diff between any two editions back to ES2016; spec.history walks the upstream git log.
  • Cross-spec analysis โ€” spec.crossrefs { include_cross_spec: true } resolves references that point from ECMA-262 into ECMA-402 (or vice versa). Useful for queries like "every 262 op that calls into Intl."
  • AOID โ†’ clause-id lookup โ€” spec.search ranks aoid-exact matches first.

Scope โ€‹

Deliberately narrow:

  • Read-only. No tool mutates anything. Every response is a deterministic function of pinned spec data.
  • No execution. No spec semantics evaluated; no JS run. Pure parsed-JSON lookup.
  • No auth. Read-only + no execution = safe to host publicly.
  • No corpus vendoring. test262 search works against an index built from a local checkout (~13 MB JSON).

These constraints are the design โ€” they're what make the server small, fast, and trivially deployable behind a Cloudflare Worker without sandboxing concerns.

Released under the MIT License.