Erkle MCP server
Commit Nov 13, 2026Provides shared, reviewed team memory for AI coding agents to maintain consistency across different repositories and tools.
Also known as erkle-ai/cli
- Stars
- 1
- Tools
- —
- Downloads, 30 days
- —
- Latest version
- —
- Last commit
- Nov 13, 2026
- License
- MIT
What is Erkle MCP?
Erkle provides shared, reviewed team memory for AI coding agents to maintain consistency across different repositories and tools.
Summary generated from the project's README
About Erkle MCP server
Maintaining consistent coding standards across different repositories and AI tools is what this CLI enables for engineering teams. By connecting agents like Claude Code, Cursor, and Codex to a hosted MCP server, teams can establish a shared memory that persists across different people and projects. This prevents individual agents from making conflicting decisions, such as incorrectly retrying a specific API call that a team has previously decided to handle differently.
Developers use the npx @erkle/cli init command to wire their local agents to the Erkle service. The setup process automatically configures project-specific files like .mcp.json or .cursor/mcp.json and adds necessary instructions to AGENTS.md or CLAUDE.md files. This ensures that every agent searches existing team constraints before starting a task and proposes new conventions for maintainer review after completing work. The system uses browser-based OAuth sign-in for each agent rather than requiring manual API keys.
What you can do with it
- 1Preventing conflicting coding decisionsAn AI agent can search shared memory to find specific constraints, such as avoiding retries on certain endpoints to prevent double-charging.
- 2Sharing conventions across repositoriesTeams can ensure that knowledge learned in one repository is available to agents working in entirely different projects.
- 3Formalizing new team knowledgeWhen an agent discovers a new pattern, it can propose a formal convention that requires a human maintainer to approve before it becomes part of the team memory.
- 4Automating agent configurationDevelopers can quickly set up multiple AI coding tools at once within a git repository using a single initialization command.
Written from the project's README. Every use case is checked against a quote from it.
Configuration
ERKLE_URL
| Name | Description | |
|---|---|---|
| ERKLE_URL | — |
Automated checks
Ran Nov 15, 2026Full report →Not verified yet. A server needs a score of 80, no serious finding, and enough data for us to check. How checks work · What to fix for more points
- Source repository linked and reachableerkle-ai/cli is public and reachablegithub.com/erkle-ai/cli ↗Pass
- Package names this repository as its sourceNot checked
- Build provenance (Sigstore attestation)Not checked
- Open source license (OSI)MITspdx.org/licenses/MIT.html ↗Pass
- Commit or release in the last yearLast commit or release 2026-11-13github.com/erkle-ai/cli ↗Pass
- OpenSSF ScorecardNot checked
- Package name not close to a popular packageNot checked
- No critical advisory in the package or its dependenciesNot checked
- No hidden instructions to the model0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersPass
- Destructive tools are labelledNot checked
- Remote endpoint answers the MCP handshakeNot checked
README
View on GitHubnpx @erkle/cli init
Your agents forget what your team decided. One teammate's Claude Code learns
that the billing service must never retry a charge; tomorrow another
teammate's Cursor retries it. CLAUDE.md helps inside one repo, but it doesn't
travel across repos, tools, or people, and nobody reviews what goes in it.
Erkle gives every agent on the team the same reviewed memory.
What it looks like
After init, a session goes like this (illustrative):
You: Add retries to the charge endpoint.
Agent: [memory_search "charge endpoint retries" repo=acme/billing]
Found 1 constraint (team scope, approved by Dana):
"Never retry POST /charges. Stripe idempotency keys expire after 24h,
and a retry after that double-charges. Retry only the webhook."
I'll add retries to the webhook handler instead and leave /charges alone.
...
Agent: I learned the webhook handler must be idempotent on event.id.
Propose it as a convention for acme/billing? [y/n]
You: y
Agent: [memory_create] Proposed. A maintainer reviews it before it goes live.
What is Erkle?
Erkle is shared, reviewed team memory for AI coding
agents. It's a hosted MCP server (https://erkle.ai/mcp) where your team's
decisions, conventions, constraints and lessons live, scoped to the team, a
project, or a repository. Agents search it before a task and propose what
they learned after; maintainers review proposals before they go live. One
memory works across Claude Code, Cursor, Codex and claude.ai, so every
teammate's agent knows what the team knows.
@erkle/cli is the setup step: erkle init wires your agents to that server
and tells them how to use it.
Run it in a git repository (installed globally, the command is erkle init).
It:
- Adds the
erkleMCP server to each agent you pick (Claude Code, Cursor, Codex). - Adds a short instructions block to
AGENTS.md/CLAUDE.md, so agents search Erkle before a task and propose what they learned after. - Prints the sign-in step for each agent and a first-run prompt that imports what the repo already knows.
init never signs in and never talks to Erkle. Each agent runs its own
browser sign-in the first time it connects.
What it writes
| Agent | Project (default) | --global |
|---|---|---|
| Claude Code | .mcp.json |
claude mcp add --scope user (~/.claude.json) |
| Cursor | .cursor/mcp.json |
~/.cursor/mcp.json |
| Codex | .codex/config.toml (loaded once you trust the project) |
~/.codex/config.toml |
Project files live in the repo root, so commit them and every teammate gets the same setup.
Instructions go between <!-- erkle:start --> and <!-- erkle:end --> in
AGENTS.md and CLAUDE.md, whichever exist. A CLAUDE.md that is a
symlink to AGENTS.md, or that imports it with an @AGENTS.md line, is left
alone so the block appears once. If neither file exists, init creates
AGENTS.md, which Claude Code, Cursor and Codex all read. Re-running replaces
only the text between the markers.
Existing files keep everything else: other MCP servers, other keys, JSON
indentation, and TOML comments. If a file can't be parsed (JSON with
comments, for example) init stops and writes nothing. If an erkle entry
already points somewhere else, init reports it as a conflict and leaves it
alone unless you pass --force; everything else in the plan is still
applied.
init treats the repo as untrusted, since it may be a fresh clone. If a
project file is a symlink that resolves outside the repo, init stops and
writes nothing. An existing erkle entry with keys that can run code
(command, env, headersHelper, ...) is a conflict too. If a file changes
between the plan and the write, init stops instead of overwriting it.
Running init again when everything is set up changes nothing.
Options
--agents <list> claude,cursor,codex (default: ask, or the detected ones)
--global write user-level config instead of the repo's
--url <url> MCP server URL (default https://erkle.ai/mcp, or $ERKLE_URL)
-y, --yes apply without asking
--dry-run print the plan and write nothing
--force replace an existing erkle entry that has a different URL
--no-instructions don't touch AGENTS.md / CLAUDE.md
-h, --help show help
-v, --version show the version
Exit codes: 0 success, nothing to do, or cancelled at the prompt; 1 error
(nothing written); 2 bad usage. When stdin or stdout isn't a terminal,
init won't ask, so pass --yes to apply (or --dry-run to preview);
without either it exits 2.
For local development against a dev server:
ERKLE_URL=http://localhost:8080/mcp npx @erkle/cli init
FAQ
Does init need an Erkle account or API key? No. It only writes config
files. Each agent opens a browser OAuth sign-in the first time it connects.
There are no API keys.
Which agents are supported? Claude Code, Cursor and Codex. claude.ai connects to the same server as a custom connector; see erkle.ai.
How is this different from CLAUDE.md or AGENTS.md? Instruction files
live in one repo and change by commit. Erkle is shared across repos and tools,
scoped by team, project and repo, permissioned, and reviewed. init keeps a
short block in your instruction files that points agents at Erkle; see
Erkle vs. AGENTS.md.
What does it cost? $5 per user per month, or $50 per user per year, after a 7-day trial with no card needed. See pricing.
Who maintains this
Erkle is built and operated by
Justin Albrecht.
Development happens in a private repository. This public repository is the
release mirror: each release lands here as one commit made by the release
automation, which is why commits show github-actions[bot], and its tag is
what gets published to npm. How Erkle itself handles your data is on the
security page.
Bugs
Open an issue at github.com/erkle-ai/cli. This repository receives one commit per release and doesn't take pull requests; see CONTRIBUTING. Report vulnerabilities privately, as described in SECURITY.
Erkle MCP questions
Does init need an Erkle account or API key?
No, the init command only writes configuration files. Agents use browser-based OAuth sign-in when they first connect.
Which AI agents are supported?
The CLI supports Claude Code, Cursor, and Codex.
How is Erkle different from CLAUDE.md or AGENTS.md?
While instruction files are limited to a single repository, Erkle provides shared memory across multiple repositories, tools, and teams with a review process.
What is the cost of using Erkle?
Erkle costs $5 per user per month or $50 per user per year, following a 7-day free trial.