Skip to content
◆ MCP server · local · open source · v2.0

grep finds strings.
semkeep finds meaning.

Your AI agent's project companion: find code by meaning, navigate by structure, remember verified commands across sessions, and gate "done" on proof — not hope. Runs locally. Ambient API keys never touched.

$ claude mcp add semkeep -- npx -y semkeep
What it does

16 tools. Four capabilities.

A project companion that finds code by meaning, navigates by structure, remembers verified commands across sessions, and gates "done" on proof.

search · freshness

Find by meaning

Ask "where's the retry logic?" and get the function that defines backoffScheduler — even though none of those words appear in it. Semantic search over code and docs, index always current.

define · callers · outline · imports

Understand structure

Real tree‑sitter ASTs. Jump to where a symbol is defined, list every call site, see a file's shape, map its dependency edges — answers grep simply can't give.

mark · markers · unmark

Operational memory

Record recipes (verified commands with exit codes), gotchas, and dead‑ends that persist across sessions. Recipes go ⚠ STALE after 30 days. Surfaced automatically at session start.

greenlight_run · greenlight_lint

Verification gate

Define your done‑criteria in a JSON spec. greenlight_run returns GREEN only when every check proves completion. greenlight_lint flags shallow gates that would pass without proving anything.

remember · recall

Notes that live with code

Anchor a note to a symbol — "this path drops events under load" — and it surfaces whenever you define or outline that code. Durable across refactors.

See it

Knowledge, exactly where you're looking

Honest positioning

A complement to grep — not a replacement

We benchmarked it instead of hand‑waving. semkeep wins exactly where grep struggles, and we say so where it doesn't.

Reach for grep when…

  • You know the exact string or regex
  • You want every literal occurrence
  • The term is rare and specific

Reach for semkeep when…

  • You don't know the identifier the code uses
  • The obvious keyword is everywhere (1,000+ hits)
  • You need relationships: definition, callers, imports
  • You want your own notes surfaced alongside the code
Install

Running in under a minute

  1. As an MCP server (any MCP client)

    claude mcp add semkeep -- npx -y semkeep

    Restart your client so the semkeep tools load. Requires Node.js 18+.

  2. …or as a Claude Code plugin

    /plugin marketplace add Interpromodal/semkeep
    /plugin install semkeep@semkeep

    Bundles the MCP server and a smart Grep nudge in one install.

  3. Index, then ask

    index_path  ./src
    search      "where is the websocket reconnect logic"

    Credentials & privacy: the default is a bundled local on-device model — your code stays on your machine and your ambient OPENAI_API_KEY is never read. For API-quality embeddings, add SEMKEEP_OPENAI_API_KEY to the MCP server's own env block in your MCP config. Opt into ambient key inheritance with SEMKEEP_INHERIT_ENV_KEYS=1.

  4. Operational memory — surface at session start

    # Add to your Claude Code hooks (settings.json):
    # SessionStart hook:   semkeep markers --hook
    # PreCompact hook:     semkeep nudge --hook

    Once hooked, recorded recipes, gotchas, and dead-ends appear automatically at the top of every new session and before compaction. Use mark in-agent to record them; recipes go ⚠ STALE after 30 days.

  5. Verification gate — run from the CLI

    semkeep greenlight run spec.json

    Define your done-criteria in a JSON spec, then run the gate from the CLI or call greenlight_run in-agent. Returns GREEN only on proof. Use greenlight_lint to audit your spec for shallow checks first.

FAQ

Questions, answered

An AI agent on this page can query these directly — see WebMCP below.

🪙

Free forever. Tips keep it going.

semkeep is MIT‑licensed and always free. If it earns its keep, drop a coin in the jar — it funds maintenance and the next tool like this one.

Insert a coin · Venmo @InsertCoin
For agents

This page speaks MCP, too

Fittingly, the site for an MCP server is one. If your browser supports WebMCP, an AI agent can call semkeep_faq to answer questions about the project straight from this page — no scraping required.

copied ✓