[Self promo] Ask262 - MCP server for exploring Ecma262

Hi folks, I wanted to get feedback about a personal project.

Ask262 - MCP server to reliably explore Ecma262 with your favourite AI.

Trying it out

OpenCode / Claude code - npx add-mcp "https://ask262.bendtherules.in/mcp".
Use prompt /ask (from ask262), followed by actual question.

For quick testing, I've also set up a web-based MCP Inspector and Chat Interface (register new account).

Feedback

I’d appreciate any feedback on the usefulness

  1. How much of manual spec searching and reading can it replace? When do you still need to open up the specification?
  2. Given a edge case code - can it figure out exact lines from spec?
  3. Currently, it doesn't help in understanding the Notational Conventions (BNF grammar, shorthands) and Specification types.
    What reading flows does it break? Is this worth exploring? Suggestions please.
  4. Some connections that get lost? Example - Internal methods and slots like [[GetOwnProperty]] don't have link in spec. (Vector search should still work here)
  5. Improving prompt.

Happy to get on a call to understand where it doesn't work.

Why MCP?

Isn't the doc public? Models already know about it

I have tried to point diferent models at the Ecma262 link, pdf and even play with system prompts, but the results are never satisfactory.

  1. Model's internal knowledge about the spec is often an approximation.
    They ignore or hallucinate some of the internal details (when there is lack of knowledge), can't exactly quote or point to the spec reliably and generally isn't as complete as reading the spec.

  2. Models can't figure out spec sections from code. They do their best to dry-run the code logically to arrive at the relevant sections, but there is no reliable way for them to do this.

Tools

  1. ask262_evaluate_in_engine262 - Executes code in engine262 to capture spec section ids that get hit at runtime. Can use ask262Debug.startImportant() and ask262Debug.stopImportant() to mark the key parts.
  2. ask262_search_spec_sections - Vector search on ECMAScript spec to get relevant section ids (no reranker currently).
  3. ask262_get_section_content - Retrieve full content from a spec section. Preserves link to other sections.

Todos

  1. Not great with static semantics. Adding a parser might help.
  2. Might not understand the Notational Conventions (BNF grammar, shorthands).
  3. Add some eval to verify effectiveness and improve prompt.

Nice! I had build a remote MCP server for proposals GitHub - hemanth/tc39-mcp-server: Unofficial MCP server for TC39 ECMAScript proposals · GitHub

Currently working on a MCP/Skill for answering questions on TC39 notes ;)