Server data from the Official MCP Registry
AI-powered prompt refinement with adaptive questioning and multi-provider support (6+ LLM backends)
AI-powered prompt refinement with adaptive questioning and multi-provider support (6+ LLM backends)
Valid MCP server (2 strong, 3 medium validity signals). 3 known CVEs in dependencies (0 critical, 3 high severity) Package registry verified. Imported from the Official MCP Registry.
5 files analyzed ยท 4 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Set these up before or after installing:
Environment variable: GOOGLE_API_KEY
Environment variable: ANTHROPIC_API_KEY
Environment variable: OPENAI_API_KEY
Environment variable: GROQ_API_KEY
Environment variable: QWEN_API_KEY
Environment variable: GLM_API_KEY
Environment variable: PROMPTHEUS_PROVIDER
Environment variable: PROMPTHEUS_MODEL
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-abhichandra21-promptheus": {
"env": {
"GLM_API_KEY": "your-glm-api-key-here",
"GROQ_API_KEY": "your-groq-api-key-here",
"QWEN_API_KEY": "your-qwen-api-key-here",
"GOOGLE_API_KEY": "your-google-api-key-here",
"OPENAI_API_KEY": "your-openai-api-key-here",
"PROMPTHEUS_MODEL": "your-promptheus-model-here",
"ANTHROPIC_API_KEY": "your-anthropic-api-key-here",
"PROMPTHEUS_PROVIDER": "your-promptheus-provider-here"
},
"args": [
"promptheus"
],
"command": "uvx"
}
}
}From the project's GitHub README.
Refine and optimize prompts for LLMs
pip install promptheus
# Interactive session
promptheus
# Single prompt
promptheus "Write a technical blog post"
# Skip clarifying questions
promptheus -s "Explain Kubernetes"
# Use web UI
promptheus web
from promptheus import refine_prompt
result = refine_prompt("Write a technical blog post", skip_questions=True)
print(result["refined_prompt"])
If you're already in an async application (e.g., FastAPI), call refine_prompt_async instead of the sync helper.
Promptheus analyzes your prompts and refines them with:
| Provider | Models | Setup |
|---|---|---|
| Google Gemini | gemini-2.0-flash, gemini-1.5-pro | API Key |
| Anthropic Claude | claude-3-5-sonnet, claude-3-opus | Console |
| OpenAI | gpt-4o, gpt-4-turbo | API Key |
| Groq | llama-3.3-70b, mixtral-8x7b | Console |
| Alibaba Qwen | qwen-max, qwen-plus | DashScope |
| Zhipu GLM | glm-4-plus, glm-4-air | Console |
| OpenRouter | openrouter/auto (auto-routing) | Dashboard |
OpenRouter integration in Promptheus is optimized around the openrouter/auto routing model:
OPENROUTER_MODEL or --model if your key has access.๐ง Adaptive Task Detection Automatically detects whether your task needs refinement or direct optimization
โก Interactive Refinement Ask targeted questions to elicit requirements and improve outputs
๐ Pipeline Integration Works seamlessly in Unix pipelines and shell scripts
๐ Session Management Track, load, and reuse past prompts automatically
๐ Telemetry & Analytics Anonymous usage and performance metrics tracking for insights (local storage only, can be disabled)
๐ Web Interface Beautiful UI for interactive prompt refinement and history management
Create a .env file with at least one provider API key:
GOOGLE_API_KEY=your_key_here
ANTHROPIC_API_KEY=your_key_here
OPENAI_API_KEY=your_key_here
Or run the interactive setup:
promptheus auth
Content Generation
promptheus "Write a blog post about async programming"
# System asks: audience, tone, length, key topics
# Generates refined prompt with all specifications
Code Analysis
promptheus -s "Review this function for security issues"
# Skips questions, applies direct enhancement
Interactive Session
promptheus
/set provider anthropic
/set model claude-3-5-sonnet
# Process multiple prompts, switch providers/models with /commands
Pipeline Integration
echo "Create a REST API schema" | promptheus | jq '.refined_prompt'
cat prompts.txt | while read line; do promptheus "$line"; done
Testing & Examples: See sample_prompts.md for test prompts demonstrating adaptive task detection (analysis vs generation).
Telemetry & Analytics
# View telemetry summary (anonymous metrics about usage and performance)
promptheus telemetry summary
# Disable telemetry if desired
export PROMPTHEUS_TELEMETRY_ENABLED=0
# Customize history storage location
export PROMPTHEUS_HISTORY_DIR=~/.custom_promptheus
Promptheus includes a Model Context Protocol (MCP) server that exposes prompt refinement capabilities as standardized tools for integration with MCP-compatible clients.
The Promptheus MCP server provides:
# Start the MCP server
promptheus mcp
# Or run directly with Python
python -m promptheus.mcp_server
Prerequisites:
pip install mcp (included in requirements.txt)refine_promptIntelligent prompt refinement with optional clarification questions.
Inputs:
prompt (required): The initial prompt to refineanswers (optional): Dictionary mapping question IDs to answers {q0: "answer", q1: "answer"}answer_mapping (optional): Maps question IDs to original question textprovider (optional): Override provider (e.g., "google", "openai")model (optional): Override model nameResponse Types:
{"type": "refined", "prompt": "...", "next_action": "..."}: Success with refined prompt{"type": "clarification_needed", "questions_for_ask_user_question": [...], "answer_mapping": {...}}: Questions needed{"type": "error", "error_type": "...", "message": "..."}: Error occurredtweak_promptApply targeted modifications to existing prompts.
Inputs:
prompt (required): Current prompt to modifymodification (required): Description of changes (e.g., "make it shorter")provider, model (optional): Provider/model overridesReturns:
{"type": "refined", "prompt": "..."}: Modified promptlist_modelsDiscover available models from configured providers.
Inputs:
providers (optional): List of provider names to querylimit (optional): Max models per provider (default: 20)include_nontext (optional): Include vision/embedding modelsReturns:
{"type": "success", "providers": {"google": {"available": true, "models": [...]}}}list_providersCheck provider configuration status.
Returns:
{"type": "success", "providers": {"google": {"configured": true, "model": "..."}}}validate_environmentTest environment configuration and API connectivity.
Inputs:
providers (optional): Specific providers to validatetest_connection (optional): Test actual API connectivityReturns:
{"type": "success", "validation": {"google": {"configured": true, "connection_test": "passed"}}}The MCP server supports a structured clarification workflow for optimal prompt refinement:
{
"tool": "refine_prompt",
"arguments": {
"prompt": "Write a blog post about machine learning"
}
}
{
"type": "clarification_needed",
"task_type": "generation",
"message": "To refine this prompt effectively, I need to ask...",
"questions_for_ask_user_question": [
{
"question": "Who is your target audience?",
"header": "Q1",
"multiSelect": false,
"options": [
{"label": "Technical professionals", "description": "Technical professionals"},
{"label": "Business executives", "description": "Business executives"}
]
}
],
"answer_mapping": {
"q0": "Who is your target audience?"
}
}
Use your MCP client's AskUserQuestion tool with the provided questions, then map answers to question IDs.
{
"tool": "refine_prompt",
"arguments": {
"prompt": "Write a blog post about machine learning",
"answers": {"q0": "Technical professionals"},
"answer_mapping": {"q0": "Who is your target audience?"}
}
}
Response:
{
"type": "refined",
"prompt": "Write a comprehensive technical blog post about machine learning fundamentals targeted at software engineers and technical professionals. Include practical code examples and architectural patterns...",
"next_action": "This refined prompt is now ready to use. If the user asked you to execute/run the prompt, use this refined prompt directly with your own capabilities..."
}
The MCP server operates in two modes:
Interactive Mode (when AskUserQuestion is available):
Structured Mode (fallback for all clients):
clarification_needed response with formatted questionsanswer_mapping dictionaryQuestion Format:
Each question in questions_for_ask_user_question includes:
question: The question text to displayheader: Short identifier (Q1, Q2, etc.)multiSelect: Boolean for multi-select optionsoptions: Array of {label, description} for radio/checkbox questionsAnswer Mapping:
q0, q1, q2, etc.{"q0": "answer", "q1": "answer"}answer_mapping preserves original question text for provider contextMCP Package Not Installed
Error: The 'mcp' package is not installed. Please install it with 'pip install mcp'.
Fix: pip install mcp or install Promptheus with dev dependencies: pip install -e .[dev]
Missing Provider API Keys
{
"type": "error",
"error_type": "ConfigurationError",
"message": "No provider configured. Please set API keys in environment."
}
Diagnosis: Use list_providers or validate_environment tools to check configuration status
Provider Misconfiguration
{
"type": "success",
"providers": {
"google": {"configured": false, "error": "GOOGLE_API_KEY not found"},
"openai": {"configured": true, "model": "gpt-4o"}
}
}
Fix: Set missing API keys in .env file or environment variables
Connection Test Failures
{
"type": "success",
"validation": {
"google": {
"configured": true,
"connection_test": "failed: Authentication error"
}
}
}
Fix: Verify API keys are valid and have necessary permissions
Quick reference: promptheus --help
Comprehensive guides:
git clone https://github.com/abhichandra21/Promptheus.git
cd Promptheus
pip install -e ".[dev]"
pytest -q
See CLAUDE.md for detailed development guidance.
MIT License - see LICENSE for details
Contributions welcome! Please see our development guide for contribution guidelines.
Questions? Open an issue | Live demo: promptheus web
Be the first to review this server!
by Modelcontextprotocol ยท Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno ยท Developer Tools
Toleno Network MCP Server โ Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace ยท Developer Tools
Create, build, and publish Python MCP servers to PyPI โ conversationally.