关于 Ask262
Ask262 是供 JavaScript 开发者探索 ECMAScript 规范及其在 engine262 中实现情况的 MCP 服务。它将语义规范搜索与代码执行结合,并捕获相关规范章节。
主要功能
- 01语义搜索 ECMAScript 章节
- 02获取规范章节全文
- 03在 engine262 中执行 JavaScript
- 04执行时捕获相关章节
- 05映射规范章节与实现函数
适用场景
- 01查找问题相关的规范文本
- 02对照规范检查 engine262 行为
- 03追踪执行并定位相关规范章节
- 04探索规范章节与实现之间的关联
MCP 相关
Ask262 提供搜索和读取 ECMAScript 规范内容、在 engine262 中执行 JavaScript 的工具。MCP 客户端可连接托管端点或本地实例。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://ask262.mcp.bendtherules.io/mcpclaude mcp add --transport http bendtherules-ask262 https://ask262.mcp.bendtherules.io/mcp{"mcpServers":{"bendtherules-ask262":{"type":"http","url":"https://ask262.mcp.bendtherules.io/mcp"}}}在 Cursor 中打开{"servers":{"bendtherules-ask262":{"type":"http","url":"https://ask262.mcp.bendtherules.io/mcp"}}}在 VS Code 中打开{"mcpServers":{"bendtherules-ask262":{"type":"http","url":"https://ask262.mcp.bendtherules.io/mcp"}}}{"mcpServers":{"bendtherules-ask262":{"serverUrl":"https://ask262.mcp.bendtherules.io/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
Ask262
用于探索 ECMAScript 规范及其在 engine262 中实现的 MCP 服务。
🎮 立即试用
快速了解 JavaScript 内部机制:
- Ask262 Chat — 使用自然语言提问(注册新账号)
- MCP Inspector — 直接使用所有 MCP 工具,无需注册
npx add-mcp "https://ask262.bendtherules.in/mcp"
功能
- 使用语义查询对 ECMAScript 规范章节进行向量搜索
- 在 engine262 中执行 JavaScript 并捕获规范章节,使用
ask262Debug.startImportant()标记代码中的关键部分 - 知识图谱:将规范章节映射到实现函数
- 为安全起见,代码执行设有 1 秒超时
可用工具
| 工具 | 描述 |
|---|---|
ask262_search_spec_sections | 在 ECMAScript 规范中进行向量搜索,查找相关章节 |
ask262_get_section_content | 获取规范章节的完整内容 |
ask262_evaluate_in_engine262 | 执行 JS 并捕获规范章节,使用“important”标记聚焦相关部分 |
快速开始(托管实例)
无需任何本地设置,即可使用托管的 MCP 服务:
首选方法:npx add-mcp
使用一条命令将 ask262 MCP 服务安装到客户端:
npx add-mcp "https://ask262.bendtherules.in/mcp"
手动配置
如果你更愿意手动配置:
Claude Desktop(claude_desktop_config.json):
{
"mcpServers": {
"ask262": {
"url": "https://ask262.bendtherules.in/mcp"
}
}
}
OpenCode(~/.config/opencode/opencode.json):
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"ask262": {
"type": "remote",
"url": "https://ask262.bendtherules.in/mcp",
"enabled": true
}
}
}
本地安装
前置条件
- Bun:版本 1.0.0 或更高版本(安装)
- Ollama:已安装
qwen3-embedding:8b
(ollama pull qwen3-embedding:8b)
设置
# Clone and install
git clone https://github.com/bendtherules/ask262
cd ask262
bun install
# Or install globally
bun install -g ask262
环境配置
复制 .env.example 并进行配置:
cp .env.example .env
关键变量:
ASK262_EMBEDDING_PROVIDER:选择ollama(本地)或fireworks(云端)。默认值:ollamaOLLAMA_HOST:Ollama 服务 URL。默认值:http://localhost:11434FIREWORKS_API_KEY:使用 Fireworks 时必需。从 https://app.fireworks.ai 获取ASK262_PORT:HTTP 服务端口。默认值:8081
.env 示例:
# Use Fireworks for embeddings (faster, cloud-based)
ASK262_EMBEDDING_PROVIDER=fireworks
FIREWORKS_API_KEY=fw_your_key_here
# Or use local Ollama (default)
# ASK262_EMBEDDING_PROVIDER=ollama
# OLLAMA_HOST=http://localhost:11434
本地 MCP 配置
Claude Desktop(claude_desktop_config.json):
stdio(无需服务)
{
"mcpServers": {
"ask262": {
"command": "bunx",
"args": ["ask262"]
}
}
}
http(需要服务)
{
"mcpServers": {
"ask262": {
"url": "http://localhost:8081/mcp"
}
}
}
⬇️ 上述 HTTP 配置必需:
bun run ask262-http # start HTTP server
OpenCode(~/.config/opencode/opencode.json):
stdio(无需服务)
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"ask262": {
"type": "local",
"command": ["bunx", "ask262"],
"enabled": true
}
}
}
http(需要服务)
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"ask262": {
"type": "remote",
"url": "http://localhost:8081/mcp",
"enabled": true
}
}
}
⬇️ 上述 HTTP 配置必需:
bun run ask262-http # start HTTP server
HTTP 服务端点:
| 端点 | 描述 |
|---|---|
GET /health | 健康检查 |
GET/POST /mcp | MCP 协议端点 |
GET / | MCP Inspector UI(自动连接到 /mcp) |
注:/mcp 定义在 Inspector 的兜底 / 路由之前,以确保正确处理请求。
测试
# Run MCP server tests
bun run test-mcp-server
# Test evaluate tool with timeout
bun run test-evaluate-timeout
# Test search functionality
bun run test-search-spec-sections
开发
用于开发或使用自定义 ECMAScript 规范:
-
克隆并设置:
git clone https://github.com/bendtherules/ask262 cd ask262 bun install -
确保规范文件存在:
./spec-built/multipage/- 构建后的 ECMAScript 规范 HTML 文件
步骤 -
git clone https://github.com/tc39/ecma262npm i && npm run build- 将 ecma262 中的
out/复制到此仓库的spec-built/
-
构建向量(lancedb)
bun run ingest -
发布到 npm(仅维护者):
bun run release这将:
- 检查是否存在未提交的 git 更改
- 提升补丁版本(例如,0.0.1 → 0.0.2)
- 修复
storage/中的所有硬链接 - 运行检查并发布
其他选项:
bun run release -- --minor、bun run release -- --major或bun run release -- --no-bump
许可证
ISC
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。