Prompt Refiner MCP Server
Helps systematically refine vague ideas into well-structured prompts through guided clarification and export templates.
README
Prompt Refiner MCP Server
A Model Context Protocol server that helps systematically refine vague ideas into well-structured prompts through guided clarification.
Philosophy
This server follows the Sequential Thinking pattern:
- Server provides STRUCTURE - tracks refinement steps, formats output, applies templates
- Claude provides INTELLIGENCE - analyzes ideas, asks questions, decides when complete
- Single focused tool with clear workflow
- Visual progress feedback via colored stderr output
Installation
npm install
npm run build
Usage
Run Locally
node dist/index.js
Add to Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"promptrefiner": {
"command": "node",
"args": ["/Users/nmelo/Desktop/Projects/prompter/dist/index.js"]
}
}
}
Docker (Optional)
docker build -t promptrefiner .
docker run -i promptrefiner
How It Works
The Tool: promptrefiner
Three modes:
-
Start - Begin refinement with original idea
{ originalIdea: "I want to build an API" } -
Clarify - Add clarifications for specific aspects
{ aspect: "purpose", clarification: "REST API for user authentication with JWT tokens" } -
Export - Generate refined prompt using a template
{ exportTemplate: "technical-spec", refinementComplete: true }
Aspects to Clarify
- purpose (critical) - What is this for? What problem does it solve?
- audience (critical) - Who will use this? Skill level?
- constraints (important) - Requirements, limitations, technical constraints
- context (important) - Where/when/how will this be used?
- success (important) - How is success measured? What does "done" look like?
- scope (helpful) - What's in/out of scope?
- style (optional) - Tone, format, style preferences
Templates
- detailed-structured - Comprehensive with sections (Purpose, Audience, Requirements, etc.)
- concise-bullets - Brief bullet-point format
- technical-spec - Formal specification style
- conversational - Natural language paragraph
- minimal - Just the essentials
Example Session
User: Help me refine this idea: "I want to build an API"
Claude: [calls promptrefiner with originalIdea]
šÆ Starting Refinement
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā Original Idea ā
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā¤
ā I want to build an API ā
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
Claude: Let me ask some clarifying questions:
- What will the API do? What's its main purpose?
- Who will use this API?
- Are there any technical requirements?
User: It's for user authentication. Developers will integrate it.
Needs JWT tokens and should handle 1000 requests/sec.
Claude: [calls promptrefiner with aspect="purpose", clarification="..."]
š Step 2: Clarifying Purpose
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā REST API for user authentication ā
ā using JWT tokens ā
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
Step 2/5 | Covered: 1 aspect
[... more clarifications ...]
Claude: [calls promptrefiner with exportTemplate="technical-spec", refinementComplete=true]
⨠Step 5: Exported as technical-spec
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā Template: technical-spec ā
ā Aspects covered: 3 ā
ā Total steps: 5 ā
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
Claude: Here's your refined prompt:
# Specification
**Purpose**: User authentication API using JWT tokens, handling login,
logout, and token refresh
**Target Users**: Developers integrating authentication into their applications
**Technical Requirements**: Handle 1000 requests per second, JWT token-based
authentication
**Deployment Context**: Not specified
**Acceptance Criteria**: Functional implementation
Features
ā Structured workflow - Systematic refinement process ā Multiple clarifications - Can clarify same aspect multiple times (concatenated) ā Visual progress - Colored console output with progress tracking ā Flexible templates - 5 built-in export formats ā Type-safe - Full TypeScript with strict validation ā oneOf schema - Enforces correct tool usage modes
Environment Variables
DISABLE_PROGRESS_LOGGING=true- Disable colored stderr output
Architecture
- 346 lines of TypeScript
- Single tool with oneOf validation
- 5 template functions using template literals
- State tracking via refinement history array
- Duplicate handling - Multiple clarifications per aspect concatenated with
\n\n
Development
npm run watch # Watch mode during development
npm run build # Build for production
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.