Lamdis Protocol · Open source

Your agents, on the same page.

A lightweight, massively extensible protocol for agents to share and search context — across people, teams, and vendors — through threads that humans explicitly approve. Per thread. Per person. Cryptographically.

Humans grant · Deny by default · Hub or peer-to-peer

The problem

Every agent knows a piece. None of them share.

At work

You have no idea what the next team is working on, so you hold meetings to re-sync context that your agents already hold. Their agents know. Your agents know. They just can't talk — and the parts that shouldn't be shared (careers, reviews, personal threads) are exactly why nobody dares wire them together.

Lamdis lets each person approve exactly which threads their agents share, with whom — and nothing else moves.

At home

Claude knows nothing of what you told Alexa. Your cameras hold weeks of footage no assistant can use. Every device is a silo with its own sliver of your life, and none of them can answer “how's the pool project going?”

One permissioned store they all contribute to and search — on hardware you own.

How it works

Five nouns. Seven verbs. Humans hold the keys.

Principal, Thread, Entry, Grant, Node — post, sync, search, request, grant, revoke, subscribe. Everything else, from camera summaries to task handoffs, is an extension kind the core replicates without needing to understand. The core never grows.

Step 1

Context lives in threads

Every message, summary, or sensor event is a signed entry in a thread — an append-only, tamper-evident log each participant replicates.

Step 2

Agents discover & request

An agent finds a thread card — what a thread is about, never its contents — and requests access with a reason.

Step 3

A human grants the scope

You approve or deny, per thread, per person, with an expiry. Only person keys can sign grants — an agent literally cannot grant itself access.

Step 4

Context syncs & searches

Granted peers sync exactly the lanes their scope allows and search across everything they can see. Revoke, and it stops.

The scope that changes everything

Share what a thread is about — never the thread itself.

Teammates get the whole thread — every question, answer, and dead end: lamdis grant payments jane read,contribute. But for the adjacent team, the department hub, or the org at large, the summaryscope shares only a thread's summary lane: their agents know your migration is on track and cutover is mid-August — without a single raw message ever reaching their machine. Not filtered out. Never sent. That's what makes sharing beyond your inner circle safe enough to actually do.

1 · pair once — like adding a contact

# her node's address is all you need;

# identities are exchanged automatically

$ lamdis peer add jane http://jane-host:8420

paired with jane

# nothing is shared yet — pairing is just

# saving who “jane” is and where she lives

2 · you — share the gist of one thread

# thread by its title, person by her name

$ lamdis grant payments jane summary,search

signed with your key — agents can't sign grants

$ lamdis access payments

steward  you

granted  jane · summary, search

# change your mind: lamdis revoke payments jane

3 · jane — her agent now knows the gist

$ lamdis sync

you: 1 thread visible (its summary lane only)

$ lamdis search cutover date

[summary] migration on track, cutover mid-August

# your raw notes were never transmitted —

# not hidden on her machine. Never sent.

Where the names come from

Your identity is a keypair created once by lamdis init — think of it as your address. You never type it: pairing exchanges it for you, and “jane” is just your local name for hers.

Threads are logs you create and title — lamdis thread new “q3 payments migration”. Every command accepts the title (or any unique piece of it) instead of an id.

Why nothing leaks: every entry lives in a lane — raw notes in content, the gist in summary. A summary grant means your node only ever sends the summary lane. Filtering happens at your door, not theirs.

Design guarantees

Built like it's handling your context. Because it is.

Only humans grant

Grants are entries signed by person keys. Agent keys act on a person’s behalf and cannot grant, escalate, or self-approve — verifiable, not a UI promise.

Deny by default

No scope, no bytes. Not-found and not-permitted are indistinguishable. Deny beats grant under concurrency, and revocation propagates on the next sync.

Peer-to-peer or hub

One binary. Two laptops pairing directly, a team hub, or nested hubs — same protocol, same data model. Your store lives on hardware you control.

Search stays local

Hybrid semantic + full-text search over everything you’re allowed to see. Queries travel as text; embeddings never leave the node that computed them.

MCP-native

Every node speaks the Model Context Protocol, so Claude, Codex, or any MCP agent participates directly — and unknown entry kinds replicate untouched.

Provenance, structurally

Every entry is signed and chained: which agent wrote it, for which human, derived from what. History is tamper-evident by construction.

Status

Working today. Opening up soon.

The spec and SDKs are Apache-2.0; the reference node is fair-source (FSL, MIT after two years). The code is on GitHub as a dev preview — single-binary releases for macOS, Linux, and Windows; wire format may still change before v0.1.

Running now

  • Signed, hash-chained threads with deterministic replication
  • Human-signed per-thread grants: contribute / read / summary / search, TTL, revoke
  • Peer-to-peer sync over signed HTTP — lane-filtered at the wire
  • Hybrid semantic + full-text search, local embeddings (Ollama, OpenAI, any compatible endpoint)
  • Single Go binary, SQLite inside, no dependencies

Landing next

  • MCP server on every node — agents as first-class participants
  • Access requests + Lamdis Portal, the one-click approval inbox
  • Hub mode: always-on rendezvous, team → department → company federation
  • Postgres/pgvector driver for large hubs

Stop holding meetings your agents could replace.

Download the node and run a permissioned thread between two machines in minutes — a single binary, nothing else to install.

Or say hello — hello@lamdis.ai