LabscoMCP early access ↗
Ahmad-A0MCP SERVER

SilverBullet MCP Server

Put a SilverBullet space behind a token-authenticated MCP endpoint, so an assistant can read and work with your notes over HTTP without exposing SilverBullet itself.

by Ahmad-A0 ↗Note-Taking & Personal Knowledge BasesCommunity

LABSCO SUMMARY

Two separate tokens, which is the right shape for this.

SB_AUTH_TOKEN is the bridge's own credential into SilverBullet and MCP_TOKEN is what a client presents — so revoking an assistant's access does not mean rotating your note-taking setup. Note that the query-parameter form puts the token in the URL, where it tends to end up in logs and shell history; prefer the Authorization header where your client supports one.

What it is

A bridge between a SilverBullet instance and MCP clients. It runs beside your SilverBullet container under Docker Compose, holds the credential that talks to SilverBullet's API, and exposes your space to external applications as standardised MCP tools and resources behind its own token — so the client authenticates to the bridge, not to SilverBullet.

What you get

  • Your SilverBullet notes and data reachable through MCP tools and resources, rather than through SilverBullet's own API surface
  • A Streamable HTTP endpoint at http://localhost:4000/mcp for clients that can send custom headers
  • Two accepted authentication forms: an Authorization: Bearer header, or a ?token= query parameter appended to the endpoint URL
  • A stdio path for clients that cannot do HTTP, by putting mcp-remote in front with --transport http-only and the token passed as a header
  • A Docker Compose setup that brings up both SilverBullet and the bridge together, with SilverBullet on http://localhost:3000

Requirements

Docker and Docker Compose, plus a running SilverBullet instance — docker-compose up --build starts both. Three settings live in .env: SB_AUTH_TOKEN, the shared token between SilverBullet and the bridge; MCP_TOKEN, the token your client presents; and optionally SB_API_BASE_URL, which defaults to http://silverbullet:3000 under the provided Compose file. PORT moves the bridge off its default of 4000. The package is silverbullet-mcp-server 1.1.0. Clients that only speak stdio need mcp-remote; on Cursor and Claude Desktop on Windows, keep the header argument free of spaces, as the README's Authorization:Bearer ${MCP_SERVER_TOKEN} form does.

Setup effort

Run a container — build the image from the repository, then point your client at it