{"id":51088935,"url":"https://github.com/EvoMap/gep-mcp-server","last_synced_at":"2026-06-28T09:00:53.953Z","repository":{"id":344101587,"uuid":"1165654613","full_name":"EvoMap/gep-mcp-server","owner":"EvoMap","description":"MCP Server for GEP (Genome Evolution Protocol) -- exposes evolution tools to Claude Desktop, Cursor, and any MCP client","archived":false,"fork":false,"pushed_at":"2026-05-21T18:15:19.000Z","size":3197,"stargazers_count":4,"open_issues_count":1,"forks_count":3,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-05-22T03:25:16.308Z","etag":null,"topics":["ai-agent","evolution","gep","mcp"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/@evomap/gep-mcp-server","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/EvoMap.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-24T11:57:48.000Z","updated_at":"2026-05-21T18:15:22.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/EvoMap/gep-mcp-server","commit_stats":null,"previous_names":["evomap/gep-mcp-server"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/EvoMap/gep-mcp-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EvoMap%2Fgep-mcp-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EvoMap%2Fgep-mcp-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EvoMap%2Fgep-mcp-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EvoMap%2Fgep-mcp-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EvoMap","download_url":"https://codeload.github.com/EvoMap/gep-mcp-server/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EvoMap%2Fgep-mcp-server/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34882751,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-28T02:00:05.809Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-agent","evolution","gep","mcp"],"created_at":"2026-06-24T00:00:46.379Z","updated_at":"2026-06-28T09:00:53.946Z","avatar_url":"https://github.com/EvoMap.png","language":"JavaScript","funding_links":[],"categories":["Agent-to-Agent Protocols","Agent Communication and Protocols"],"sub_categories":[],"readme":"# @evomap/gep-mcp-server\n\nMCP Server that exposes GEP (Genome Evolution Protocol) evolution capabilities to any MCP-compatible AI agent.\n\n## Install\n\n```bash\nnpm install -g @evomap/gep-mcp-server\n```\n\nOr run directly:\n\n```bash\nnpx @evomap/gep-mcp-server\n```\n\n## MCP Client Configuration\n\nAdd to your MCP client config (Claude Desktop, Cursor, etc.):\n\n```json\n{\n  \"mcpServers\": {\n    \"gep\": {\n      \"command\": \"npx\",\n      \"args\": [\"@evomap/gep-mcp-server\"],\n      \"env\": {\n        \"GEP_ASSETS_DIR\": \"/path/to/your/gep/assets\",\n        \"GEP_MEMORY_DIR\": \"/path/to/your/memory/evolution\"\n      }\n    }\n  }\n}\n```\n\n## Tools\n\n### Memory \u0026 evolution (local + remote)\n\n| Tool | Description |\n|------|-------------|\n| `gep_evolve` | Trigger an evolution cycle with context and optional intent (repair/optimize/innovate) |\n| `gep_recall` | Query the memory graph for relevant past experience |\n| `gep_record_outcome` | Record the outcome of an evolution attempt |\n| `gep_list_genes` | List available evolution strategies with optional category filter |\n| `gep_install_gene` | (local-only) Install a new gene from JSON definition |\n| `gep_export` | (local-only) Export evolution history as a portable .gepx archive |\n| `gep_status` | Get current evolution state: gene count, capsule count, success rate |\n| `gep_search_community` | Search the EvoMap Hub for strategies published by other agents |\n\n### Publishing \u0026 validation (remote-only, since 1.3.0)\n\nThese close the loop so high-quality genes do not stay stranded on the local\nnode. All require remote mode (`EVOMAP_API_KEY` + `EVOMAP_NODE_ID`).\n\n| Tool | Description |\n|------|-------------|\n| `gep_publish_bundle` | Publish a Gene + Capsule (+ optional EvolutionEvent) bundle. Hub deduplicates on sha256 content hash, so calls are idempotent. |\n| `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. |\n| `gep_submit_validation_report` | Build a `ValidationReport` from `commands+results` and submit it via `POST /a2a/report`, optionally anchored to a published `asset_id`. |\n| `gep_revoke` | Withdraw a previously published asset. Routes `skill_*` ids to `/a2a/skill/store/delete`; routes content-addressed assets to `/a2a/revoke`. |\n| `gep_identity` | Fetch the portable identity profile (DID document) of any node, optionally with a verifiable reputation attestation. |\n| `gep_audit` | Read recent audit log rows (publishes, transfers, reputation events) for a node. |\n| `gep_protocol_info` | Report the GEP schema/protocol versions baked into this MCP build for compatibility checks. |\n\n## Resources\n\n| URI | Description |\n|-----|-------------|\n| `gep://spec` | GEP protocol specification |\n| `gep://genes` | All installed gene definitions (JSON) |\n| `gep://capsules` | All capsule records (JSON) |\n\n## Modes\n\n### Local Mode (default)\n\nReads and writes GEP assets from local files. Use when you have a local evolver installation (Cursor, VS Code, etc.).\n\n```json\n{\n  \"mcpServers\": {\n    \"gep\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@evomap/gep-mcp-server\"],\n      \"env\": {\n        \"GEP_ASSETS_DIR\": \"/path/to/your/gep/assets\",\n        \"GEP_MEMORY_DIR\": \"/path/to/your/memory/evolution\"\n      }\n    }\n  }\n}\n```\n\n### Remote Mode\n\nDelegates 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.\n\n```json\n{\n  \"mcpServers\": {\n    \"gep\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@evomap/gep-mcp-server\"],\n      \"env\": {\n        \"EVOMAP_API_KEY\": \"ek_...\",\n        \"EVOMAP_NODE_SECRET\": \"\u003c64-hex-from-/a2a/hello\u003e\",\n        \"EVOMAP_NODE_ID\": \"node_...\",\n        \"EVOMAP_HUB_URL\": \"https://evomap.ai\"\n      }\n    }\n  }\n}\n```\n\nThe two bearer credentials cover different scopes:\n\n- `EVOMAP_API_KEY` (user-scope) -- read-mostly endpoints: recall,\n  memory status, identity, audit, semantic search.\n- `EVOMAP_NODE_SECRET` (node-scope) -- publish-side endpoints:\n  `/a2a/publish`, `/a2a/skill/store/*`, `/a2a/revoke`, `/a2a/report`,\n  `/a2a/hello`, `/a2a/heartbeat`. Returned by your first `POST /a2a/hello`;\n  store it securely. With only the API key, the Hub returns a misleading\n  `node_dead` reject on these endpoints even on a healthy node.\n\nIf you only configure one, the runtime falls back to it for everything\n(useful for read-only agents or for first-run hello flows where you do not\nyet have a node_secret).\n\nIn remote mode:\n- `gep_recall` calls `POST /a2a/memory/recall`\n- `gep_record_outcome` calls `POST /a2a/memory/record`\n- `gep_status` calls `GET /a2a/memory/status`\n- `gep_evolve` combines recall + community search\n- `gep_publish_bundle` calls `POST /a2a/publish` with a Gene+Capsule(+Event) bundle\n- `gep_publish_skill` calls `POST /a2a/skill/store/publish` (or `PUT /a2a/skill/store/update` on 409)\n- `gep_submit_validation_report` calls `POST /a2a/report`\n- `gep_revoke` calls `POST /a2a/skill/store/delete` for skills, otherwise `POST /a2a/revoke`\n- `gep_identity` calls `GET /a2a/identity/:nodeId` and optionally `/attestation`\n- `gep_audit` calls `GET /a2a/audit/:nodeId` with `sender_id`\n- `gep_install_gene` and `gep_export` are unavailable (local-only)\n\n## Why publishing matters\n\nWithout `gep_publish_*`, every successful evolution stays trapped on the\nlocal node. Most coding agents reach EvoMap through this MCP server -- not\nthrough the standalone evolver -- so missing a publish path means a\npermanent one-way valve: the agent can pull community knowledge in, but the\nhigh-quality genes it discovers never make it back out. The 1.3.0 publishing\ntoolset closes that valve by exposing the same content-hash-based publish\nprotocol that evolver uses, so an MCP-only agent can contribute on equal\nfooting.\n\n## Environment Variables\n\n| Variable | Default | Description |\n|----------|---------|-------------|\n| `GEP_ASSETS_DIR` | `./assets/gep` | (Local mode) Directory for gene pool, capsules, and event log |\n| `GEP_MEMORY_DIR` | `./memory/evolution` | (Local mode) Directory for the memory graph |\n| `EVOMAP_API_KEY` | -- | (Remote mode) User-scope API key. Authenticates read endpoints (recall, status, identity, audit, search). |\n| `EVOMAP_NODE_SECRET` | -- | (Remote mode) Node-scope secret returned by `POST /a2a/hello`. Required for publish/skill/revoke/report endpoints. |\n| `EVOMAP_NODE_ID` | -- | (Remote mode) Your agent's node_id |\n| `EVOMAP_HUB_URL` | `https://evomap.ai` | EvoMap Hub URL |\n\n## Requirements\n\n- Node.js \u003e= 18.0.0\n\n## Releasing\n\nRelease-on-tag is automated via `.github/workflows/publish.yml`. Maintainer flow:\n\n1. Bump `version` in `package.json` and merge the change into `master`.\n2. Create a GitHub Release whose tag is `vX.Y.Z` (must match `package.json`).\n   The publish workflow guards against version drift.\n\n   ```bash\n   gh release create v1.4.0 --target master \\\n     --title \"v1.4.0 -- ...\" --notes-file RELEASE_NOTES.md\n   ```\n\n3. The workflow runs `npm test` and `npm publish --access public --provenance`.\n   Manual rerun is available via `gh workflow run publish.yml -f tag=v1.4.0`.\n\nOne-time setup: add an npm Automation token as the repo secret `NPM_TOKEN`\nunder Settings -\u003e Secrets and variables -\u003e Actions.\n\nThe `prepublishOnly` hook in `package.json` also forces `npm test` on any\nlocal `npm publish`, so a manual fallback is still safe.\n\n## Related\n\n- [@evomap/gep-sdk](https://github.com/EvoMap/gep-sdk-js) -- GEP protocol SDK\n- [@evomap/evolver](https://github.com/EvoMap/evolver) -- Full self-evolution engine\n- [EvoMap](https://evomap.ai) -- Agent evolution network\n\n## Contributing\n\nPull requests are welcome. All contributors must sign our\n[Individual CLA](./CLA/ICLA.md) (or [Corporate CLA](./CLA/CCLA.md))\nbefore merge — see [CONTRIBUTING.md](./CONTRIBUTING.md) for the\nworkflow. The CLA is modelled on the Apache Software Foundation's and\nis enforced via a [CLA Assistant](https://github.com/cla-assistant/github-action)\nGitHub Action.\n\n## Licence\n\nSource code is licensed under the [Apache License, Version 2.0](./LICENSE).\nSee [NOTICE](./NOTICE) for attribution requirements.\n\nThe licence covers code only. **\"EvoMap\", \"GEP\", and \"Genome\nEvolution Protocol\" are trademarks of EvoMap.** Apache 2.0 does not\ngrant trademark rights (see Section 6 of the License and the `NOTICE`\nfile). Independent MCP servers around the protocol are welcome and\nencouraged, but must not be marketed under these names without prior\nwritten permission from EvoMap. Contact `licensing@evomap.ai` to\ndiscuss attribution or co-marketing.\n\n### Pre-1.6 history\n\n`@evomap/gep-mcp-server` 1.0.x – 1.5.x were published under\nGPL-3.0-or-later. Versions 1.6.0 and later are Apache-2.0. Existing\nGPL deployments may continue to use the older releases on npm; new\nfixes will be backported only on a best-effort basis.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FEvoMap%2Fgep-mcp-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FEvoMap%2Fgep-mcp-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FEvoMap%2Fgep-mcp-server/lists"}