Oko
Local code search for coding agents: ripgrep/BM25 shortlist, then Jev judges each chunk's relevance, served over MCP.
Overview
Oko helps Codex, Claude Code and OpenCode find relevant code with fewer tokens. It shortlists function-level chunks locally with ripgrep and BM25, then asks Jev a yes/no relevance question per chunk across three parallel requests; code applies the threshold and returns accepted chunks as excerpts through MCP or the oko ask CLI.
The README reports, in the author's agent sessions on nine tasks, 60-63% fewer tokens, 47-58% faster runs and 75-86% fewer tool calls; cited recall of 0.88 against Sense's 0.63 on Sense's benchmark at half the cost; MRR 0.37 against 0.24 on Agent Retrieval Bench; and nDCG 0.82 on SWE-Explore, each with caveats in their sections. It installs as a standalone binary with bundled ripgrep, and keyword search works without a key. It is for developers who want their agents to spend less on searching.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Yes / no | Does this code chunk implement what the agent asked for? | yes · no |
How it works
- Shortlist function-level chunks with ripgrep and BM25.
- Ask Jev a relevance Noul per chunk in three parallel requests.
- Keep chunks above the threshold.
- Return excerpts via MCP or the CLI.
Strengths
- Large token and time savings in the author's benchmarks.
- Local keyword search works without an API key.
- Single binary install; no Node or Rust runtime needed.
Caveats
- Jev ranking needs a TypeSafe key and sends code chunks to TypeSafe.
- macOS binaries are not signed; no Windows or Alpine installer.
- Gains vary by task and tool.
Getting started
curl -fsSL https://raw.githubusercontent.com/bartlomein/oko/main/install.sh | sh, then oko ask "where is authentication handled?".At a glance
- Type
- MCP server
- Status
- beta
- Language
- Rust
- Runtime
- CLI, MCP server
- Has code
- yes
Use cases and integrations
How curated lists describe it
Developer tooling: local code search for coding agents that shortlists function-level chunks with ripgrep and BM25, asks Jev a `Noul` relevance question per chunk across three parallel requests, and returns the accepted ones as excerpts through MCP; the cutoff and excerpt selection live in code.
yibie/awesome-jevJev judges whether each keyword-shortlisted code chunk implements what a coding agent asked for; code applies the threshold and returns the accepted chunks as excerpts over MCP.
cobanov/awesome-jev
Frequently asked questions
What does Jev decide in Oko?
Whether each shortlisted code chunk is relevant to the agent's question.
Does it work without TypeSafe?
Local keyword search does; Jev ranking needs a key.
How much does it save?
The author reports 60-63% fewer tokens across nine agent tasks.
Related projects
- jevgrep (dzhng)★ 2,671
Code search CLI and agent skill (jg) where Jev judges relevance across folders, files and declarations to return excerpts.
Agent skillbetaTypeScript CLI and MCP server giving coding agents Jev-powered semantic search, focused reads and list picking in about a second for about a cent.
BenchmarkbetaPythonSkill and MCP service that audits an app for AI calls that are really decisions and shadow-tests migrating them to Jev.
MCP serverbetaTypeScriptMCP server that returns only the JS/TS code a task needs by following the TypeScript compiler graph and asking Jev about relevance.
MCP serverbetaTypeScriptMCP server giving coding agents fast typed decisions (ship gates, risk checks, file triage, page checks) as accept, review or escalate.
MCP serverbetaTypeScriptSingle MCP tool that indexes a repo and has Jev rank a shortlist so a coding agent reads the right files and lines instead of grepping.
MCP serverbetaPython