Ask262
MCP server for understanding Javascript internals from ECMAScript specification.
Ask AI about Ask262
Powered by Claude · Grounded in docs
I know everything about Ask262. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
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
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
| Tool | Description |
|---|---|
ask262_search_spec_sections | Vector search ECMAScript spec for relevant sections |
ask262_get_section_content | Retrieve full content from a spec section |
ask262_evaluate_in_engine262 | Execute 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: Chooseollama(local) orfireworks(cloud). Default:ollamaOLLAMA_HOST: Ollama server URL. Default:http://localhost:11434FIREWORKS_API_KEY: Required if using Fireworks. Get from https://app.fireworks.aiASK262_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:
| Endpoint | Description |
|---|---|
GET /health | Health check |
GET/POST /mcp | MCP 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:
-
Clone and setup:
git clone https://github.com/bendtherules/ask262 cd ask262 bun install -
Ensure spec is present:
./spec-built/multipage/- Built ECMAScript spec HTML files
Steps -
git clone https://github.com/tc39/ecma262npm i && npm run build- copy
out/from ecma262 tospec-built/in this repo
-
Build vectors (lancedb)
bun run ingest -
Release to npm (maintainers only):
bun run releaseThis 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, orbun run release -- --no-bump
License
ISC
