Skip to main content
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: "CapturePayment" }

5 callers across 5 files (go + ts)

# audit row written - actor=mcp:claude

For agents

Scraping vs a protocol.

Scraping a web UI
src.land 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 is the shape of what a push emits, with example values.
Example audit row
id #1170
actor dev@example.com
action push
ns citadel-demo/payments
at 2026-06-04T18:17:30Z
Example symbol diff
CapturePaymentmodified
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, issue a token that starts read-only, limit it to the repos it needs, and point your MCP client at src.land.