Same index, two users

For the person. For the agent.

human
Push, review, browse.
git push over SSH - native, no wrapper
pull requests with suggested edits and CODEOWNERS gates
browse the symbol graph in the web UI
keyboard shortcut to any repo, symbol, or audit row
agent
One token, real tools.
Terminal session: mcp session
mcp session

tools/call kg.callers { symbol: "AssignSeat" }

3 callers across 2 repos

# audit row written - actor=mcp:claude

For agents

Scraping vs a protocol.

Scraping a web UI
Citadel MCP
brittle CSS selectors
typed MCP tools with a schema
no real auth model
scoped, revocable bearer tokens
invisible, unlogged access
named agent entity with scoped token and revocable access
rate-limited HTML scraping
structured JSON over streamable HTTP
breaks on every redesign
a versioned protocol (MCP 2025-11-25)
No testimonials

Receipts, not quotes.

We won't show you logos. Here's what the system actually emits on a push.
Audit row
id #1170
actor db@src.land
action push
ns rethunk/payments/payments-core
at 2026-06-04T18:17:30Z
Symbol diff
processPaymentmodified
body sha256 4f9c...a210 -> 7b1e...c904
callers 2 -> 3
0 symbols removed
Security & governance

Built for teams that get audited.

No magic

Built on standards.

No vendor transport layer. Agents connect over RFC 8628 device flow; auditors page the audit log over plain HTTPS.

Wire an agent

Issue a scoped token.

Register an agent entity, pick namespace and action scopes, and point your MCP client at src.land.