Skip to main content

Universal MCP server for agent self-improvement via evolutionary algorithms

Project description

evolve-mcp

Universal MCP server for agent self-improvement via evolutionary algorithms.

License: AGPL-3.0 Python

What is evolve-mcp?

evolve-mcp is an MCP (Model Context Protocol) server that enables autonomous self-improvement for AI agents. It works with Claude Code, Goose, ChatGPT, and any MCP-compatible client.

Agents evolve by:

  • Mutating and optimizing prompts using genetic algorithms
  • Evaluating fitness through configurable metrics
  • Validating safety before deployment
  • Tracking performance over time

Inspired by Darwin Gödel Machine and AlphaEvolve, it focuses on openness, modularity, and user control with a local-first design.

Features

  • 21 MCP Tools for complete evolution control
  • 5 Mutation Strategies: paraphrase, instruction_add, context_expand, cot_injection, tone_shift
  • Pluggable Fitness Functions with weighted scoring
  • Safety Validation with injection detection
  • Metrics Collection with anomaly detection
  • Works with any MCP client

Quick Start

Installation

git clone https://github.com/privkeyio/evolve-mcp.git
cd evolve-mcp
uv sync --all-extras

Claude Code

claude mcp add evolve-mcp -- python -m mcp_server.server

Goose

# ~/.config/goose/config.yaml
extensions:
  - name: evolve-mcp
    type: mcp
    command: python -m mcp_server.server

Usage Examples

Start an Evolution Cycle

# Use the start_evolution tool
{
  "trigger_type": "manual",
  "config_overrides": {
    "population_size": 50,
    "max_generations": 10
  }
}

Mutate a Prompt

# Use the mutate_prompt tool
{
  "prompt": "You are a helpful assistant",
  "mutation_type": "instruction_add"
}

Check Safety

# Use the check_safety tool
{
  "text": "Your prompt here",
  "include_policy": true
}

MCP Tools Reference

Evolution Lifecycle (4 tools)

Tool Description
start_evolution Begin an evolution cycle
get_evolution_status Check cycle progress
cancel_evolution Stop a running cycle
resume_evolution Resume from checkpoint

Variant Generation (5 tools)

Tool Description
generate_population Create variant population
mutate_prompt Apply specific mutation
crossover_variants Combine two variants
generate_ab_pair Create A/B test pair
analyze_prompt Get complexity metrics

Fitness Evaluation (5 tools)

Tool Description
evaluate_variant Calculate fitness score
explain_fitness Detailed breakdown
register_fitness_function Add custom metric
update_fitness_weights Adjust weights
list_fitness_functions List available

Safety Validation (3 tools)

Tool Description
validate_variant Full safety check
check_safety Quick text check
add_safety_pattern Add custom pattern

Metrics (4 tools)

Tool Description
record_metrics Log performance data
get_metrics_window Aggregated metrics
check_evolution_trigger Should evolve?
detect_anomalies Find anomalies

Configuration

Environment Variables

Variable Default Description
EVOLVE_MCP_POPULATION_SIZE 50 Default population size
EVOLVE_MCP_MAX_GENERATIONS 10 Default max generations
EVOLVE_MCP_FITNESS_THRESHOLD 0.95 Early stop threshold
EVOLVE_MCP_MAX_CONCURRENT_CYCLES 1 Parallel evolution limit
EVOLVE_MCP_CHECKPOINT_DIR .evolve-mcp/checkpoints State storage

Architecture

evolve-mcp/
├── mcp_server/          # MCP integration layer
│   ├── server.py        # FastMCP server with 21 tools
│   ├── state.py         # Cycle state management
│   ├── schemas.py       # Pydantic models
│   ├── serializers.py   # JSON serialization
│   └── errors.py        # Error handling
├── evolution/           # Core evolution engine
│   ├── engine.py        # Genetic algorithm orchestration
│   ├── variants.py      # Mutation & crossover
│   ├── fitness.py       # Fitness evaluation
│   └── interfaces.py    # Abstract interfaces
├── evolve_core/         # Infrastructure
│   ├── safety.py        # Safety validation
│   ├── config.py        # Configuration
│   └── logging_config.py
└── monitoring/          # Metrics collection
    └── metrics.py

Current Status

Production-Ready Components

  • Evolution Engine - Full genetic algorithm orchestration with state persistence
  • Variant Generator - 5 mutation strategies with deterministic mode
  • Fitness Evaluator - Pareto optimization, parallel evaluation
  • Metrics Collector - Multi-agent support, anomaly detection
  • Safety Validator - Injection detection, policy enforcement
  • MCP Server - 21 tools, 6 resources, 3 prompts

Test Coverage

  • 173+ tests passing including integration tests
  • ~95% coverage for core components

Development

# Install dev dependencies
uv sync --all-extras

# Run tests
uv run pytest

# Format code
uv run black .
uv run isort .

# Type check
uv run mypy evolution monitoring evolve_core mcp_server

Contributing

See CONTRIBUTING.md for guidelines.

License

AGPL-3.0 License - see LICENSE for details.

Support

  • GitHub Issues: Report bugs or suggest features
  • See architecture.md for detailed system design

Citation

@software{evolve-mcp,
  title = {evolve-mcp: Universal MCP Server for Agent Self-Improvement},
  author = {PrivKey LLC},
  year = {2025},
  url = {https://github.com/privkeyio/evolve-mcp}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iflow_mcp_privkeyio_evolve_mcp-0.1.0.tar.gz (73.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

iflow_mcp_privkeyio_evolve_mcp-0.1.0-py3-none-any.whl (78.2 kB view details)

Uploaded Python 3

File details

Details for the file iflow_mcp_privkeyio_evolve_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: iflow_mcp_privkeyio_evolve_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 73.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","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}

File hashes

Hashes for iflow_mcp_privkeyio_evolve_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 1c18468beb0b8ca015f131316ff03eda03fe8449d7144b78585b16727d1b076f
MD5 d5eb497c8f187ae539a99e54438cccc8
BLAKE2b-256 63ea57cb6696583ff0cd6337a9b5292dd049dac6e0970a46bace274cd12dd7c1

See more details on using hashes here.

File details

Details for the file iflow_mcp_privkeyio_evolve_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: iflow_mcp_privkeyio_evolve_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 78.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","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}

File hashes

Hashes for iflow_mcp_privkeyio_evolve_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7e32cf5b95e5aecced82bf0d59a86e7049ec2f9bb0e31f2dec1a3c4f2f08f3de
MD5 2daa8244a7b98ed6521508964b0b2a71
BLAKE2b-256 dd630ff35f3bef556535ebb1153c67a29a3eea9c9cf5f7aa93cb23b4a2668ff6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page