# Promptheus

MCP server that refines prompts through adaptive clarification questions. Works with six providers: Google, Anthropic, OpenAI, Groq, Qwen, Zhipu.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 17
- Author: abhichandra21
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/abhichandra21/Promptheus
- Updated: 2026-10-13
- HTML: https://affpapa.org/en/nevibecode/mcp/promptheus

## What it does

Promptheus analyzes the initial prompt and asks targeted questions to clarify audience, tone, length, or key requirements. After you answer, it returns a refined prompt. The server exposes two tools: `refine_prompt` for deep refinement with Q&A and `tweak_prompt` for surgical edits to an existing prompt.

Inside — support for six LLM backends (Gemini, Claude, GPT-4o, Llama via Groq, Qwen, GLM) and auto-routing through OpenRouter. At least one API key from the provider list is required. The command `uvx promptheus` starts the server via `uvx`; Python 3.10+ is mandatory.

The server can skip questions when told to: it then applies direct optimization without dialogue. Prompt history is saved locally; telemetry can be disabled via the `PROMPTHEUS_TELEMETRY_ENABLED=0` environment variable.

## Requirements
- Needs: Python and uv (commands run via uvx)
- Environment variables: `GOOGLE_API_KEY`, `ANTHROPIC_API_KEY`, `OPENAI_API_KEY`, `GROQ_API_KEY`, `QWEN_API_KEY`, `GLM_API_KEY`, `PROMPTHEUS_PROVIDER`, `PROMPTHEUS_MODEL` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add promptheus -e GOOGLE_API_KEY=<GOOGLE_API_KEY> -e ANTHROPIC_API_KEY=<ANTHROPIC_API_KEY> -e OPENAI_API_KEY=<OPENAI_API_KEY> -e GROQ_API_KEY=<GROQ_API_KEY> -e QWEN_API_KEY=<QWEN_API_KEY> -e GLM_API_KEY=<GLM_API_KEY> -- uvx promptheus
```
Replace <…> with your own values. 3 more environment variables are in the server README. uvx runs the command named after the package; if the README names another one, use uvx --from promptheus <command>

### Codex

**Platform CLI**
```bash
codex mcp add promptheus --env GOOGLE_API_KEY=<GOOGLE_API_KEY> --env ANTHROPIC_API_KEY=<ANTHROPIC_API_KEY> --env OPENAI_API_KEY=<OPENAI_API_KEY> --env GROQ_API_KEY=<GROQ_API_KEY> --env QWEN_API_KEY=<QWEN_API_KEY> -- uvx promptheus
```
Replace <…> with your own values. 3 more environment variables are in the server README. uvx runs the command named after the package; if the README names another one, use uvx --from promptheus <command>

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "promptheus": {
            "command": "uvx",
            "args": [
                "promptheus"
            ],
            "env": {
                "GOOGLE_API_KEY": "<GOOGLE_API_KEY>",
                "ANTHROPIC_API_KEY": "<ANTHROPIC_API_KEY>",
                "OPENAI_API_KEY": "<OPENAI_API_KEY>",
                "GROQ_API_KEY": "<GROQ_API_KEY>",
                "QWEN_API_KEY": "<QWEN_API_KEY>"
            }
        }
    }
}
```
Replace <…> with your own values. 3 more environment variables are in the server README. uvx runs the command named after the package; if the README names another one, use uvx --from promptheus <command>

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "promptheus": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "promptheus"
            ],
            "env": {
                "GOOGLE_API_KEY": "<GOOGLE_API_KEY>",
                "ANTHROPIC_API_KEY": "<ANTHROPIC_API_KEY>",
                "OPENAI_API_KEY": "<OPENAI_API_KEY>",
                "GROQ_API_KEY": "<GROQ_API_KEY>",
                "QWEN_API_KEY": "<QWEN_API_KEY>"
            }
        }
    }
}
```
Replace <…> with your own values. 3 more environment variables are in the server README. uvx runs the command named after the package; if the README names another one, use uvx --from promptheus <command>

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e GOOGLE_API_KEY=<GOOGLE_API_KEY> -e ANTHROPIC_API_KEY=<ANTHROPIC_API_KEY> -e OPENAI_API_KEY=<OPENAI_API_KEY> -e GROQ_API_KEY=<GROQ_API_KEY> -e QWEN_API_KEY=<QWEN_API_KEY> promptheus uvx promptheus
```
Replace <…> with your own values. 3 more environment variables are in the server README. uvx runs the command named after the package; if the README names another one, use uvx --from promptheus <command>

## When to use it
- refine a prompt through clarification questions before running a task
- switch provider and model mid-session
- apply a surgical edit to a finished prompt without rebuilding it
- check provider availability and API key validity
- track prompt history and reuse past versions

## Example prompts
- Refine the prompt 'Write an article about async programming' and ask questions about audience and tone
- Improve a prompt for technical documentation using Gemini
- Tweak the prompt: add a requirement that the answer must be under 500 words

## Similar
- [REA](https://affpapa.org/en/nevibecode/mcp/rea.md) — MCP server · ★ 386989
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33918
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81115
- [browser-use](https://affpapa.org/en/nevibecode/mcp/browser-use.md) — MCP server · ★ 119160
- [Codebase Memory](https://affpapa.org/en/nevibecode/mcp/codebase-memory.md) — MCP server · ★ 47392
- [mcp-server](https://affpapa.org/en/nevibecode/mcp/mcp-server.md) — MCP server · ★ 43872

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
