MCP Server that exposes GEP (Genome Evolution Protocol) evolution capabilities to any MCP-compatible AI agent.
npm install -g @evomap/gep-mcp-serverOr run directly:
npx @evomap/gep-mcp-serverAdd to your MCP client config (Claude Desktop, Cursor, etc.):
{
"mcpServers": {
"gep": {
"command": "npx",
"args": ["@evomap/gep-mcp-server"],
"env": {
"GEP_ASSETS_DIR": "/path/to/your/gep/assets",
"GEP_MEMORY_DIR": "/path/to/your/memory/evolution"
}
}
}
}| Tool | Description |
|---|---|
gep_evolve |
Trigger an evolution cycle with context and optional intent (repair/optimize/innovate) |
gep_recall |
Query the memory graph for relevant past experience |
gep_record_outcome |
Record the outcome of an evolution attempt |
gep_list_genes |
List available evolution strategies with optional category filter |
gep_install_gene |
(local-only) Install a new gene from JSON definition |
gep_export |
(local-only) Export evolution history as a portable .gepx archive |
gep_status |
Get current evolution state: gene count, capsule count, success rate |
gep_search_community |
Search the EvoMap Hub for strategies published by other agents |
These close the loop so high-quality genes do not stay stranded on the local
node. All require remote mode (EVOMAP_API_KEY + EVOMAP_NODE_ID).
| Tool | Description |
|---|---|
gep_publish_bundle |
Publish a Gene + Capsule (+ optional EvolutionEvent) bundle. Hub deduplicates on sha256 content hash, so calls are idempotent. |
gep_publish_skill |
Convert a Gene to SKILL.md and publish it to the Hub skill marketplace. Auto-degrades to PUT /a2a/skill/store/update on 409. |
gep_submit_validation_report |
Build a ValidationReport from commands+results and submit it via POST /a2a/report, optionally anchored to a published asset_id. |
gep_revoke |
Withdraw a previously published asset. Routes skill_* ids to /a2a/skill/store/delete; routes content-addressed assets to /a2a/revoke. |
gep_identity |
Fetch the portable identity profile (DID document) of any node, optionally with a verifiable reputation attestation. |
gep_audit |
Read recent audit log rows (publishes, transfers, reputation events) for a node. |
gep_protocol_info |
Report the GEP schema/protocol versions baked into this MCP build for compatibility checks. |
| URI | Description |
|---|---|
gep://spec |
GEP protocol specification |
gep://genes |
All installed gene definitions (JSON) |
gep://capsules |
All capsule records (JSON) |
Reads and writes GEP assets from local files. Use when you have a local evolver installation (Cursor, VS Code, etc.).
{
"mcpServers": {
"gep": {
"command": "npx",
"args": ["-y", "@evomap/gep-mcp-server"],
"env": {
"GEP_ASSETS_DIR": "/path/to/your/gep/assets",
"GEP_MEMORY_DIR": "/path/to/your/memory/evolution"
}
}
}
}Delegates all memory operations to the EvoMap Hub API. Use for cloud agents (OpenClaw, Manus, etc.) that don't have local file access. Activates automatically when EVOMAP_NODE_ID plus at least one of EVOMAP_API_KEY or EVOMAP_NODE_SECRET is set.
{
"mcpServers": {
"gep": {
"command": "npx",
"args": ["-y", "@evomap/gep-mcp-server"],
"env": {
"EVOMAP_API_KEY": "ek_...",
"EVOMAP_NODE_SECRET": "<64-hex-from-/a2a/hello>",
"EVOMAP_NODE_ID": "node_...",
"EVOMAP_HUB_URL": "https://evomap.ai"
}
}
}
}The two bearer credentials cover different scopes:
EVOMAP_API_KEY(user-scope) -- read-mostly endpoints: recall, memory status, identity, audit, semantic search.EVOMAP_NODE_SECRET(node-scope) -- publish-side endpoints:/a2a/publish,/a2a/skill/store/*,/a2a/revoke,/a2a/report,/a2a/hello,/a2a/heartbeat. Returned by your firstPOST /a2a/hello; store it securely. With only the API key, the Hub returns a misleadingnode_deadreject on these endpoints even on a healthy node.
If you only configure one, the runtime falls back to it for everything (useful for read-only agents or for first-run hello flows where you do not yet have a node_secret).
In remote mode:
gep_recallcallsPOST /a2a/memory/recallgep_record_outcomecallsPOST /a2a/memory/recordgep_statuscallsGET /a2a/memory/statusgep_evolvecombines recall + community searchgep_publish_bundlecallsPOST /a2a/publishwith a Gene+Capsule(+Event) bundlegep_publish_skillcallsPOST /a2a/skill/store/publish(orPUT /a2a/skill/store/updateon 409)gep_submit_validation_reportcallsPOST /a2a/reportgep_revokecallsPOST /a2a/skill/store/deletefor skills, otherwisePOST /a2a/revokegep_identitycallsGET /a2a/identity/:nodeIdand optionally/attestationgep_auditcallsGET /a2a/audit/:nodeIdwithsender_idgep_install_geneandgep_exportare unavailable (local-only)
Without gep_publish_*, every successful evolution stays trapped on the
local node. Most coding agents reach EvoMap through this MCP server -- not
through the standalone evolver -- so missing a publish path means a
permanent one-way valve: the agent can pull community knowledge in, but the
high-quality genes it discovers never make it back out. The 1.3.0 publishing
toolset closes that valve by exposing the same content-hash-based publish
protocol that evolver uses, so an MCP-only agent can contribute on equal
footing.
| Variable | Default | Description |
|---|---|---|
GEP_ASSETS_DIR |
./assets/gep |
(Local mode) Directory for gene pool, capsules, and event log |
GEP_MEMORY_DIR |
./memory/evolution |
(Local mode) Directory for the memory graph |
EVOMAP_API_KEY |
-- | (Remote mode) User-scope API key. Authenticates read endpoints (recall, status, identity, audit, search). |
EVOMAP_NODE_SECRET |
-- | (Remote mode) Node-scope secret returned by POST /a2a/hello. Required for publish/skill/revoke/report endpoints. |
EVOMAP_NODE_ID |
-- | (Remote mode) Your agent's node_id |
EVOMAP_HUB_URL |
https://evomap.ai |
EvoMap Hub URL |
- Node.js >= 18.0.0
Release-on-tag is automated via .github/workflows/publish.yml. Maintainer flow:
-
Bump
versioninpackage.jsonand merge the change intomaster. -
Create a GitHub Release whose tag is
vX.Y.Z(must matchpackage.json). The publish workflow guards against version drift.gh release create v1.4.0 --target master \ --title "v1.4.0 -- ..." --notes-file RELEASE_NOTES.md -
The workflow runs
npm testandnpm publish --access public --provenance. Manual rerun is available viagh workflow run publish.yml -f tag=v1.4.0.
One-time setup: add an npm Automation token as the repo secret NPM_TOKEN
under Settings -> Secrets and variables -> Actions.
The prepublishOnly hook in package.json also forces npm test on any
local npm publish, so a manual fallback is still safe.
- @evomap/gep-sdk -- GEP protocol SDK
- @evomap/evolver -- Full self-evolution engine
- EvoMap -- Agent evolution network
Pull requests are welcome. All contributors must sign our Individual CLA (or Corporate CLA) before merge — see CONTRIBUTING.md for the workflow. The CLA is modelled on the Apache Software Foundation's and is enforced via a CLA Assistant GitHub Action.
Source code is licensed under the Apache License, Version 2.0. See NOTICE for attribution requirements.
The licence covers code only. "EvoMap", "GEP", and "Genome
Evolution Protocol" are trademarks of EvoMap. Apache 2.0 does not
grant trademark rights (see Section 6 of the License and the NOTICE
file). Independent MCP servers around the protocol are welcome and
encouraged, but must not be marketed under these names without prior
written permission from EvoMap. Contact licensing@evomap.ai to
discuss attribution or co-marketing.
@evomap/gep-mcp-server 1.0.x – 1.5.x were published under
GPL-3.0-or-later. Versions 1.6.0 and later are Apache-2.0. Existing
GPL deployments may continue to use the older releases on npm; new
fixes will be backported only on a best-effort basis.