SilverBullet API
v1.0.0MCP server for SilverBullet note-taking app - read, write, search, and manage markdown pages
Security Scan
OpenClaw
Benign
high confidencePurpose & Capability
The name, description, SKILL.md examples, and server.py tools all map to SilverBullet REST endpoints (.fs, .ping, .config). Required binaries and tools referenced in SKILL.md (python/uv, mcporter) are appropriate for running an MCP server and the provided pyproject lists expected deps (mcp[cli], httpx).
Instruction Scope
Runtime instructions confine activity to installing the package, configuring mcporter, setting SILVERBULLET_URL, and running the server. The SKILL.md does not direct the agent to read unrelated files, harvest system credentials, or transmit data to third-party endpoints outside the configured SilverBullet URL.
Install Mechanism
This is an instruction-first skill with a script-based install (uv venv + uv pip install -e .). Installing creates a virtualenv and installs from PyPI (mcp, httpx). This is expected for a Python MCP server, but the install writes files locally and runs package installs — review before running. No downloads from unknown hosts or URL shorteners are present.
Credentials
The code reads a single environment variable (SILVERBULLET_URL) to determine the server address, which is proportionate. However, registry metadata lists no required env vars while SKILL.md and README instruct the user to set SILVERBULLET_URL — this mismatch is a minor inconsistency to be aware of.
Persistence & Privilege
The skill does not request always:true and does not modify other skills or system-wide configuration. It suggests writing a mcporter entry (user-level config) which is appropriate for an MCP server integration.
Assessment
This skill appears to do what it says — it performs HTTP calls to a SilverBullet server and exposes standard file/read/write/search tools. Before installing: 1) Verify the SILVERBULLET_URL you will set (prefer a local or trusted host); the skill can read/write any pages accessible at that URL, so pointing it at an untrusted remote host risks exposing your notes. 2) Inspect server.py and the package contents (you already have them) and confirm you are comfortable running uv pip install -e . locally. 3) Be aware the SKILL.md asks you to add a mcporter entry in ~/.mcporter/mcporter.json and to export SILVERBULLET_URL — these are normal but note the registry metadata did not declare the env var (minor inconsistency). 4) If you run the demo or tests, do so against a test or local SilverBullet instance to avoid accidental modification of production notes. If you want greater assurance, run the package install in an isolated environment and review network traffic from the process while testing.Like a lobster shell, security has layers — review code before you run it.
Runtime requirements
Binspython3, uv
latest
SilverBullet MCP Server
This skill provides an MCP server for interacting with SilverBullet, a self-hosted markdown-based note-taking app.
Installation
Via ClawdHub
clawdhub install silverbullet
Manual
cd ~/.clawdbot/skills/silverbullet
uv venv
source .venv/bin/activate
uv pip install -e .
Configuration
1. Set SilverBullet URL
export SILVERBULLET_URL="http://localhost:3000"
Or add to your shell profile (~/.zshrc / ~/.bashrc).
2. Configure mcporter
Add to ~/.mcporter/mcporter.json:
{
"servers": {
"silverbullet": {
"command": "python",
"args": ["{baseDir}/server.py"],
"transport": "stdio",
"env": {
"SILVERBULLET_URL": "http://localhost:3000"
}
}
}
}
Replace {baseDir} with the actual skill path (e.g., ~/.clawdbot/skills/silverbullet).
3. Verify Installation
mcporter list silverbullet
Should show all available tools.
Available Tools
| Tool | Description |
|---|---|
list_files | List all files in the SilverBullet space |
read_page | Read markdown content from a page |
write_page | Create or update a page |
delete_page | Delete a page |
append_to_page | Append content to an existing page |
search_pages | Search pages by name pattern |
get_page_metadata | Get page metadata (modified, created, permissions) |
ping_server | Check if SilverBullet server is available |
get_server_config | Get server configuration |
Usage Examples
List all pages
mcporter call silverbullet.list_files
Read a page
mcporter call silverbullet.read_page path:"index.md"
mcporter call silverbullet.read_page path:"journal/2024-01-15.md"
Create or update a page
mcporter call silverbullet.write_page path:"notes/meeting.md" content:"# Meeting Notes\n\n- Item 1\n- Item 2"
Append to a page
mcporter call silverbullet.append_to_page path:"journal/today.md" content:"## Evening Update\n\nFinished the project."
Search for pages
mcporter call silverbullet.search_pages query:"meeting"
Delete a page
mcporter call silverbullet.delete_page path:"drafts/old-note.md"
Check server status
mcporter call silverbullet.ping_server
Natural Language Examples
Once configured, you can ask Moltbot:
- "List all my SilverBullet pages"
- "Read my index page from SilverBullet"
- "Create a new page called 'Project Ideas' with a list of features"
- "Search for pages containing 'meeting' in the name"
- "Append today's notes to my journal"
- "What's the last modified date of my TODO page?"
- "Is my SilverBullet server running?"
Troubleshooting
Server not responding
- Check if SilverBullet is running:
curl http://localhost:3000/.ping - Verify
SILVERBULLET_URLis set correctly - Check firewall/network settings
Permission denied errors
SilverBullet pages can be read-only. Check the X-Permission header or use get_page_metadata to verify permissions.
Tool not found
- Verify mcporter config:
cat ~/.mcporter/mcporter.json - Test server directly:
python {baseDir}/server.py(should start without errors) - Check Python/uv installation:
which python3 uv
API Reference
See SilverBullet HTTP API for full documentation of the underlying REST API.
Comments
Loading comments...
