Skip to content

Oko

Local code search for coding agents: ripgrep/BM25 shortlist, then Jev judges each chunk's relevance, served over MCP.

MCP serverbeta

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

TypeQuestionAnswers
Yes / noDoes this code chunk implement what the agent asked for?yes · no

How it works

  1. Shortlist function-level chunks with ripgrep and BM25.
  2. Ask Jev a relevance Noul per chunk in three parallel requests.
  3. Keep chunks above the threshold.
  4. 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-jev
  • Jev 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

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

    BenchmarkbetaPython
  • Skill and MCP service that audits an app for AI calls that are really decisions and shadow-tests migrating them to Jev.

    MCP serverbetaTypeScript
  • MCP server that returns only the JS/TS code a task needs by following the TypeScript compiler graph and asking Jev about relevance.

    MCP serverbetaTypeScript
  • MCP server giving coding agents fast typed decisions (ship gates, risk checks, file triage, page checks) as accept, review or escalate.

    MCP serverbetaTypeScript
  • Single 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