Help us improve
Share bugs, ideas, or general feedback.
Evolve plugins for Claude Code - continuous improvement through auto-generated guidelines
npx claudepluginhub agenttoolkit/altk-evolveLearn from conversations with auto-generated entities
Share bugs, ideas, or general feedback.
Evolve is a system designed to help agents improve over time by learning from their trajectories. It uses a combination of an MCP server for tool integration, vector storage for memory, and LLM-based conflict resolution to refine its knowledge base.
Prerequisites:
uv (recommended) or pipgit clone <repository_url>
cd altk-evolve
uv venv --python=3.12 && source .venv/bin/activate
uv sync
For direct OpenAI usage:
export OPENAI_API_KEY=sk-...
For LiteLLM proxy usage and model selection (including global fallback via EVOLVE_MODEL_NAME), see the configuration guide.
Evolve provides both a standard MCP server and a full Web UI (Dashboard & Entity Explorer).
[!IMPORTANT] Building from Source: If you cloned this repository (rather than installing a pre-built package), you must build the UI before it can be served.
cd altk_evolve/frontend/ui npm ci && npm run build cd ../../../See
altk_evolve/frontend/ui/README.mdfor more frontend development details.
The easiest way to start both the MCP Server (on standard input/output) and the HTTP UI backend is to run the module directly:
uv run python -m evolve.frontend.mcp
This will start the UI server in the background on port 8000 and the MCP server in the foreground. You can then access the UI locally by opening your browser to:
http://127.0.0.1:8000/ui/
If you only want to access the Web UI and API (without the MCP server stdio blocking the terminal), you can run the FastAPI application directly using uvicorn:
uv run uvicorn evolve.frontend.mcp.mcp_server:app --host 127.0.0.1 --port 8000
Then navigate to http://127.0.0.1:8000/ui/.
If you're attaching Evolve to an MCP client that requires a direct command (like Claude Desktop):
uv run fastmcp run altk_evolve/frontend/mcp/mcp_server.py --transport stdio
Or for SSE transport:
uv run fastmcp run altk_evolve/frontend/mcp/mcp_server.py --transport sse --port 8201
Verify it's running:
npx @modelcontextprotocol/inspector@latest http://127.0.0.1:8201/sse --cli --method tools/list
Available tools:
get_entities(task: str, entity_type: str): Get relevant entities for a specific task, filtered by type (e.g., 'guideline', 'policy').get_guidelines(task: str): Get relevant guidelines for a specific task (backward compatibility alias).save_trajectory(trajectory_data: str, task_id: str | None): Save a conversation trajectory and generate new guidelines.create_entity(content: str, entity_type: str, metadata: str | None, enable_conflict_resolution: bool): Create a single entity in the namespace.delete_entity(entity_id: str): Delete a specific entity by its ID.Evolve automatically tracks the origin of every guideline it generates or stores. Every tip entity contains metadata identifying its source:
creation_mode: Identifies how the tip was created (auto-phoenix via trace observability, auto-mcp via trajectory saving tools, or manual).source_task_id: The ID of the original trace or task that inspired the tip, providing full audibility.See the Low-Code Tracing Guide for more details.
Evolve is an active project, and real‑world usage helps guide its direction.
If Evolve is useful or aligned with your work, consider giving the repo a ⭐ — it helps others discover it.
If you’re experimenting with Evolve or exploring on‑the‑job learning for agents, feel free to open an issue or discussion to share use cases, ideas, or feedback.