mcpField
A
Ask262

Ask262

Remote
github.com/bendtherulesDeveloper Tools0Updated 16w ago
Repository

About Ask262

Ask262 is an MCP server for JavaScript developers exploring the ECMAScript specification and its implementation in engine262. It combines semantic spec search with code execution that captures relevant specification sections.

Key features

  1. 01Semantic search across ECMAScript sections
  2. 02Retrieve full specification section content
  3. 03Execute JavaScript in engine262
  4. 04Capture relevant sections during execution
  5. 05Map specification sections to implementation functions

Use cases

  1. 01Find specification text relevant to a question
  2. 02Check engine262 behavior against the specification
  3. 03Trace execution to related specification sections
  4. 04Explore links between specification sections and implementation

MCP support

Ask262 exposes tools to search and retrieve ECMAScript specification content and evaluate JavaScript in engine262. MCP clients can connect to its hosted endpoint or a local instance.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://ask262.mcp.bendtherules.io/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

Tools

Details

From the project README

Ask262

MCP server for exploring the ECMAScript specification and its implementation in engine262.

🎮 Try it now

The fastest way to tinker with JavaScript internals:

  • Ask262 Chat — Ask questions in natural language (register new account)
  • MCP Inspector — Direct access to all mcp tools, no signup needed
  • npx add-mcp "https://ask262.bendtherules.in/mcp"

Features

  • Vector search ECMAScript specification sections using semantic queries
  • Execute JavaScript in engine262 and capture spec sections, with ask262Debug.startImportant() to mark the key parts of your code
  • Knowledge graph mapping spec sections to implementation functions
  • 1-second timeout on code execution for safety

Available Tools

ToolDescription
ask262_search_spec_sectionsVector search ECMAScript spec for relevant sections
ask262_get_section_contentRetrieve full content from a spec section
ask262_evaluate_in_engine262Execute JS and capture spec sections, with "important" marking to focus on relevant parts

Quick Start (Hosted Instance)

Use the hosted MCP server without any local setup:

Preferred Method: npx add-mcp

Install ask262 MCP server to your client with one command:

npx add-mcp "https://ask262.bendtherules.in/mcp"
Manual Configuration

If you prefer to configure manually:

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
    }
  }
}

Local Installation

Prerequisites
  • Bun: Version 1.0.0 or higher (install)
  • Ollama: Installed with qwen3-embedding:8b
    (ollama pull qwen3-embedding:8b)
Setup
# Clone and install
git clone https://github.com/bendtherules/ask262
cd ask262
bun install

# Or install globally
bun install -g ask262
Environment Configuration

Copy .env.example and configure:

cp .env.example .env

Key variables:

  • ASK262_EMBEDDING_PROVIDER: Choose ollama (local) or fireworks (cloud). Default: ollama
  • OLLAMA_HOST: Ollama server URL. Default: http://localhost:11434
  • FIREWORKS_API_KEY: Required if using Fireworks. Get from https://app.fireworks.ai
  • ASK262_PORT: HTTP server port. Default: 8081

Example .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
Local MCP Configuration

Claude Desktop (claude_desktop_config.json):

stdio (no server needed)
{
  "mcpServers": {
    "ask262": {
      "command": "bunx",
      "args": ["ask262"]
    }
  }
}
http (requires server)
{
  "mcpServers": {
    "ask262": {
      "url": "http://localhost:8081/mcp"
    }
  }
}

⬇️ Required for HTTP config above:

bun run ask262-http # start HTTP server

OpenCode (~/.config/opencode/opencode.json):

stdio (no server needed)
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "ask262": {
      "type": "local",
      "command": ["bunx", "ask262"],
      "enabled": true
    }
  }
}
http (requires server)
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "ask262": {
      "type": "remote",
      "url": "http://localhost:8081/mcp",
      "enabled": true
    }
  }
}

⬇️ Required for HTTP config above:

bun run ask262-http # start HTTP server

HTTP Server Endpoints:

EndpointDescription
GET /healthHealth check
GET/POST /mcpMCP protocol endpoint
GET /MCP Inspector UI (auto-connects to /mcp)

Note: /mcp is defined before the inspector's catch-all / route to ensure proper request handling.

Testing

# 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

Development

For development or using a custom ECMAScript specification:

  1. Clone and setup:

    git clone https://github.com/bendtherules/ask262
    cd ask262
    bun install
    
  2. Ensure spec is present:

    • ./spec-built/multipage/ - Built ECMAScript spec HTML files

    Steps -

    1. git clone https://github.com/tc39/ecma262
    2. npm i && npm run build
    3. copy out/ from ecma262 to spec-built/ in this repo
  3. Build vectors (lancedb)

    bun run ingest
    
  4. Release to npm (maintainers only):

    bun run release
    

    This will:

    • Check for uncommitted git changes
    • Bump patch version (e.g., 0.0.1 → 0.0.2)
    • Fix any hard links in storage/
    • Run checks and release

    Other options: bun run release -- --minor, bun run release -- --major, or bun run release -- --no-bump

License

ISC

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.