Stop your AI agent from guessing. Make it ask inside your IDE.
QuizGate gives MCP-compatible AI agents a structured way to ask you clarifying questions directly in VS Code. Instead of guessing on architecture, implementation details, or user preference, the agent can open a quiz panel in your editor, wait for your answer, and continue with actual input.
QuizGate is made of two runtime pieces:
packages/mcp-server: an MCP server that exposes theask_usertool to AI agentspackages/vscode-extension: a VS Code extension that receives questions over localhost HTTP and renders the quiz UI
There is also one shared workspace package:
shared: shared types and Zod schemas used by both packages
- Your AI agent encounters ambiguity.
- It calls the
ask_userMCP tool with structured questions. - The MCP server forwards that payload to the local VS Code extension.
- The extension opens an interactive quiz panel in VS Code.
- You answer the quiz.
- The response flows back to the agent so it can continue with your actual preference.
- Reduces AI guesswork in real coding workflows
- Keeps clarification inside the editor instead of chat context switching
- Supports structured answers instead of vague free-form back and forth
- Adds guardrails like timeouts, error classification, and a circuit breaker
.
├── DOCs/documentation.md # Developer documentation and architecture notes
├── shared/ # Shared types and schemas
└── packages/
├── mcp-server/ # MCP server package
└── vscode-extension/ # VS Code extension package
npm installnpm run buildOpen the repository in VS Code and launch the extension host with F5.
Example MCP config:
{
"mcpServers": {
"quizgate": {
"command": "npx",
"args": ["-y", "quizgate-mcp"]
}
}
}npm install -g quizgate-mcpIf you want to run the local repository build instead of the published package, build the workspace first and point your MCP client at packages/mcp-server/dist/index.js.
ask_usertool for structured clarification flows- Multiple-choice questions with optional descriptions and context
- Free-text answers when the user wants to write their own response
- Configurable timeout via
quizgate.timeout - Port discovery starting from
quizgate.port - Three-tier error model: transport, protocol, and application failures
- Circuit breaker to avoid repeatedly interrupting the user
- Node.js 18+ is required
- The MCP server is bundled with
esbuildso the published package can inline the local@quizgate/sharedworkspace package - The VS Code extension builds into
packages/vscode-extension/out - Shared types build into
shared/dist
MIT