Skip to main content
Glama
nmelo

Prompt Refiner MCP Server

by nmelo

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

Related MCP server: MCP Prompt Cleaner

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:

  1. Start - Begin refinement with original idea

    { originalIdea: "I want to build an API" }
  2. Clarify - Add clarifications for specific aspects

    {
      aspect: "purpose",
      clarification: "REST API for user authentication with JWT tokens"
    }
  3. 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

  1. detailed-structured - Comprehensive with sections (Purpose, Audience, Requirements, etc.)

  2. concise-bullets - Brief bullet-point format

  3. technical-spec - Formal specification style

  4. conversational - Natural language paragraph

  5. 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

Available Tools

1 tool
promptrefinerA

A tool for systematically refining vague ideas into well-structured prompts.

This tool helps you work with users to transform rough ideas into clear, actionable prompts through a structured clarification process.

Workflow:

  1. START: Submit the user's original idea

  2. CLARIFY: Ask the user questions and submit clarifications for key aspects:

    • purpose: What is this for? What problem does it solve?

    • audience: Who will use this? What's their skill level?

    • constraints: What are the requirements, limitations, or technical constraints?

    • context: Where/when/how will this be used? What environment?

    • success: How will success be measured? What does "done" look like?

    • scope: What's included? What's explicitly out of scope?

    • style: What tone, format, or style is needed?

  3. EXPORT: When refinement is complete, export using a template

Key aspects to explore (ask about these):

  • purpose (critical)

  • audience (critical)

  • constraints (important)

  • context (important)

  • success (important)

  • scope (helpful)

  • style (optional)

You decide what questions to ask based on what's unclear in the idea. You decide when enough clarification has been gathered. The tool just tracks your refinement steps and formats the output.

Available export 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

ParametersJSON Schema
NameRequiredDescriptionDefault
aspectNoMode 2: Which aspect to clarify (use with clarification)
originalIdeaNoMode 1: Start refinement with the initial rough idea. Use this alone to begin.
clarificationNoMode 2: The clarification content for the aspect (use with aspect)
exportTemplateNoMode 3: Template to export final prompt (use with refinementComplete)
refinementCompleteNoMode 3: Set to true to export (use with exportTemplate)

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses that the tool 'tracks your refinement steps and formats the output' and places control of the process on the user. It doesn't mention side effects or persistence, but it clearly outlines the interaction model and templates. This goes beyond a tautological statement and provides meaningful behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is longer than average, but it is well-structured with a workflow, key aspects, and template list. The main purpose is front-loaded, and each section earns its place. Some redundancy exists (e.g., aspect list repeated in workflow and key aspects), but it remains readable and informative rather than bloated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description explains the modes and templates but is vague about the return valueβ€”what exactly the refined prompt looks like or how to interpret the output. Since there is no output schema, this is a gap. Additionally, the stateful nature of 'tracks your refinement steps' is implied but not explicitly described (e.g., how to chain multiple CLARIFY calls). Overall, it's useful but not fully complete for a tool with multiple modes and no output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers 100% of parameters, but the description adds significant value by grouping parameters into modes (Mode 1, 2, 3), explaining the meaning of each aspect, and listing available export templates with descriptions. This contextual mapping helps an agent understand how to combine parameters correctly, which the bare schema does not convey.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'systematically refining vague ideas into well-structured prompts.' It specifies the action (refining), the resource (ideas/prompts), and provides a structured workflow. Even without sibling tools, it defines its unique role.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear usage context through a step-by-step workflow (START, CLARIFY, EXPORT), details on which parameters to use for each mode, and guidance on when to ask questions. It doesn't explicitly mention exclusions or alternatives (no siblings exist), but the context is sufficient for an agent to decide when to invoke the tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool updatev0.1.0
    • First observedpromptrefiner

TDQS

A4.2/5.0

Scored across 1 tool

Disambiguation5/5

With only a single tool, there is no possibility of confusion between tools. The tool's purpose is clearly defined and distinct.

Naming Consistency5/5

The single tool name 'promptrefiner' is clear and descriptive. While it doesn't follow a verb_noun pattern, consistency is trivially maintained with only one tool.

Tool Count3/5

The server has exactly one tool, which feels thin. However, the tool's purpose is narrowly scoped (prompt refinement), and the single tool encapsulates a complete workflow, making the count borderline but not extreme.

Completeness4/5

The tool covers the full prompt refinement lifecycle: start, clarify, and export with multiple templates. It appears functionally complete for its domain, though additional utilities (e.g., listing previous refinements) could be imagined.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Intelligently engineers and optimizes prompts for Claude Code with automatic language detection, task type recognition, and interactive refinement capabilities. Works entirely offline without external API dependencies to transform natural language requests into structured, Claude Code-optimized prompts.
    4
    12
    MIT
  • F
    license
    A
    quality
    C
    maintenance
    Refines and improves AI prompts using workspace-aware context from your project's tech stack, structure, and dependencies. Includes tools to analyze prompt quality and generate well-structured prompts from raw ideas.
    4
    209 npm
    5
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Refines and optimizes prompts for LLMs through adaptive questioning and intelligent clarification workflows. Supports multiple AI providers (Google, OpenAI, Anthropic, Groq, Qwen) with interactive prompt enhancement and targeted modifications.
    17
    MIT