User Prompt

io.github.Jacob-J-Thomas由 GitHub 帳號 Jacob-J-Thomas 發布v1.0.2更新於 Oct 24, 2026

An MCP server that enables AI agents to ask users clarifying questions via pop-up terminal windows.

已驗證STDIO僅桌面效率與工作流開發者工具

概覽

AI 產生的概覽

讓 AI 代理在任務進行中透過彈出的終端機視窗向使用者提出釐清問題,並取回使用者輸入的答案。

可以做什麼
只提供一個工具 user_prompt,代理可在執行過程中隨時呼叫。伺服器會開啟新的終端機視窗,顯示代理提出的發問原因與編號問題清單,再把使用者輸入的答案以問答對形式回傳給代理。支援一次提出多個問題、10 分鐘回應時限,以及使用者未作答就關閉視窗的偵測,此時代理會收到一則備援訊息。
適用情境
適合長時間執行或代理式的工作流程:當遇到需求不明確、意外錯誤,或有多種可行做法的設計決策時,代理原本只能猜測或停下來等待。它讓代理不必離開自身的輸入輸出通道就能請求人工輸入。
執行需求
透過 stdio 在本機執行,由 MCP 用戶端啟動該行程。Windows 需要 PowerShell 5.1+(Windows 10/11 內建);macOS 與 Linux 未經測試,需要安裝 PowerShell Core(pwsh)。預先建置的版本沒有其他相依項目;.NET 全域工具與原始碼建置需要 .NET 8.0 SDK 或更新版本。未宣告任何帳號、API 金鑰或環境變數。
安裝前請注意
此工具會在使用者機器上開啟新的終端機視窗,並持續阻塞直到使用者作答或 10 分鐘逾時,因此會打斷桌面操作。問題與答案會寫入系統暫存目錄下的暫存 JSON 檔案,並在每次呼叫後清除。何時呼叫此提示由代理自行判斷。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 User Prompt,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

User Prompt MCP Server

[.NET] [License]

mcp-name: io.github.Jacob-J-Thomas/user-prompt

A Model Context Protocol (MCP) server that gives AI agents the ability to ask users clarifying questions mid-task via a pop-up terminal window. Built with .NET 8 and C#.

The Problem

Long-running AI agents (like Claude Code, IDE copilots, or custom agentic workflows) often encounter situations where they need human input — ambiguous requirements, unexpected errors, or design decisions that could go multiple ways. Without a mechanism to ask, the agent either guesses (often incorrectly) or stops entirely and waits for the user to notice.

The Solution

This MCP server exposes a single tool, user_prompt, that an AI agent can call at any point during execution. When invoked, a new terminal window opens on the user's machine displaying the agent's questions. The user types their answers and the responses are returned directly to the agent, allowing it to continue working with the additional context.

[Terminal prompt demo]

Features

  • Pop-up terminal prompt — questions appear in a dedicated window, separate from the agent's own I/O
  • Multi-question support — the agent can ask multiple questions in a single call; all are displayed upfront as a numbered list
  • Structured responses — answers are returned as clearly formatted Q&A pairs the agent can parse
  • Timeout handling — 10-minute response window with graceful fallback messaging
  • Window-closed detection — if the user closes the prompt without answering, the agent receives a clear notification
  • Stdio transport — communicates over stdin/stdout per the MCP specification, compatible with any MCP client

Prerequisites

  • Windows: PowerShell 5.1+ (included with Windows 10/11)
  • macOS/Linux (untested): PowerShell Core (pwsh) must be installed

Note: Pre-built releases have no other dependencies. The .NET Global Tool and Build from Source options require the .NET 8.0 SDK or later.

Quick Start

Pick one of the three install options below. Each option walks you through installation, client configuration, and updates end-to-end.


Option A: GitHub Releases

Self-contained executables — no .NET SDK required.

1. Download

Grab the zip for your platform from the latest release:

PlatformAsset
Windows (x64)UserPromptMcpServer-win-x64.zip
macOS (Intel)UserPromptMcpServer-osx-x64.zip
macOS (Apple Silicon)UserPromptMcpServer-osx-arm64.zip
Linux (x64)UserPromptMcpServer-linux-x64.zip

2. Extract

Unzip to a permanent location, for example:

  • Windows: C:\Tools\UserPromptMcpServer\
  • macOS / Linux: ~/tools/UserPromptMcpServer/

3. Configure your MCP client

Claude Code (CLI):

bash
claude mcp add user-prompt -- "C:\Tools\UserPromptMcpServer\UserPromptMcpServer.exe"

Other clients — point the command at the executable (see Client Configuration Reference for full examples):

json
{  "command": "C:\\Tools\\UserPromptMcpServer\\UserPromptMcpServer.exe"}

Updating: download the new release and replace the files in the same folder.


Option B: .NET Global Tool

Requires the .NET 8.0 SDK or later. The tool is added to your PATH automatically.

1. Install

bash
dotnet tool install -g UserPrompt

2. Configure your MCP client

Claude Code (CLI):

bash
claude mcp add user-prompt -- user-prompt

Other clients — the command name is user-prompt (see Client Configuration Reference for full examples):

