auq-mcp-server 1.2.8 → 1.2.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,18 +1,22 @@
1
1
  ![AUQ Demo](media/demo.png)
2
2
 
3
- # AUQ - ask-user-questions MCP
3
+ # AUQ - Ask User Questions
4
4
 
5
5
  [![npm version](https://img.shields.io/npm/v/auq-mcp-server.svg)](https://www.npmjs.com/package/auq-mcp-server)
6
6
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
7
7
  [![Install MCP Server](https://cursor.com/deeplink/mcp-install-light.svg)](https://cursor.com/en-US/install-mcp?name=ask-user-questions&config=eyJlbnYiOnt9LCJjb21tYW5kIjoibnB4IC15IGF1cS1tY3Atc2VydmVyIHNlcnZlciJ9)
8
8
 
9
- **A lightweight MCP server & CLI tool that allows your LLMs to ask questions to you in a clean, separate space with great terminal UX. Made for multi-agent parallel coding workflows.**
9
+ **A lightweight CLI tool that allows your LLMs to ask questions to you in a separate space with clean terminal UX. Supports both MCP server and official OpenCode plugin integration. Made for multi-agent parallel coding workflows.**
10
+
11
+ 🤔 [Why do I need it when I already have question tool in CC/OC?](#-why-auq-vs-built-in-ask-tools)
12
+
13
+ [Setup](#setup-instructions) • [Features](#-features)
10
14
 
11
15
  ---
12
16
 
13
17
  ## What does it do?
14
18
 
15
- This MCP server lets your AI assistants generate clarifying questions consisting of multiple-choice/single-choice questions (with an "Other" option for custom input) while coding or working, and wait for your answers through a separate CLI tool without messing up your workflow.
19
+ AUQ lets your AI assistants generate clarifying questions consisting of multiple-choice/single-choice questions (with an "Other" option for custom input) while coding or working, and wait for your answers through a separate CLI tool without messing up your workflow.
16
20
 
17
21
  You can keep the CLI running in advance, or start it when questions are pending. With simple arrow key navigation, you can select answers and send them back to the AI—all within a clean terminal interface.
18
22
 
@@ -22,7 +26,7 @@ In AI-assisted coding, guiding LLMs to ask **clarifying questions** have been wi
22
26
 
23
27
  On October 18th, Claude Code 2.0.21 introduced an internal `ask-user-question` tool. Inspired by it, I decided to build a similar tool that is:
24
28
 
25
- - **Tool-agnostic** - Works with any MCP client (Claude Desktop, Cursor, etc.)
29
+ - **Integration-flexible** - Works with MCP clients (Claude Desktop, Cursor, etc.) and has official OpenCode plugin support
26
30
  - **Non-invasive** - Doesn't heavily integrate with your coding CLI workflow or occupy UI space
27
31
  - **Multi-agent friendly** - Supports receiving questions from multiple agents simultaneously in parallel workflows
28
32
 
@@ -56,9 +60,42 @@ Recent AI workflows often use parallel sub-agents for concurrent coding. AUQ han
56
60
 
57
61
  ---
58
62
 
63
+ ## 🤔 Why AUQ vs. Built-in Ask Tools?
64
+
65
+ **Why should I use AUQ instead of the built-in "Question" tools in OpenCode, Claude Code, or other coding agents?**
66
+
67
+ AUQ is designed for the era of parallel multi-agent workflows, with several key advantages:
68
+
69
+ ### 🚀 Non-Blocking Parallel Operation
70
+ Unlike built-in ask tools that halt the entire AI workflow until you respond, AUQ **doesn't block the AI from continuing work**. Questions are queued asynchronously, allowing your AI assistants to keep coding while you review and answer questions at your own pace.
71
+
72
+ ### 🎯 Multi-Agent Question Set Support
73
+ **The killer feature**: AUQ can handle question sets from **multiple agents simultaneously**. In modern AI coding workflows, you often have several sub-agents working in parallel—each might need clarification on different aspects of your codebase. With AUQ:
74
+
75
+ - **No more screen switching** between different agent conversations
76
+ - **Unified queue** for all agent questions, regardless of which AI tool they're coming from
77
+ - **Sequential processing** of questions from multiple sources in one interface
78
+
79
+ ### 🌐 Cross-Platform Question Aggregation
80
+ AUQ's **unified data origin** means you can answer questions from **different AI clients simultaneously**:
81
+ - Claude Code questions
82
+ - OpenCode questions
83
+ - Cursor/MCP questions
84
+
85
+ All appear in the **same CLI interface**, creating a single source of truth for all AI-agent questions across your entire development environment.
86
+
87
+ ### 💡 Perfect for Parallel Agent Workflows
88
+ As AI coding moves toward sophisticated multi-agent systems, AUQ becomes essential. Instead of managing blocking questions across multiple agent screens, you get one streamlined interface that handles questions from your entire AI coding ecosystem—keeping your focus on the code, not the coordination.
89
+
90
+ **TL;DR**: AUQ transforms AI-agent questions from blocking interruptions into a smooth, unified workflow that scales with your AI coding setup.
91
+
92
+ ---
93
+
59
94
  # Setup Instructions
60
95
 
61
- ## 🚀 Step 1: Setup CLI
96
+ ## 🚀 Install CLI Tool
97
+
98
+ First, install the AUQ CLI tool:
62
99
 
63
100
  ### Global Installation (Recommended)
64
101
 
@@ -87,7 +124,11 @@ npx auq
87
124
 
88
125
  ---
89
126
 
90
- ## 🔌 Step 2: Setup MCP Server
127
+ ## 🔌 Choose Your Integration Method
128
+
129
+ AUQ supports multiple AI coding environments. Choose the one that fits your workflow:
130
+
131
+ ### Option A: MCP Server (Recommended for most users)
91
132
 
92
133
  ### Cursor
93
134
 
@@ -168,28 +209,30 @@ Add to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS)
168
209
 
169
210
  **Restart Claude Desktop** after saving.
170
211
 
171
- ---
212
+ ### Option B: Official OpenCode Plugin
172
213
 
173
- ## 🔌 OpenCode Plugin (Optional)
214
+ We now have **official OpenCode plugin support**! We support OpenCode because OpenCode's MCP server seems to have some limitations (timeout), so we created an OpenCode-specific plugin that works perfectly together with OpenCode.
174
215
 
175
- If you want the OpenCode tool to call `auq ask` directly (without MCP), install
176
- the plugin package and add it to your OpenCode config.
216
+ The OpenCode plugin allows OpenCode to call `auq ask` directly (without MCP), providing seamless integration with OpenCode's workflow.
217
+
218
+ #### Installation
177
219
 
178
220
  ```bash
221
+ # Install both CLI and plugin
179
222
  npm install -g auq-mcp-server
180
223
  npm install -g @paulp-o/opencode-auq
181
224
  ```
182
225
 
226
+ #### Configuration
227
+
183
228
  Add to `opencode.json`:
184
229
 
185
230
  ```json
186
231
  {
187
- "$schema": "https://opencode.ai/config.json",
188
232
  "plugin": ["@paulp-o/opencode-auq"]
189
233
  }
190
234
  ```
191
235
 
192
- The plugin assumes `auq` is available on `PATH` (global install or equivalent).
193
236
 
194
237
  ---
195
238
 
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "auq-mcp-server",
3
- "version": "1.2.8",
3
+ "version": "1.2.9",
4
4
  "main": "dist/index.js",
5
5
  "bin": {
6
6
  "auq": "dist/bin/auq.js"
@@ -22,6 +22,15 @@ export const OptionsList = ({ isFocused, onSelect, options, selectedOption, show
22
22
  useInput((input, key) => {
23
23
  if (!isFocused)
24
24
  return;
25
+ // Handle up/down navigation even when custom input is focused
26
+ if (key.upArrow) {
27
+ setFocusedIndex((prev) => Math.max(0, prev - 1));
28
+ return;
29
+ }
30
+ if (key.downArrow) {
31
+ setFocusedIndex((prev) => Math.min(maxIndex, prev + 1));
32
+ return;
33
+ }
25
34
  // When custom input is focused, only handle escape to exit, let MultiLineTextInput handle other keys
26
35
  if (isCustomInputFocused) {
27
36
  if (key.escape) {
@@ -30,12 +39,6 @@ export const OptionsList = ({ isFocused, onSelect, options, selectedOption, show
30
39
  }
31
40
  return;
32
41
  }
33
- if (key.upArrow) {
34
- setFocusedIndex((prev) => Math.max(0, prev - 1));
35
- }
36
- if (key.downArrow) {
37
- setFocusedIndex((prev) => Math.min(maxIndex, prev + 1));
38
- }
39
42
  if (multiSelect) {
40
43
  // Multi-select mode
41
44
  if (input === " ") {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "auq-mcp-server",
3
- "version": "1.2.8",
3
+ "version": "1.2.9",
4
4
  "main": "dist/index.js",
5
5
  "bin": {
6
6
  "auq": "dist/bin/auq.js"