mcp-server-silverbullet

mcp-server-silverbullet

An MCP server that connects a SilverBullet space over its HTTP filesystem API, exposing a scoped prefix of notes to AI agents with read/write/delete capabilities.

Category
Visit Server

README

mcp-server-silverbullet

CI npm

English · 한국어

An MCP server that connects a SilverBullet space over its HTTP filesystem API (/.fs) and exposes only a chosen prefix to AI agents. It provides five tools plus resources, so you can attach your notes to an agent without handing over the whole space. Runs with npx — no install needed.

Features

  • Prefix scoping — the agent sees only what lives under one prefix (the folder's contents plus its namesake page). Enforced in code, not in the prompt.
  • Scope gating — allow read only, or add write / delete. Tools that aren't allowed are never registered in the first place.
  • Path hardening — absolute paths, .., encoded traversal, and anything outside the prefix are all rejected.
  • Token isolation — the SilverBullet token stays in the server environment and is never exposed to the LLM.

Note — this is a guardrail for the LLM, not a multi-tenant security boundary. SilverBullet's SB_AUTH_TOKEN grants full space access (there are no prefix-scoped tokens), so use it only in an environment you control.

Setup

Requires Node.js ≥ 20 and a SilverBullet instance with SB_AUTH_TOKEN configured.

Add the following to your MCP client (Claude Code, Cursor, Claude Desktop, etc.):

{
  "mcpServers": {
    "silverbullet": {
      "command": "npx",
      "args": ["-y", "@bong-u/mcp-server-silverbullet@0.1.0"],
      "env": {
        "SILVERBULLET_MCP_BASE_URL": "https://notes.example.com",
        "SILVERBULLET_MCP_TOKEN": "<SB_AUTH_TOKEN>",
        "SILVERBULLET_MCP_PREFIX": "projects/work",
        "SILVERBULLET_MCP_SCOPES": "read"
      }
    }
  }
}
Variable Required Default Description
SILVERBULLET_MCP_BASE_URL ✅ — SilverBullet instance URL.
SILVERBULLET_MCP_TOKEN ✅ — SB_AUTH_TOKEN. Never passed to the LLM.
SILVERBULLET_MCP_PREFIX — whole space Subpath the agent may access, e.g. projects/work.
SILVERBULLET_MCP_SCOPES — read,write,delete Allowed operations (must include read).
SILVERBULLET_MCP_TIMEOUT_MS — 15000 Request timeout (ms).
SILVERBULLET_MCP_MAX_SEARCH_BYTES — 1000000 Max file size search_files will scan.
SILVERBULLET_MCP_USER_AGENT — mcp-server-silverbullet/<version> User-Agent sent upstream.

If a required variable is missing or malformed, the server exits immediately with a clear error.

Tools

Paths keep the prefix's top segment (notes.md, notes/todo.md). Feed a path returned by list_files straight into read_file.

Tool Scope Description
list_files read List files under the prefix (optionally within a subpath).
read_file read Read a file — text as utf8, binary as base64.
write_file write Create or replace a file.
delete_file delete Delete a file.
search_files read Substring search over file names and text content.

Files are also exposed as resources: silverbullet://notes/todo.md.

Development

npm install
cp .env.example .env    # fill in instance URL + token
npm run dev             # run straight from source (tsx), loading .env

npm run lint            # biome
npm run typecheck       # tsc --noEmit
npm test                # vitest
npm run build           # compile to dist/

CI runs lint · typecheck · test · build on Node 20, 22, and 24.

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured