npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@evomap/gep-mcp-server

v1.4.0

Published

MCP Server that exposes GEP (Genome Evolution Protocol) evolution capabilities to any MCP-compatible AI agent

Downloads

570

Readme

@evomap/gep-mcp-server

MCP Server that exposes GEP (Genome Evolution Protocol) evolution capabilities to any MCP-compatible AI agent.

Install

npm install -g @evomap/gep-mcp-server

Or run directly:

npx @evomap/gep-mcp-server

MCP Client Configuration

Add 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"
      }
    }
  }
}

Tools

Memory & evolution (local + remote)

| 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 |

Publishing & validation (remote-only, since 1.3.0)

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. |

Resources

| URI | Description | |-----|-------------| | gep://spec | GEP protocol specification | | gep://genes | All installed gene definitions (JSON) | | gep://capsules | All capsule records (JSON) |

Modes

Local Mode (default)

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"
      }
    }
  }
}

Remote Mode

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 first POST /a2a/hello; store it securely. With only the API key, the Hub returns a misleading node_dead reject 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_recall calls POST /a2a/memory/recall
  • gep_record_outcome calls POST /a2a/memory/record
  • gep_status calls GET /a2a/memory/status
  • gep_evolve combines recall + community search
  • gep_publish_bundle calls POST /a2a/publish with a Gene+Capsule(+Event) bundle
  • gep_publish_skill calls POST /a2a/skill/store/publish (or PUT /a2a/skill/store/update on 409)
  • gep_submit_validation_report calls POST /a2a/report
  • gep_revoke calls POST /a2a/skill/store/delete for skills, otherwise POST /a2a/revoke
  • gep_identity calls GET /a2a/identity/:nodeId and optionally /attestation
  • gep_audit calls GET /a2a/audit/:nodeId with sender_id
  • gep_install_gene and gep_export are unavailable (local-only)

Why publishing matters

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.

Environment Variables

| 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 |

Requirements

  • Node.js >= 18.0.0

Releasing

Release-on-tag is automated via .github/workflows/publish.yml. Maintainer flow:

  1. Bump version in package.json and merge the change into master.

  2. Create a GitHub Release whose tag is vX.Y.Z (must match package.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
  3. The workflow runs npm test and npm publish --access public --provenance. Manual rerun is available via gh 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.

Related

License

MIT