tc39-mcp 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +66 -13
- package/build/proposals-index.json +1 -1
- package/build/spec-262-es2016.json +1 -1
- package/build/spec-262-es2017.json +1 -1
- package/build/spec-262-es2018.json +1 -1
- package/build/spec-262-es2019.json +1 -1
- package/build/spec-262-es2020.json +1 -1
- package/build/spec-262-es2021.json +1 -1
- package/build/spec-262-es2022.json +1 -1
- package/build/spec-262-es2023.json +1 -1
- package/build/spec-262-es2024.json +1 -1
- package/build/spec-262-es2025.json +1 -1
- package/build/spec-262-main.json +1 -1
- package/build/spec-402-es2025-candidate.json +1 -1
- package/build/spec-402-main.json +1 -1
- package/build/test262-index.json +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
# tc39-mcp
|
|
2
2
|
|
|
3
3
|
[](https://github.com/xyzzylabs/tc39-mcp/actions/workflows/test.yml)
|
|
4
|
-
[](https://github.com/xyzzylabs/tc39-mcp/actions/workflows/codeql.yml)
|
|
5
4
|
[](https://www.npmjs.com/package/tc39-mcp)
|
|
6
5
|
[](https://opensource.org/licenses/MIT)
|
|
7
6
|
|
|
8
|
-
📖 **Docs
|
|
7
|
+
📖 **Docs site** (same origin as the API): [tc39-mcp.chicoxyzzy.workers.dev](https://tc39-mcp.chicoxyzzy.workers.dev) — [Tools](https://tc39-mcp.chicoxyzzy.workers.dev/tools) · [Snapshots](https://tc39-mcp.chicoxyzzy.workers.dev/snapshots) · [Architecture](https://tc39-mcp.chicoxyzzy.workers.dev/architecture) · [Deployment](https://tc39-mcp.chicoxyzzy.workers.dev/deployment) · [Changelog](https://tc39-mcp.chicoxyzzy.workers.dev/changelog)
|
|
9
8
|
|
|
10
9
|
Structured MCP server for the TC39 specs (ECMA-262 + ECMA-402) —
|
|
11
10
|
SHA-pinned clauses, AOID-aware search, in+out cross-references,
|
|
@@ -19,6 +18,55 @@ Internationalization API, `Intl`) to AI agents and tooling. Returns
|
|
|
19
18
|
cross-refs) rather than raw HTML, and pins every response to a
|
|
20
19
|
specific spec SHA so anything cited is reproducible.
|
|
21
20
|
|
|
21
|
+
## Quick start
|
|
22
|
+
|
|
23
|
+
### Option 1: stdio via npx (Claude Code, etc.)
|
|
24
|
+
|
|
25
|
+
Add to your project's `.mcp.json`:
|
|
26
|
+
|
|
27
|
+
```json
|
|
28
|
+
{
|
|
29
|
+
"mcpServers": {
|
|
30
|
+
"tc39": { "command": "npx", "args": ["tc39-mcp"] }
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
The first run downloads ~50 MB (the parsed snapshots ship in the
|
|
36
|
+
tarball — no separate fetch step needed).
|
|
37
|
+
|
|
38
|
+
### Option 2: hosted HTTP Worker
|
|
39
|
+
|
|
40
|
+
For MCP clients that prefer HTTP transport, or for `curl` testing:
|
|
41
|
+
|
|
42
|
+
```json
|
|
43
|
+
{
|
|
44
|
+
"mcpServers": {
|
|
45
|
+
"tc39": {
|
|
46
|
+
"type": "http",
|
|
47
|
+
"url": "https://tc39-mcp.chicoxyzzy.workers.dev/mcp"
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Smoke-test it from anywhere:
|
|
54
|
+
|
|
55
|
+
```sh
|
|
56
|
+
curl -s -X POST https://tc39-mcp.chicoxyzzy.workers.dev/mcp \
|
|
57
|
+
-H "content-type: application/json" \
|
|
58
|
+
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"spec.about","arguments":{}}}' \
|
|
59
|
+
| jq '.result.content[0].text | fromjson | .server'
|
|
60
|
+
# → {"name": "tc39-mcp", "version": "0.1.0"}
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### Option 3: global CLI
|
|
64
|
+
|
|
65
|
+
```sh
|
|
66
|
+
npm i -g tc39-mcp
|
|
67
|
+
tc39-mcp # reads stdio
|
|
68
|
+
```
|
|
69
|
+
|
|
22
70
|
## What it's for
|
|
23
71
|
|
|
24
72
|
- **Agents and tooling that need to consult the JS spec** —
|
|
@@ -128,9 +176,16 @@ no annual release tagging.
|
|
|
128
176
|
Every tool accepts `spec` and `edition` arguments and resolves aliases
|
|
129
177
|
at load time, so responses are deterministic against a specific spec SHA.
|
|
130
178
|
|
|
131
|
-
##
|
|
179
|
+
## Build from source (contributors)
|
|
180
|
+
|
|
181
|
+
End users don't need this — the published package and the hosted
|
|
182
|
+
Worker are the supported surfaces above. This is for working on the
|
|
183
|
+
server itself.
|
|
132
184
|
|
|
133
185
|
```sh
|
|
186
|
+
git clone https://github.com/xyzzylabs/tc39-mcp
|
|
187
|
+
cd tc39-mcp
|
|
188
|
+
|
|
134
189
|
# 1. install deps
|
|
135
190
|
npm install
|
|
136
191
|
|
|
@@ -151,19 +206,20 @@ npm run build-test262-index
|
|
|
151
206
|
npm run fetch-proposals
|
|
152
207
|
npm run build-proposals-index
|
|
153
208
|
|
|
154
|
-
# 6. start the stdio MCP server
|
|
209
|
+
# 6. start the stdio MCP server against your source tree
|
|
155
210
|
npm run mcp
|
|
156
211
|
```
|
|
157
212
|
|
|
158
|
-
|
|
213
|
+
To wire Claude Code at your local source instead of the published bin:
|
|
159
214
|
|
|
160
215
|
```json
|
|
161
216
|
{
|
|
162
217
|
"mcpServers": {
|
|
163
218
|
"tc39": {
|
|
164
219
|
"type": "stdio",
|
|
165
|
-
"command": "
|
|
166
|
-
"args": ["
|
|
220
|
+
"command": "npm",
|
|
221
|
+
"args": ["run", "mcp"],
|
|
222
|
+
"cwd": "/abs/path/to/tc39-mcp"
|
|
167
223
|
}
|
|
168
224
|
}
|
|
169
225
|
}
|
|
@@ -190,12 +246,9 @@ without sandboxing concerns.
|
|
|
190
246
|
|
|
191
247
|
## Docs
|
|
192
248
|
|
|
193
|
-
|
|
194
|
-
`/mcp` — visit the root of the hosted URL for the landing page;
|
|
195
|
-
`/tools`, `/snapshots`, `/architecture`, `/deployment`, `/editions`,
|
|
196
|
-
`/changelog` are all routable. Searchable, dark-mode-friendly.
|
|
249
|
+
Hosted at [tc39-mcp.chicoxyzzy.workers.dev](https://tc39-mcp.chicoxyzzy.workers.dev) — searchable, dark-mode-friendly, auto-rebuilt on every refresh so `/snapshots` always shows the live SHAs.
|
|
197
250
|
|
|
198
|
-
In-repo (source for the hosted site):
|
|
251
|
+
In-repo (source for the hosted site + GitHub-rendered fallback):
|
|
199
252
|
|
|
200
253
|
- [`docs/architecture.md`](docs/architecture.md) — data pipeline, parser, cache, alias resolution, memory model.
|
|
201
254
|
- [`docs/tools.md`](docs/tools.md) — full reference for every tool: inputs, outputs, ranking rules.
|
|
@@ -203,7 +256,7 @@ In-repo (source for the hosted site):
|
|
|
203
256
|
- [`docs/deployment.md`](docs/deployment.md) — local stdio, npm CLI, hosted Cloudflare Worker, refresh model, observability.
|
|
204
257
|
- [`CONTRIBUTING.md`](CONTRIBUTING.md) — what kinds of changes land easily, what won't.
|
|
205
258
|
- [`SECURITY.md`](SECURITY.md) — threat model + how to report issues.
|
|
206
|
-
- [`CHANGELOG.md`](CHANGELOG.md) — version history.
|
|
259
|
+
- [`CHANGELOG.md`](CHANGELOG.md) — version history + auto-refresh convention.
|
|
207
260
|
|
|
208
261
|
## License
|
|
209
262
|
|
package/build/spec-262-main.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"spec": "402",
|
|
4
4
|
"edition": "es2025-candidate",
|
|
5
5
|
"sha": "4a2dae4c04e7fdc9e9de5946fbcdb31b073e4040",
|
|
6
|
-
"fetched_at": "2026-05-30T23:
|
|
6
|
+
"fetched_at": "2026-05-30T23:39:05.343Z",
|
|
7
7
|
"biblio_commit": "6dcb70f914e67908abc548b3285dc0583a194910"
|
|
8
8
|
},
|
|
9
9
|
"clauses": {
|
package/build/spec-402-main.json
CHANGED