mcpField
A
Ask262

Ask262

远程服务
github.com/bendtherules开发工具016 周前更新
代码仓库

关于 Ask262

Ask262 是供 JavaScript 开发者探索 ECMAScript 规范及其在 engine262 中实现情况的 MCP 服务。它将语义规范搜索与代码执行结合,并捕获相关规范章节。

主要功能

  1. 01语义搜索 ECMAScript 章节
  2. 02获取规范章节全文
  3. 03在 engine262 中执行 JavaScript
  4. 04执行时捕获相关章节
  5. 05映射规范章节与实现函数

适用场景

  1. 01查找问题相关的规范文本
  2. 02对照规范检查 engine262 行为
  3. 03追踪执行并定位相关规范章节
  4. 04探索规范章节与实现之间的关联

MCP 相关

Ask262 提供搜索和读取 ECMAScript 规范内容、在 engine262 中执行 JavaScript 的工具。MCP 客户端可连接托管端点或本地实例。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://ask262.mcp.bendtherules.io/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;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(云端)。默认值:ollama
  • OLLAMA_HOST:Ollama 服务 URL。默认值:http://localhost:11434
  • FIREWORKS_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 /mcpMCP 协议端点
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 规范:

  1. 克隆并设置:

    git clone https://github.com/bendtherules/ask262
    cd ask262
    bun install
    
  2. 确保规范文件存在:

    • ./spec-built/multipage/ - 构建后的 ECMAScript 规范 HTML 文件

    步骤 -

    1. git clone https://github.com/tc39/ecma262
    2. npm i && npm run build
    3. 将 ecma262 中的 out/ 复制到此仓库的 spec-built/
  3. 构建向量(lancedb)

    bun run ingest
    
  4. 发布到 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

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。