json
{  "command": "user-prompt"}

Updating:

bash
dotnet tool update -g UserPrompt

Option C: Build from Source

Requires the .NET 8.0 SDK or later.

bash
git clone https://github.com/Jacob-J-Thomas/user-context-retrieval-mcp-server.gitcd user-context-retrieval-mcp-serverdotnet publish UserPromptMcpServer -c Release -r win-x64 -o ./publish

Replace win-x64 with your platform's runtime identifier (e.g. osx-arm64, linux-x64).

Then configure your client the same way as Option A, pointing at the executable inside ./publish/.


Client Configuration Reference

This server uses the stdio transport — it does not listen on a port. The MCP client launches the server process and communicates with it over stdin/stdout. Replace the command/path below with the value from whichever install option you chose.

Claude Desktop

Add the following to your claude_desktop_config.json:

json
{  "mcpServers": {    "user-prompt": {      "command": "/path/to/UserPromptMcpServer.exe"    }  }}

Config file location:

PlatformPath
Windows%APPDATA%\Claude\claude_desktop_config.json
macOS~/Library/Application Support/Claude/claude_desktop_config.json

Cursor

Add the following to .cursor/mcp.json (project-level) or ~/.cursor/mcp.json (global):

json
{  "mcpServers": {    "user-prompt": {      "command": "/path/to/UserPromptMcpServer.exe"    }  }}

OpenAI Codex CLI

Add the following to ~/.codex/config.toml (global) or .codex/config.toml (project-level):

toml
[mcp_servers.user-prompt]command = "/path/to/UserPromptMcpServer.exe"

Or via the CLI:

bash
codex mcp add user-prompt -- /path/to/UserPromptMcpServer.exe

Other MCP Clients

Any MCP client that supports the stdio transport can launch this server. Point it at the executable (or the user-prompt command name if using the .NET Global Tool).

Usage

Once configured, the user_prompt tool is available to the AI agent automatically. The agent decides when to invoke it based on its own judgment — no manual triggering is required.

Tool Reference

Tool name: user_prompt

ParameterTypeRequiredDescription
reasonstringYesA clear explanation of why the agent needs user input. Displayed prominently in the terminal window.
questionsstring[]YesA list of specific questions. Displayed as a numbered list; the user answers each in sequence.

Example Tool Call

json
{  "name": "user_prompt",  "arguments": {    "reason": "The project has no database configuration and I need to set one up.",    "questions": [      "Which database engine should I use (PostgreSQL, SQLite, SQL Server)?",      "Should I include Entity Framework Core as the ORM?"    ]  }}

Example Response

User responded to 2 question(s):
1. Q: Which database engine should I use (PostgreSQL, SQLite, SQL Server)?   A: PostgreSQL
2. Q: Should I include Entity Framework Core as the ORM?   A: Yes, use EF Core with code-first migrations

Terminal Window Behavior

When the tool is invoked, a new PowerShell window opens displaying:

  1. A header indicating an AI agent needs input
  2. The agent's stated reason for asking
  3. All questions as a numbered list
  4. Numbered input prompts (1>, 2>, etc.) — one Enter per answer
  5. A confirmation message before the window auto-closes

If the user does not respond within 10 minutes, or closes the window without answering, the agent receives a descriptive fallback message and can decide how to proceed.

Architecture

UserPromptMcpServer/├── UserPromptMcpServer.csproj   # Project file (.NET 8)├── Program.cs                   # MCP server entry point (stdio transport)└── Tools/    └── UserPromptTool.cs        # Tool implementation

How It Works Internally

  1. The MCP client sends a tools/call JSON-RPC request over stdin
  2. The server writes the questions to a temporary JSON file
  3. A PowerShell script is generated and launched in a new terminal window
  4. The user sees the questions and types answers sequentially
  5. Answers are written to a response JSON file; the terminal closes
  6. The server reads the response file, formats it, cleans up temp files, and returns the result over stdout

All temporary files are created under %TEMP%/UserPromptMcpServer/<session-guid>/ and are cleaned up after each invocation regardless of outcome.

Contributing

Contributions are welcome! To make sure your change gets merged, please open an issue first to discuss the proposed change and get approval before starting work.

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/my-feature)
  3. Make your changes and ensure the project builds cleanly (dotnet build)
  4. Commit with a clear, descriptive message
  5. Open a pull request against develop

Development Setup

bash
git clone https://github.com/Jacob-J-Thomas/user-context-retrieval-mcp-server.gitcd user-context-retrieval-mcp-serverdotnet restore UserPromptMcpServer/UserPromptMcpServer.csprojdotnet build UserPromptMcpServer/UserPromptMcpServer.csproj

Areas for Contribution

  • Cross-platform support — the macOS and Linux terminal launching is currently stubbed out and untested
  • Test coverage — no test project exists yet
  • Additional MCP tools — if the project scope expands beyond a single tool

License

This project is licensed under the Apache License 2.0. See LICENSE for details.

Author

Jacob Thomas — @Jacob-J-Thomas

來源:README.md,提交 94897c8

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v1.0.2最新Sep 16, 2026

評分

已滿足適用檢查項的 40%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。