Your people, a little closer.
One-to-one catch-ups and group conversations. Email accounts, a familiar interface, and encrypted messaging for live accounts.
Find your peopleGood conversations. Carefully shared secrets. A lightweight home for your team—and the agents that help you build.
A little coffee, a little sunshine?
10:42You had me at coffee ☕
10:43And absolutely no work talk. 🌿
10:44•••• •••• •••• •••• CopyThoughtful essentials, with room to breathe.
One-to-one catch-ups and group conversations. Email accounts, a familiar interface, and encrypted messaging for live accounts.
Find your peopleAPI names, stored dates and rotation reminders. Unlock to copy, then share an entire vault or just the key someone needs.
Explore the vaultGive a tool-calling agent a focused job. MCP tools start read-only, with separate permissions for writing, revealing and sharing.
Meet the toolsConnect an MCP-capable host to ChatBoard’s local server. Discover the tools, pick the permissions, and let an agent help with the small stuff.
AVAILABLE NOW: LOCAL SANDBOX · STDIOUse Node.js 22 or later. From the ChatBoard project directory, install dependencies.
npm installThe MCP server runs independently; the web app does not need to be running.
Copy the configuration into your host’s MCP server settings. Replace both C:/path/to/ChatBoard paths with your absolute project path. macOS and Linux use paths such as /Users/you/ChatBoard.
Launch with node, as shown. Use the direct command so stdout stays reserved for MCP.
Restart or reconnect your host, then ask: Check which sample API keys need rotation.
The agent discovers IDs with list_vaults, then calls list_secrets.
No real credentials. No database setup.
{
"mcpServers": {
"secrets-chat-demo": {
"command": "node",
"args": [
"C:/path/to/ChatBoard/node_modules/tsx/dist/cli.mjs",
"C:/path/to/ChatBoard/mcp/index.ts"
],
"env": {
"CHATBOARD_MCP_MODE": "demo",
"CHATBOARD_MCP_PERMISSIONS": "chat:read,vault:read"
}
}
}
}Your application launches the stdio server, initializes an MCP client, and maps tools/list names, descriptions and JSON schemas into the model’s function definitions. Route the model’s chosen function calls to tools/call, then return the result to the model. Tool calling alone does not provide an MCP connection.
Clear boundaries make better tools.
The current MCP server uses its own encrypted, in-memory sample data. It is separate from the app and your account. Restarting clears edits and creates new IDs. Live account access is not available yet.
Key lists return names, dates and rotation warnings—not key values or notes. To return a key, the host must explicitly enable secret:reveal and call reveal_secret. Anything revealed enters the host and model context. Use fake credentials only; stored sandbox keys must start with demo_.
Enable chat:write to send messages and secret:share to share sample keys. Your MCP host must ask for human approval before sending or sharing; tool annotations are hints, not an approval system. Sharing a vault includes future keys; sharing one key does not expose sibling keys. There is no expiry or revocation yet.
This version uses local stdio and has no remote MCP URL. A hosted version needs Streamable HTTP, OAuth authorization, scoped identities, location checks, revocation and production verification. The live database gateway guard remains pending.
Live chats and vaults encrypt content on the device. Browser chat samples are unencrypted; MCP samples use signed encryption. The current encryption is unaudited and has no forward secrecy. An authorized agent can retain disclosed plaintext, and metadata remains visible to the backend. An independent review and live-account testing are required before sensitive production use.
Start a conversation. Build thoughtfully.