Skip to main content
Kodelyth ECC
feature

MCP Server — Universal Adapter for AI Agents (Kodelyth ECC)

ECC MCP server exposes 70 agents, 194 skills, 97 commands, 14 rules, BM25 memory to any MCP-compatible client — Claude Desktop, LangGraph, AutoGen, CrewAI, OpenAI Agents SDK.

Kodelyth ECC — MCP Server

The Kodelyth ECC MCP (Model Context Protocol) server is the universal adapter that lets any MCP-compatible client consume the full ECC stack: 70 agents, 194 skills, 97 commands, 14 rules, 3 power bundles, and the local BM25 self-learning memory.

If you've ever wished LangGraph, AutoGen, CrewAI, OpenAI Agents SDK, Claude Desktop, or any other agent framework could speak ECC natively — this is that bridge.

Local-only, zero telemetry, stdio transport.


Quick start

1. Run the server

# From npm (recommended):
npx kodelyth-ecc mcp
 
# From this repo:
node scripts/mcp/server.js

The server speaks JSON-RPC over stdio. It stays alive until stdin closes.

You'll see one stderr banner on boot, e.g.:

[kodelyth-mcp] ready · 1.7.0 · 16 tools · 6 prompts · 365 resources

2. Wire it into your MCP client

Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json on macOS)

{
  "mcpServers": {
    "kodelyth-ecc": {
      "command": "npx",
      "args": ["-y", "kodelyth-ecc", "mcp"]
    }
  }
}

Cursor / Windsurf / any MCP-aware IDE

Use the same command + args pattern under whatever the IDE's MCP server config key is.

Programmatic clients (LangGraph, AutoGen, CrewAI, OpenAI Agents SDK, custom)

Spawn the server as a subprocess and connect via the official MCP client SDK for your language. The transport is stdio JSON-RPC — every spec-compliant client supports it.


What it exposes

Tools (16)

NamePurpose
route_intentSuggest the best ECC agent for a user message via token-overlap. Pair with the routing-rule prompt for full tier-based routing.
list_agentsList every ECC agent (name, description, relpath).
list_skillsList every ECC skill.
list_commandsList every slash command.
list_rulesList every rule file in rules/common/.
list_bundlesList the power bundles (indie-hacker, red-team, enterprise).
get_agentFetch the full markdown body of one agent.
get_skillFetch the full markdown body of one skill.
get_commandFetch the full markdown body of one slash command (with or without leading /).
get_ruleFetch a rule file body.
get_bundleFetch a bundle cheat sheet body.
recall_memoryBM25 search across the local Kodelyth memory store.
capture_memoryAppend a new memory entry (problem + approach + tags).
memory_statsSummary of the local memory store.
catalog_statsSummary of how many agents/skills/commands/rules/bundles are loaded.
audit_skill_matchSuggest skills whose description/body overlap a task — useful for deciding which skills to attach as context.

All tool results follow the MCP { content: [{ type: 'text', text: ... }], isError? } shape. Most return JSON-encoded payloads inside the text channel.

Prompts (6)

Prompts let clients summon canonical ECC context blocks by name, no tool call needed.

NameReturns
routing-ruleThe full ECC intent routing rule (10-tier priority system).
agents-overviewCompact list of all 70 agents with one-line descriptions.
skills-overviewCompact list of all 194 skills.
commands-overviewCompact list of all 97 slash commands.
handoff-chainsThe agent-handoff skill body — standard multi-agent chains for new feature, bug fix, refactor, incident, etc.
devil-modeThe /devil-mode parallel command — fires the adversarial red-team crew.

Resources (365)

Every agent, skill, command, rule, and bundle is also addressable as an MCP resource:

kodelyth://agents/<name>
kodelyth://skills/<name>
kodelyth://commands/<name>
kodelyth://rules/<name>
kodelyth://bundles/<name>

All resources are text/markdown. Use resources/list to discover, resources/read to fetch.


Example session

// → client
{ "jsonrpc": "2.0", "id": 1, "method": "initialize",
  "params": { "protocolVersion": "2024-11-05", "capabilities": {},
              "clientInfo": { "name": "my-client", "version": "0.1.0" } } }
 
// ← server
{ "jsonrpc": "2.0", "id": 1, "result": {
  "protocolVersion": "2024-11-05",
  "capabilities": { "tools": {}, "resources": {}, "prompts": {} },
  "serverInfo": { "name": "kodelyth-ecc", "version": "1.7.0" } } }
 
// → client
{ "jsonrpc": "2.0", "id": 2, "method": "tools/call",
  "params": { "name": "route_intent",
              "arguments": { "message": "production is down and i don't know why",
                             "top_k": 3 } } }
 
// ← server (paraphrased)
{ "result": { "content": [{ "type": "text", "text":
  "{ \"suggestions\": [
       { \"agent\": \"incident-commander\", ... },
       { \"agent\": \"debug-detective\",    ... },
       { \"agent\": \"silent-failure-hunter\", ... }
     ] }" }] } }

Design notes

  • Pure file reads + memory passthrough. The server adds no LLM calls of its own. It surfaces ECC context; your client's model decides what to do with it.
  • No telemetry, no network egress. stdio only. Local memory only. Reads from this repo's checked-in markdown.
  • Lazy SDK load. The MCP SDK is an optionalDependency so installs work without it; the mcp subcommand prints a friendly install hint if missing.
  • Cached catalog. Agent/skill/command lists are cached in-process after first read for sub-millisecond subsequent calls.
  • Memory store is project-aware. recall_memory accepts an optional project_root to scope BM25 results to memories captured against that project, falling back to global memories if scoped results are sparse.

Privacy & safety

  • The server only reads files under this package and the local memory directory (default ~/.kodelyth/memory/, override via KODELYTH_MEMORY_DIR).
  • It writes only when the client invokes capture_memory.
  • No network calls. No analytics. No phone-home.
  • The server never executes arbitrary commands or code. Tools that surface code (get_agent, etc.) return markdown documentation, not executable instructions.

Troubleshooting

"Kodelyth MCP server requires @modelcontextprotocol/sdk" — run npm install @modelcontextprotocol/sdk once, or rerun via npx -y kodelyth-ecc mcp to let npm fetch optional deps.

Empty results from recall_memory on a fresh memory store — BM25 needs a few documents before IDF scores rise above the default minScore floor. Capture 2-3 memories first.

Resources missing in your client UI — some MCP clients render only tools and prompts. Resources are still queryable via resources/list.


Roadmap interactions

  • Phase 2.5 — MCP client mode will add the inverse: ECC agents consuming external MCP servers (Stripe, GitHub, Postgres, Brave, etc.) — making ECC the MCP hub, not just a node.
  • Phase 2.3 — local dashboard will visualize live MCP traffic so you can see which tools/prompts/resources clients hit, in real time.
  • Phase 2.10 — prompt-injection guardrail will sit in front of MCP responses to scrub jailbreak patterns before they reach client models.

Built into Kodelyth ECC. MIT licensed. PRs welcome.

Last updated: 2026-07-04T00:00:00.000Z · v2.4.1