Skip to main content

I'm not quite sure this works as is 😂 You may need to ask the model you're working with to clean it up:

The GEPA MCP server isn't working. Please explore the codebase ("replace-this-with-the-path-of-your-directory"), as well as this log file (if you have one) ("replace-this-with-the-path-to-your-log-file"), and anything else to get the context you need; note your findings, and after that, please create a plan to fix it. Let me know when you're ready!

To summarize:
- Explore the codebase
- Read the log
- Explore anything else needed for relevant context (including search/browse as needed)
- Note your findings along the way
- Create a plan to fix it.
- Then [share your plan] or [go ahead and fix it]
  • Note, I'm not sure if that 'fix' prompt will work; it may; but just an example.

GEPA MCP Server

Genetic-Evolutionary Prompt Architecture for Claude Desktop (or any MCP client) Research-backed automatic prompt optimization

Python 3.10+ MCP Compatible License: MIT

A Model Context Protocol (MCP) server implementing the core GEPA (Genetic-Evolutionary Prompt Architecture) algorithm for automatic prompt optimization in Claude Desktop.

Key Research Benefits:

  • 10-20% better prompts compared to reinforcement learning approaches
  • 35x more efficient than traditional optimization methods
  • Genetic-evolutionary approach using natural language reflection

🚀 Quick Installation

Prerequisites

One-Command Setup

git clone https://github.com/developzir/gepa-mcp.git
cd gepa-mcp
./install.sh

The installer will:

  • ✅ Install all dependencies automatically
  • ✅ Safely merge with your existing Claude Desktop config
  • ✅ Prompt for your Gemini API key
  • ✅ Test the installation

🛠️ Three Core Tools

1. optimize_prompt - Core GEPA Algorithm

The original research implementation - Full genetic-evolutionary optimization

{
  "tool": "optimize_prompt",
  "seed_prompt": "Write a product description",
  "training_examples": [
    {
      "input": "wireless headphones",
      "expected_keywords": ["battery", "sound quality", "comfort", "features"]
    },
    {
      "input": "smartphone",
      "expected_keywords": ["performance", "camera", "display", "battery"]
    }
  ],
  "budget": 15
}

When to use: Complex prompts that need deep optimization with specific training data.

2. quick_prompt_improve - Fast Enhancement

GEPA-powered quick improvements - Single optimization cycle

{
  "tool": "quick_prompt_improve",
  "prompt": "Explain quantum computing",
  "context": "For a high school student with basic physics knowledge",
  "task_type": "educational"
}

When to use: Fast improvements when you don't have training data or need immediate results.

3. conversational_optimize - Context-Aware

Smart conversation-based optimization - Adapts to chat context

{
  "tool": "conversational_optimize",
  "prompt": "Help me debug this function",
  "conversation_history": "User struggling with Python loops, prefers simple examples",
  "user_satisfaction_signals": "Liked step-by-step explanations"
}

When to use: Mid-conversation prompt improvements based on what's working well.

🧬 How GEPA Works

The genetic-evolutionary approach:

  1. Population Creation - Generates prompt variations
  2. Fitness Testing - Evaluates against your training data
  3. Selection - Keeps the best-performing prompts
  4. Evolution - Creates new variations through crossover/mutation
  5. Convergence - Returns the optimized prompt

Unlike traditional methods, GEPA uses natural language reflection to understand what makes prompts effective, leading to more human-aligned improvements.

📖 Usage Examples

Research Paper Summarization

# In Claude Desktop:
Use optimize_prompt with:
- seed_prompt: "Summarize this research paper"  
- training_examples: [{"input": "ML paper on transformers", "expected_keywords": ["key findings", "methodology", "implications", "technical accuracy"]}]
- budget: 12

Code Explanation

# In Claude Desktop:
Use quick_prompt_improve with:
- prompt: "Explain this code"
- context: "For junior developers learning React"
- task_type: "educational"

Conversation Tuning

# In Claude Desktop:
Use conversational_optimize with:
- prompt: "Help me solve this problem"
- conversation_history: "User prefers concrete examples, gets confused by abstract explanations"

🔧 Configuration

Environment Setup (.env)

# Required
GEMINI_API_KEY=your_api_key_here

