← Back to search

Promptheus

abhichandra21 Scanned 22h ago

AI-powered prompt refinement with adaptive questioning and multi-provider support (6+ LLM backends)

C
72.8 / 100

Versions

0.3.1latest
first seen May 19, 2026
PermissionsTool SafetyAuthAnnotationsCode QualityStabilitySpecVuln HistoryAuthorTransparencyCommunity

Tools 5

refine_prompt
annotations: none low

Refine a user prompt using AI-powered prompt engineering. Use the AskUserQuestion tool to clarify requirements when this tool returns type="clarification_needed". The response includes formatted questions ready to pass to AskUserQuestion. Workflow: 1. Call refine_prompt with just the prompt parameter 2. If response type is "clarification_needed": - Use the AskUserQuestion tool with the questions from "questions_for_ask_user_question" - Map the user's answers to question IDs (q0, q1, q2, etc.) - Call refine_prompt again with both prompt and answers dict 3. If response type is "refined": - If user asked to "execute" or "run" the prompt, use the refined prompt with your native capabilities to generate content - Otherwise, present the refined prompt to the user for review - Note: Promptheus only refines prompts, it does not execute them Args: prompt: The initial prompt to refine. answers: Optional dictionary mapping question IDs to answers. answer_mapping: Optional dictionary mapping question IDs to original question text. Recommended when providing answers. provider: Override provider (e.g. 'google'). model: Override model name. Returns: One of: - {"type": "refined", "prompt": "..."} - Success - {"type": "clarification_needed", "questions_for_ask_user_question": [...], ...} - Need answers - {"type": "error", "error_type": "...", "message": "..."} - Error Examples: # Simple refinement result = refine_prompt("Write a blog post about AI") # May return refined prompt or request clarification # With clarification result1 = refine_prompt("Write a blog post") # Returns: {"type": "clarification_needed", ...} # Then use AskUserQuestion and: result2 = refine_prompt( "Write a blog post", answers={"q0": "Technical audience", "q1": "Professional tone"} ) # Returns: {"type": "refined", "prompt": "..."}

model string prompt str answers string provider string answer_mapping string
tweak_prompt
annotations: none low

Make a specific modification to an existing prompt. This tool applies surgical edits to prompts without changing their core intent. Use this when you have a refined prompt and want to make targeted adjustments. Args: prompt: The current prompt to modify. modification: Description of what to change (e.g. "make it shorter"). provider: Override provider. model: Override model name. Returns: {"type": "refined", "prompt": "..."} - Modified prompt {"type": "error", ...} - If modification fails Examples: tweak_prompt( prompt="Write a technical blog post about Docker", modification="make it more beginner-friendly" )

model string prompt str provider string modification str
list_models
annotations: none low

List available models from configured AI providers. Shows which models are available for each provider you have API keys for. Useful for discovering new models or checking model availability. Args: providers: List of provider names to query (e.g. ["google"]). Queries all if not specified. limit: Max models per provider (default: 20). include_nontext: Include non-text models (default: False). Returns: { "type": "success", "providers": { "google": { "available": true, "models": [{"id": "...", "name": "..."}], "total_count": 15, "showing": 10 }, ... } } Examples: list_models() # All providers, text models only list_models(providers=["google", "openai"], limit=10) list_models(include_nontext=True) # Include vision/embedding models

limit int providers string include_nontext bool
list_providers
annotations: none low

List all configured AI providers and their status. Shows which providers have valid API keys configured and are ready to use. Use this to check your environment setup before calling other tools. Returns: { "type": "success", "providers": { "google": {"configured": true, "model": "gemini-2.0-flash-exp"}, "openai": {"configured": false, "error": "No API key found"}, ... } } Example: list_providers() # Check which providers are ready

validate_environment
annotations: none low

Validate environment configuration and optionally test API connections. Checks that API keys are configured correctly and can connect to provider APIs. Use this for troubleshooting configuration issues. Args: providers: List of provider names to validate. Validates all if not specified. test_connection: Whether to test API connectivity (default: False). Returns: { "type": "success", "validation": { "google": { "configured": true, "connection_test": "passed" (if test_connection=True) }, ... } } Examples: validate_environment() # Quick config check validate_environment(test_connection=True) # Full API test validate_environment(providers=["openai"], test_connection=True)

providers string test_connection bool

Permissions 4

shell high
Server uses shell capabilities via: subprocess
network medium
Server uses network capabilities via: aiohttp, fetch(), httpx, socket
filesystem low
Server uses filesystem capabilities via: open(), os, pathlib, shutil, tempfile
env_vars low
Server uses env_vars capabilities via: os.environ, os.getenv()

Scan Findings 31

medium
Vulnerable dependency: mcp@1.0.0 (PYSEC-2026-3482) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.0.0 (PYSEC-2026-3483) dependency_analyzer · 95%
low
Tool 'refine_prompt' has no annotations annotation_checker · 100%
low
Tool 'tweak_prompt' has no annotations annotation_checker · 100%
low
Tool 'list_models' has no annotations annotation_checker · 100%
low
Tool 'list_providers' has no annotations annotation_checker · 100%
low
Tool 'validate_environment' has no annotations annotation_checker · 100%
info
Sandbox failed to start for behavioral verification behavioral_verifier · 100%
medium
Vulnerable dependency: python-dotenv@1.2.0 (GHSA-mf9w-mj56-hr94) dependency_analyzer · 95%
medium
Vulnerable dependency: python-dotenv@1.2.0 (PYSEC-2026-2270) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.0.0 (GHSA-3qhf-m339-9g5v) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.0.0 (GHSA-9h52-p55h-vw2f) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.0.0 (GHSA-j975-95f5-7wqh) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.0.0 (GHSA-jpw9-pfvf-9f58) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.0.0 (GHSA-vj7q-gjh5-988w) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.0.0 (PYSEC-2026-1616) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.0.0 (PYSEC-2026-1617) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.0.0 (PYSEC-2026-1618) dependency_analyzer · 95%
info
Tool: refine_prompt manifest_parser · 90%
info
Tool: tweak_prompt manifest_parser · 90%
info
Tool: list_models manifest_parser · 90%
info
Tool: list_providers manifest_parser · 90%
info
Tool: validate_environment manifest_parser · 90%
info
Required env vars (14) manifest_parser · 80%
info
Sandbox failed to start for output poisoning scan output_poisoning · 100%
medium
Permission: network access detected permission_analyzer · 90%
low
Permission: filesystem access detected permission_analyzer · 90%
high
Permission: shell access detected permission_analyzer · 95%
low
Permission: env_vars access detected permission_analyzer · 90%
info
SBOM generated: 79 components sbom_generator · 100%
medium
No build provenance detected (SLSA L0) slsa_assessor · 90%