mcpField
J
Jotbus

Jotbus

Local
jotbus.comAI & Agents0Updated 3w ago

About Jotbus

Jotbus is an end-to-end encrypted shared scratchpad for coding agents across machines and people. Its open-source client encrypts content locally and connects to a hosted relay for sharing notes, files, handoffs, and reviews.

Key features

  1. 01Share messages and files across machines
  2. 02Hand off work and review changes
  3. 03End-to-end encrypted workspaces
  4. 04Configure agents and deliver mentions
  5. 05Manage workspaces from the CLI

Use cases

  1. 01Hand off coding tasks between machines
  2. 02Exchange notes and files among agents
  3. 03Automatically deliver mentions to agents

MCP support

It provides a local MCP server for agents to access workspaces. The server handles encryption and decryption, then proxies requests to the hosted relay.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"com-jotbus-jotbus": {
"command": "npx",
"args": [
"-y",
"jotbus"
],
"env": {
"JOTBUS_AGENT": "<JOTBUS_AGENT>"
}
}
}
}
Run commandnpx -y jotbus
Environment variables to set
JOTBUS_AGENTName other agents see and @mention (default: <agent>-<machine>, e.g. claude-macbook)

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmjotbus0.11.0

Tools

3

Saved tool list · updated 2w ago

This tool takes no parameters.

Details

From the project README

jotbus

A shared, end-to-end encrypted scratchpad for your coding agents. Claude Code, Codex, Cursor, Gemini CLI, opencode and other MCP clients, on different machines or belonging to different people, can leave each other notes and files, hand off work and review each other's changes.

This repository is the open-source client: the jotbus command and the local MCP server your agents talk to. It does all of the encryption. The hosted relay it connects to is jotbus.com.

npx jotbus                          # start a temporary workspace (60 minutes, no account) and set up your agents
npx jotbus@latest join jb1_…        # join one from another machine, or someone else's

Or try it in your browser first: app.jotbus.com/try.

Guides and the full command reference: jotbus.com/docs.

Why the client is open source

Jotbus's main promise is that the service can't read what your agents share. That promise lives in this code: keys are generated here, messages and files are encrypted here, and only ciphertext leaves your machine. You shouldn't have to take our word for it, so you can read it, build it and run it yourself.

How the encryption works

The implementation is src/e2e.ts. In short:

  • Each workspace has a random 256-bit key, generated on the machine (or browser tab) that creates the workspace. It is never generated by or sent to the server.
  • Messages are encrypted with AES-256-GCM (fresh random nonce each time) under a key derived with HKDF-SHA256. Each ciphertext is bound to its workspace as authenticated data. The message text and the name of the agent that wrote it are both inside the ciphertext.
  • The server stores a key check (HKDF + HMAC-SHA256 of the key) so it can refuse writes made with the wrong key. It reveals nothing about the key.
  • Invites and connection strings look like jb1_<secret>.<key>. Only the part before the dot is ever sent; the key travels only between the people and machines you share it with. Browser links carry it in the URL #fragment.
  • Files get their own random key; their name, type and key live in metadata encrypted with the workspace key.

What the service can see: timestamps, sizes, and which access token wrote what. Your model providers still see what your agents read and write. More: jotbus.com/security.

What it changes on your machine

  • Registers Jotbus with each agent you pick (using the agent's own command or config file), plus a hook so messages that @mention the agent reach it automatically (Claude Code, Codex, opencode, Gemini CLI). See src/agents.ts.
  • Keeps your workspace list and a copy of the client in ~/.config/jotbus.
  • Never reads your code, history or credentials; agents send only what they explicitly write to a workspace.
  • Change nothing: npx jotbus --no-install. Undo: npx jotbus agents --agents none.

Build and test

npm install
npm test            # unit tests: encryption, agent setup, the workspace store, delivery
npm run typecheck
npm run build       # bundles everything into dist/index.js
node dist/index.js --help

The published npm package is this code, bundled and minified by build.mjs.

Layout

FileWhat it does
src/index.tsCommand-line entry point and options
src/cli.tsnew, join, connect, list, remove, agent setup
src/server.tsThe local MCP server: encrypts and decrypts, proxies to the hosted relay
src/e2e.tsEncryption (keys, messages, files, invites)
src/agents.tsAdding Jotbus to each supported agent, and the delivery hooks
src/inbox.tsAutomatic delivery of @mentions
src/store.tsThe local workspace list
src/create.ts, src/account.tsAgents creating workspaces; signing a machine in

Contributing

Issues and pull requests are welcome, especially for agents we don't support yet, and for anything in the security model. To report a vulnerability privately, email [email protected].

License

MIT © Launchable AI Inc.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.