Skip to main content
Glama
erichowens

Prompt Learning MCP Server

by erichowens

Prompt Learning MCP Server

Stateful prompt optimization that learns over time.

An MCP (Model Context Protocol) server that optimizes your prompts using research-backed techniques (APE, OPRO, DSPy patterns) and learns from performance history via embedding-based retrieval.

Features

  • 🧠 Smart Optimization: Uses actual LLM-based evaluation, not heuristics

  • πŸ“š Learns Over Time: Stores prompt performance in vector database

  • πŸ” RAG-Powered: Retrieves similar high-performing prompts

  • ⚑ Pattern-Based Quick Wins: Instant improvements without API calls

  • πŸ“Š Analytics: Track what's working across domains

Quick Install

curl -fsSL https://someclaudeskills.com/install/prompt-learning.sh | bash

Or manually:

cd ~/mcp-servers/prompt-learning npm install npm run build npm run setup

Requirements

  • Node.js 18+

  • Docker (for Qdrant and Redis)

  • OpenAI API key (for embeddings)

Usage

Once installed, use these tools in Claude Code:

optimize_prompt

Optimize a prompt using pattern-based and RAG-based techniques:

"optimize this prompt: summarize the document"

Returns the optimized prompt with improvement details.

retrieve_prompts

Find similar high-performing prompts:

"find similar prompts for: code review feedback"

record_feedback

Record how a prompt performed (enables learning):

"record that my last prompt succeeded with quality score 0.9"

suggest_improvements

Get quick suggestions without full optimization:

"suggest improvements for this prompt: [your prompt]"

get_analytics

View performance trends:

"show prompt analytics for the last 30 days"

How It Works

Cold Start (No History)

  1. Pattern-based improvements: Adds structure, chain-of-thought, constraints

  2. OPRO-style iteration: LLM generates candidates, evaluates, selects best

  3. APE-style generation: Creates multiple instruction variants

Warm Start (With History)

  1. Embed the prompt: Creates vector representation

  2. Retrieve similar: Finds high-performing prompts from database

  3. Learn from winners: Synthesizes improvements from what worked

  4. Iterate with feedback: Uses evaluation to guide optimization

Evaluation

All prompts are scored by an LLM evaluator on:

  • Clarity (25%): How unambiguous

  • Specificity (25%): Appropriate guidance level

  • Completeness (20%): Covers all requirements

  • Structure (15%): Well-organized

  • Effectiveness (15%): Likely to produce desired output

Architecture

Claude Code β”‚ β”‚ MCP Protocol β–Ό β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ prompt-learning MCP Server β”‚ β”‚ β”‚ β”‚ Tools: β”‚ β”‚ β€’ optimize_prompt β”‚ β”‚ β€’ retrieve_prompts β”‚ β”‚ β€’ record_feedback β”‚ β”‚ β€’ suggest_improvements β”‚ β”‚ β€’ get_analytics β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”Œβ”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β” β–Ό β–Ό β”Œβ”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β” β”‚Qdrant β”‚ β”‚ Redis β”‚ β”‚(Vectorβ”‚ β”‚(Cache)β”‚ β”‚ DB) β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”˜

Configuration

Claude Code Config (~/.claude.json)

{ "mcpServers": { "prompt-learning": { "command": "node", "args": ["~/mcp-servers/prompt-learning/dist/index.js"], "env": { "VECTOR_DB_URL": "http://localhost:6333", "REDIS_URL": "redis://localhost:6379", "OPENAI_API_KEY": "sk-..." } } } }

Environment Variables

Variable

Default

Description

VECTOR_DB_URL

http://localhost:6333

Qdrant server URL

REDIS_URL

redis://localhost:6379

Redis server URL

OPENAI_API_KEY

(required)

For embeddings

Development

# Install dependencies npm install # Run in development mode npm run dev # Build for production npm run build # Run setup (starts Docker, initializes DB) npm run setup # Run tests npm test

Troubleshooting

MCP Server Not Starting

Check Docker containers are running:

docker ps | grep prompt-learning

Vector DB Connection Failed

# Check Qdrant health curl http://localhost:6333/health # Restart Qdrant docker restart prompt-learning-qdrant

No Improvements Seen

  • Ensure OPENAI_API_KEY is set correctly

  • Check Claude Code logs: ~/.claude/logs/mcp.log

  • Try with a simple prompt first

Research Foundation

This server implements techniques from:

  • APE (Zhou et al., 2022): Automatic Prompt Engineer

  • OPRO (Yang et al., 2023): Optimization by Prompting

  • DSPy (Khattab et al., 2023): Programmatic prompt optimization

  • Contextual Retrieval (Anthropic, 2024): Enhanced embedding retrieval

License

MIT

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/erichowens/prompt-learning-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server