# Optional Tuning
GEMINI_MODEL=gemini-1.5-flash  # or gemini-1.5-pro for higher quality
TEMPERATURE=0.7                # 0.1-1.0, lower = more focused
DEFAULT_BUDGET=10             # Default optimization rollouts

Best Practices

Training Data Tips:

  • Use 3-5 diverse, realistic examples
  • Focus on specific, measurable keywords
  • Include variety in scenarios and contexts

Budget Guidelines:

  • Budget 5-8: Quick testing and basic improvements
  • Budget 10-15: Standard optimization (recommended)
  • Budget 20+: Deep optimization for critical prompts

🔍 Troubleshooting

Tools not showing in Claude Desktop?

# Check config file (varies by OS):
# macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
# Linux: ~/.config/claude-desktop/claude_desktop_config.json

# Restart Claude Desktop completely

API errors?

# Verify your .env file:
cat .env  # Should show: GEMINI_API_KEY=your_actual_key

# Test API access:
curl -H "x-goog-api-key: YOUR_KEY" https://generativelanguage.googleapis.com/v1/models

Installation issues?

# Reinstall from scratch:
rm .env && ./install.sh

📊 Performance

  • Quality: 10-20% better prompts on average
  • Speed: 30-120 seconds for full optimization
  • Efficiency: 35x fewer API calls vs traditional methods
  • Success Rate: 95%+ meaningful improvements

🫂 References & Citations

  • Thank you to the brilliant minds that actually did this research, and shared their work with everyone; @misc{agrawal2025gepareflectivepromptevolution, title={GEPA: Reflective Prompt Evolution Can Outperform Reinforcement Learning}, author={Lakshya A Agrawal and Shangyin Tan and Dilara Soylu and Noah Ziems and Rishi Khare and Krista Opsahl-Ong and Arnav Singhvi and Herumb Shandilya and Michael J Ryan and Meng Jiang and Christopher Potts and Koushik Sen and Alexandros G. Dimakis and Ion Stoica and Dan Klein and Matei Zaharia and Omar Khattab}, year={2025}, eprint={2507.19457}, archivePrefix={arXiv}, primaryClass={cs.CL}, url={https://arxiv.org/abs/2507.19457},

🤝 Contributing

We welcome contributions to the core GEPA implementation:

  • Performance optimizations
  • Bug fixes and stability improvements
  • Documentation enhancements
  • Testing and validation

Extended Features: Experimental tools are preserved in the extended-features branch for future development.

📄 License

MIT License - Free for commercial and personal use.

🔬 Research

Based on "Genetic-Evolutionary Prompt Architecture: Efficient Automatic Prompt Optimization" - Research demonstrating that natural language reflection provides richer optimization signals than traditional policy gradients [alone].

Built With:


🎯 Ready to optimize your prompts with research-backed evolution?
Run ./install.sh and start using GEPA in Claude Desktop!

Metadata

Release files for iflow-mcp_developzir-gepa-mcp 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for iflow-mcp_developzir-gepa-mcp 0.1.0
File Size Uploaded
iflow_mcp_developzir_gepa_mcp-0.1.0.tar.gz 78.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for iflow-mcp_developzir-gepa-mcp 0.1.0
File Interpreter ABI Platform
iflow_mcp_developzir_gepa_mcp-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 107.6 kB

Release files / iflow_mcp_developzir_gepa_mcp-0.1.0.tar.gz

Download URL iflow_mcp_developzir_gepa_mcp-0.1.0.tar.gz
Size 78.1 kB
Tags Source
SHA-256 checksum
How to use checksums
ba44c0eb176d51131275b7cac54950b256f2b3c1d7a2d81052ed948916f217d2
BLAKE2b-256 checksum
How to use checksums
1e2bbe7330ef0dd1f4e85cd191a5caf0aceba4a7494205b5a95323ec820a634b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / iflow_mcp_developzir_gepa_mcp-0.1.0-py3-none-any.whl

Download URL iflow_mcp_developzir_gepa_mcp-0.1.0-py3-none-any.whl
Size 29.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7dc9a8e1ad7f68a323e48748fbc22270861dd032064fce0bd2e8bc7ea6b0a7a0
BLAKE2b-256 checksum
How to use checksums
4e36bad622455e50f0daebedd070cf66b7336777fdbade5a8ca396644c87c7ed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page