Skip to main content
Git-native org index · SQL + Semantic

The deepest indexof your GitHub org.

Every commit, diff, rename and owner — cloned straight from git, not scraped file-by-file from the API — plus the PRs and reviews only the forge holds. One index you query with SQL or semantic search in a single call, verified complete against git itself.

12endpoints
7MCP tools
4SQL views
$0to start
Depth of index

Most tools index files.
We index the whole history.

Code search stops at the current tree. EOS clones the whole object store — every commit, diff and rename, not a file-by-file API crawl — then precomputes the relationships nobody else stores: ownership decay, temporal coupling, review flow, expertise.

9entity types modeled — commits, PRs, reviews, files, authors, teams, deps, decisions, releases
100%of history cloned on install and verified complete against git's own count — then kept fresh on every push
2query languages over one index — read-only SQL and cited semantic search
0uncited answers — every field carries the age of the data behind it
Get connected · two minutes

Install → index → ask.

01Install the GitHub AppPick the repos. EOS backfills PRs, commits, reviews and contributors, indexes the code, and keeps it fresh on every push.
02Grab an API keySettings → API. Keys look like eos_… and every response carries its own freshness stamp.
03Point your agent at itMCP for agents, plain HTTP for everything else. No SDK required — the API is the product.
What are you building with? · Claude Code
terminalclaude code · mcp
# install the MCP server
npm i -g @eos-ai/mcp-server
# point Claude Code at your index
claude mcp add eos-context --env EOS_API_KEY=eos_your_key -- eos-mcp
# then just ask
claude "who should review PR 482, and what breaks if I touch services/auth?"
Same index behind Claude Desktop, Cursor, Windsurf and plain HTTP. Keys and the full tool list live at eos.dev/docs.
REST
GET /context/ownership
  ?path=services/auth
MCP server
npm i -g @eos-ai/mcp-server
EOS_API_KEY · Claude, Cursor, Windsurf
SQLSTARTER
POST /context/query
select repo, count(*) from pull_requests
Grounded answers

Cited and dated, not a vibe.

CitationsSearch answers cite the file and lines they came from — your agent can check instead of trusting.
FreshnessEvery response says how old its data is (meta.freshness). If ingest is behind, the API says so instead of guessing.
Exact numbersInsight math decomposes: a lead-time movement is attributed per team and per shift of work — terms sum to the delta, no interaction fudge.
Why EOS

Why not the GitHub API?

GitHubEOS
SourcingFile-by-file REST crawlClone once, fetch the delta
Deletionsremoved[] webhook, usually unwiredgit diff — always correct
RenamesCapped at 1,000No cap
CompletenessPartial index still reports "ready"Verified against git's count
History searchKeywordsSemantic, cited
Limits5k/hr, org-widePer-key quota
Free$05,000 requests / mo
1 indexed repo · 25 agent answers
Ownership, contributors, reviewers, search
Starter$5$50 billed annually50,000 / mo, then $2 per 1k
3 indexed repos, then $1 / repo / mo
Adds graph, coupling, imports, activity, read-only SQL and webhooks
Start free →
EnterpriseTalk to usannual contractCommitted volume
SSO / SAML · audit logs
Self-hosting · GHES · GitLab
The paid boundary is the code index, not endpoint walls. Free covers the core read surface — and one indexed repo, so indexing your own repo costs nothing. Starter unlocks the index-derived surfaces we pay embeddings to build; beyond it, scale is metered, not tiered.

Index once.
Let every agent read it.

Free to start, no card.