tc39规格mcp
部署为无状态 Cloudflare工作人员 使用可流式传输的http。
工具
search_spec
通过抽象操作名称、内置对象、节ID或节号搜索ECMA-262规范。
参数:
query(字符串,必填)--搜索词(例如。"ValidateTypedArray","ArrayBuffer","sec-arraybuffer-objects","25.1")limit(number,可选)--返回的最大结果数。默认值:15。
示例结果:
Found 1 matching section(s) for "ValidateTypedArray":
- **23.2.4.4 ValidateTypedArray ( O, order )**
ID: `sec-validatetypedarray`
URL: https://tc39.es/ecma262/multipage/indexed-collections.html#sec-validatetypedarrayget_spec_section
通过ID获取特定ECMA-262节的完整内容。返回转换为简化markdown的节,并保留算法步骤、参数和交叉引用。
参数:
section_id(string,必填)--节ID(例如。"sec-validatetypedarray").这sec-前缀是可选的。使用search_spec以发现ID。
list_proposals
列出TC39官方提案 tc39/提案 存储库。
参数:
stage(字符串,可选)--按阶段筛选:"1","2","2.7","3",或"4"(已完成)。search(string,可选)--按名称、作者或冠军进行筛选。
get_proposal
从其GitHub存储库中获取TC39提案的README(以及可选的规范文本)。
参数:
name(字符串,必填)--提案名称或搜索词(例如。"Temporal","decorators").include_spec(布尔值,可选)--如果true,还获取提案的spec.emu或spec.html文件。违约:false.
search_notes
在TC39全体会议笔记中搜索关于提案、主题或代表的讨论。返回与会议日期、演示者、讨论摘录和结论匹配的议程项目部分。
参数:
query(字符串,必填)--搜索词(例如。"Temporal","iterator helpers","TypedArray concat").from_date(字符串,可选)--仅搜索自此日期以后的会议,在YYYY-MM格式。limit(number,可选)--返回的最大结果数。默认值:10。
示例结果:
Found 1 matching section(s) for "TypedArray concat":
### TypedArray Concatenation
Meeting: November 18, 2025 (2025-11)
Presenter: James Snell (JSL)
Conclusion: Conditional stage 1 accepted pending repo creation.search_test262
搜索 tc39/test262 一致性测试套件,用于与内置对象、方法或功能相关的现有测试。
参数:
query(string,必填)--功能名称、内置或方法路径(例如。"ArrayBuffer","TypedArray.prototype.slice","ArrayBuffer.prototype.transfer").limit(number,可选)--返回的最大结果数。默认值:20。
get_agenda
从中获取并解析TC39全体会议议程 tc39/议程 存储库。返回所有提案,包括阶段、时间框、进度目标、支持材料链接(幻灯片、规格PR、测试262 PR)和演示者。还包括短/长讨论和时间表限制。
参数:
meeting(字符串,可选)--中的会议标识符YYYY/MM格式(例如。,"2026/03").如果省略,则返回下一个即将召开的会议。
lookup_delegate
按姓名、TLA(三个字母的缩写)或部分匹配查找TC39代表。返回代理人的全名和TLA。有助于解析会议笔记记录中的缩写。
参数:
query(字符串,必填)--代表姓名、TLA或部分匹配(例如。"KG","Kevin Gibbons","gibbons").
示例结果:
Found delegate: **Kevin Gibbons** (KG)数据源
| 数据 | 源 | 缓存TTL |
|---|---|---|
| 规格截面索引 | tc39.es/ecma262/多页/ TOC | 24小时 |
| 规范部分内容 | 单个多页HTML文件 | 24小时 |
| 提案(第1至4阶段) | markdown文件 | 1小时 |
| 提案自述/规范文本 | 个人提案GitHub仓库 | 1小时 |
| 会议记录 | 会议目录 | 24小时列表,7天过去的笔记,1小时最近的 |
| 测试262测试 | https://tc39/test262 目录树 | 6小时 |
| 会议议程 | 标记文件 | 15分钟 |
| 代表名单 | delegates.txt | 24小时 |
设置
作为MCP客户端
添加到MCP客户端配置中:
{
"tc39": {
"type": "remote",
"url": "https://tc39-spec-mcp.jasnell.workers.dev/mcp",
"enabled": true
}
}本地开发
npm install
npm start
# MCP endpoint: http://localhost:8787/mcp部署
npx wrangler deploy建筑
- 无状态 --用途
createMcpHandler具有按请求服务器工厂(无持久对象)。 - 无身份验证 --所有数据源都是公开的。
- 缓存 -Cloudflare Cache API在生产、内存中
Map本地开发者的后备方案。 - HTML标记 --从多页HTML中提取规范部分,并将其转换为适合LLM使用的简化标记。
