# SilverBullet [Health: Active]

**Category:** 📂 File Systems  
**Repository:** https://github.com/wicahma/silverbullet-mcp  
**GitHub Stars:** 0  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/silverbullet

## Description
List, read, write, append, delete and search markdown pages in a SilverBullet space.

## Tools
Capabilities this server exposes over MCP:

- **list_pages** — list every markdown page
- **read_note** — read a page
- **write_note** — create or overwrite a page
- **append_note** — append, creating the page if absent
- **delete_note** — delete a page
- **search_notes** — case-insensitive substring search, returns `path:line: text

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "silverbullet": {
    "command": "npx",
    "args": ["-y","silverbullet-mcp"],
    "env": {
      "MCP_TOKEN": "",
      "SB_URL": "",
      "SB_AUTH_TOKEN": "",
      "SB_USER_AGENT": "",
      "MCP_HOST": "",
      "MCP_PORT": "",
      "MCP_STDIO": ""
    }
  }
}
```

**Requires environment variables:** `MCP_TOKEN`, `SB_URL`, `SB_AUTH_TOKEN`, `SB_USER_AGENT`, `MCP_HOST`, `MCP_PORT`, `MCP_STDIO` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What SilverBullet MCP server does

The SilverBullet MCP server gives MCP-capable clients read and write access to a SilverBullet space. It works in the 📂 File Systems category because its tools operate on Markdown pages stored in that space. The bridge does not install an extension or modify SilverBullet; instead, it translates MCP requests into calls to SilverBullet’s built-in `/.fs` HTTP API.

The available operations are:

- List every Markdown page in the space.
- Read a page by its space-relative path.
- Create a page or replace its contents.
- Append content, creating the page when it does not exist.
- Delete a page.
- Search page contents with a case-insensitive substring query.

Search results use a `path:line: text` format. Page paths must be relative to the space, use the `.md` extension, and cannot contain `..` path segments.

## How it works

The SilverBullet MCP server exposes the same six tools over two transports. In stdio mode, a client starts the process and communicates through newline-delimited JSON-RPC on standard input and output. This is suitable for clients such as Claude Desktop and Cursor. In streamable HTTP mode, the server listens for JSON-RPC requests at `/mcp`, which can be used by remote clients or multiple clients through a reverse proxy.

The bridge itself keeps no persistent state. Each request is sent to the configured SilverBullet URL, so the upstream space must be reachable and expose `/.fs`. The `search_notes` operation reads all pages for each search rather than using a search index. `write_note` replaces the existing page without revision history.

HTTP mode includes a `/health` endpoint and supports bearer-token protection. If `MCP_TOKEN` is configured, requests without the matching authorization header are rejected. The server binds to loopback by default, and exposing the HTTP endpoint without a token would allow reachable clients to read, overwrite, or delete pages.

## Setup and configuration

Run the Python server from a checkout with Python 3, or use the published npm launcher with `npx`. The implementation uses only the Python standard library. Set `SB_URL` when SilverBullet is not available at its default address, `http://127.0.0.1:8123`.

For stdio, start the process with `--stdio` or set `MCP_STDIO` to any value. For HTTP, configure `MCP_TOKEN` and connect the client to the server’s `/mcp` endpoint. `MCP_HOST` and `MCP_PORT` control the listening address and port. `SB_AUTH_TOKEN` is optionally forwarded to SilverBullet, while `SB_USER_AGENT` controls the user-agent sent upstream.

Remote clients must connect to this bridge rather than directly to SilverBullet, because SilverBullet does not provide an MCP endpoint. A reverse proxy can route traffic to `/mcp`, but machine clients cannot complete interactive SSO flows; the bridge’s bearer token is the intended gate for MCP requests.

## Tools and capabilities

The six MCP tools are `list_pages`, `read_note`, `write_note`, `append_note`, `delete_note`, and `search_notes`. Together they cover page discovery, retrieval, replacement, appending, deletion, and unindexed text search. The same tool set is available through both transports.

## Limitations and notes

The server only handles Markdown pages and rejects traversal segments. Search scans every page on each call, which may matter for large spaces. HTTP authentication is separate from SilverBullet’s own authentication, and setting `SB_AUTH_TOKEN` does not by itself guarantee that the upstream instance enforces authentication. Test the upstream configuration before relying on it as the security boundary.

_Full upstream README: https://allmcps.com/mcp/silverbullet/readme_

