secondbrain-mcp
This server lets MCP clients read, search, and analyze a SilverBullet/second brain space over HTTP, read-only by default.
List pages, optionally filtered by path prefix and with system pages included only via
include_system.Read a page’s raw markdown by page name;
${...}and query blocks are returned unevaluated.Run case- and accent-insensitive full-text search across page names and contents, with snippets, limits, and prefix filtering.
List recently modified pages.
List tasks across the space with filters for open/done/all and matching text.
List all inline and frontmatter tags with page counts.
Find pages by tag, including sub-tags.
Find backlinks from pages linking to a target page via wiki links or relative markdown links.
Get a page outline with frontmatter, headings, tags, and outgoing links without the body.
Keep system pages (
Library/,Repositories/,SETTINGS,CONFIG) hidden by default.Opt-in write tools (
write_page,append_to_page) are described in the README whenSB_ALLOW_WRITE=true, but they are not present in the provided server schema.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@secondbrain-mcp list my open tasks tagged #work"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
silverbullet-local-mcp
A small Model Context Protocol server (stdio) that gives MCP clients such as Codex, Opencode or Claude (desktop or code) access to a SilverBullet space through its HTTP file API (/.fs).
It runs locally next to your MCP client and talks to your existing SilverBullet instance over HTTP: nothing to deploy on the server side. It is read-only by default; write tools are only registered when you opt in.
Tools
Tool | What it does |
| List pages, optionally filtered by |
| Raw markdown of a page (e.g. |
| Frontmatter, headings, tags and links, without the body |
| Case- and accent-insensitive full-text search, with snippets |
| Most recently modified pages |
|
|
| Inline |
| Pages linking to a given page ( |
| Only when |
System pages (Library/, Repositories/, SETTINGS, CONFIG) are hidden by default; pass include_system: true to include them.
${...} expressions and query[[...]] blocks are returned unevaluated: SilverBullet evaluates them in the browser.
Related MCP server: mcp-server-silverbullet
Configuration (environment variables)
Variable | Default | |
| — (required) | Base URL of your SilverBullet space, e.g. |
| — | Sent as |
|
| Enables the write tools |
|
| Comma-separated prefixes treated as system pages |
If your SilverBullet instance has authentication enabled, SB_TOKEN is required; without it the server reports that authentication is needed.
Install as a Claude plugin
The repository is also a Claude plugin (.claude-plugin/plugin.json, .mcp.json and a skill that teaches Claude how to use the tools). When you enable it, Claude asks for:
SilverBullet URL (required)
SilverBullet token (optional, stored as a secret)
Allow writing (off by default)
In Claude Code:
claude plugin marketplace add jesusr/secondbrain-mcp
claude plugin install silverbullet-local@silverbullet-local-mcpThe plugin runs the server locally with npx, so it works in Claude Code and in Claude Desktop on your computer, not in claude.ai on the web.
Use as a standalone MCP server
Requires Node.js 20 or later.
Claude Code:
claude mcp add silverbullet -s user -e SB_URL=http://localhost:3000 -e SB_TOKEN=xxx -- npx -y silverbullet-local-mcpAdd -e SB_ALLOW_WRITE=true to enable writing.
Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"silverbullet": {
"command": "npx",
"args": ["-y", "silverbullet-local-mcp"],
"env": {
"SB_URL": "http://localhost:3000",
"SB_TOKEN": "xxx"
}
}
}
}The token lives in plain text in your client configuration: treat that file as a secret.
From source:
npm install
npm run build
node dist/index.js # with SB_URL (and SB_TOKEN) setPrivacy Policy
This server runs entirely on your computer and collects nothing.
Data collection: none. The server has no telemetry, analytics or crash reporting.
Usage and storage: it reads and, only if you enable writing, modifies pages in the SilverBullet space you configure, by calling that space's HTTP API. Page content passes through the server to your MCP client (for example Claude) when a tool is called; the server itself stores nothing on disk.
Third-party sharing: the server only talks to the SilverBullet URL you configure. It sends no data to the author or any other third party. What your MCP client does with the content it receives is governed by that client's own privacy policy (for Claude, Anthropic's).
Data retention: none. Nothing is kept after a request completes. Your token is stored by your MCP client (as a secret when installed as a Claude plugin), not by this server.
Contact: open an issue at https://github.com/jesusr/secondbrain-mcp/issues.
License
MIT
Available Tools
9 toolsbacklinksBacklinksARead-only
Find pages that link to the given page via [[wiki links]] or relative markdown links.
Inputs: name (required), include_system.
list_pagesList pagesBRead-only
List pages in the second brain (SilverBullet space) with last-modified date and size.
Inputs: prefix, include_system.
list_tagsList tagsARead-only
List all #tags (inline and frontmatter) with the number of pages using each.
Inputs: prefix, include_system.
list_tasksList tasksARead-only
List markdown tasks (- [ ] / - [x] / custom states) across the space.
Inputs: prefix, status, contains, include_system.
page_outlinePage outlineBRead-only
Get a page's frontmatter, headings, tags and outgoing links without the full body.
Inputs: name (required).
pages_by_tagPages by tagARead-only
Find pages tagged with a given tag (with or without #). Matches sub-tags too, e.g. 'project' matches 'project/website'.
Inputs: tag (required), include_system.
read_pageRead pageARead-only
Read the raw markdown of a page. Name is the page path without .md, e.g. 'projects/website/roadmap'. Note: ${...} Lua expressions and query blocks are returned unevaluated.
Inputs: name (required).
recent_pagesRecently modified pagesCRead-only
List the most recently modified pages.
Inputs: limit, prefix, include_system.
searchFull-text searchARead-only
Search page names and contents (case- and accent-insensitive). All terms must match. Returns matching pages ranked by relevance with snippets.
Inputs: query (required), limit, prefix, include_system.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 9 tools
Most tools target clearly distinct retrieval concerns: tag inventory, page listing, full-text search, recent pages, tag filtering, backlinks, tasks, and outlines. There is some overlap among list_pages, recent_pages, search, and pages_by_tag since all can return page sets, but the descriptions make their filters and purposes reasonably clear.
The names mix verb-first forms (list_tags, list_pages, read_page, search, list_tasks) with noun-phrase forms (recent_pages, pages_by_tag, backlinks, page_outline). The mixed conventions are still understandable, but they do not follow a single predictable pattern.
Nine tools is well-scoped for a note/knowledge-base server. Each tool corresponds to a meaningful retrieval operation without excessive surface area.
The read-oriented surface covers search, listing, reading, metadata, tags, tasks, backlinks, and recency well. However, it lacks any create, update, delete, or task-toggle operations, which are notable gaps for a second-brain workflow if write access is intended.
Maintenance
Related MCP Connectors
Agent-native MCP server over the public saagarpatel.dev corpus. Read-only, stateless.
OAuth-protected, read-only-by-default MCP server for provenance-labeled QuillCaddie project memory.
Official Fibery MCP server: query and update your workspace from any AI client via OAuth.
Read-only MCP server for the OrchestKit docs: full-text search + Markdown fetch. No auth.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables LLMs to interact with SilverBullet notes and data through a bridge server. Provides secure access to read and manipulate your SilverBullet space via standardized MCP tools and resources.40MIT
- AlicenseNot gradedqualityCmaintenanceAn 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.MIT
- AlicenseNot gradedqualityBmaintenanceEnables MCP clients to read and search pages in a remote SilverBullet space and create or append to notes under a configurable prefix via SilverBullet's HTTP API.Apache 2.0
- AlicenseNot gradedqualityCmaintenanceEnables MCP clients that support remote servers, such as ChatGPT, to securely search, fetch, list, and optionally create or update objects in a self-hosted Anytype space over HTTPS.MIT