second-brain
Provides a Docker container for managing markdown notes with semantic search and an MCP server to expose brain tools to AI clients like Claude.
README
second-brain
Docker container for brain management: zk, semantic search, and Model Context Protocol (MCP) server for Claude Code and Claude Desktop.
The second-brain provides a set of tools and skills to manage a brain of markdown notes using semantic search, structured metadata, and AI capabilities.
Quick start
No repository clone is required to run the second-brain — the Docker image includes everything needed.
# 1. Create a directory for your brain (or use an existing notes folder)
mkdir -p ~/Documents/brain
# 2. Run the setup wizard (choose model provider, create folders, generate .env)
docker run --rm -it \
-v ~/Documents/brain:/brain \
kitchencoder/second-brain:latest \
brain-init
# 3. Start the container
docker run -d --name second-brain --restart unless-stopped \
-v ~/Documents/brain:/brain \
-v second-brain-claude:/home/coder/.claude \
-v second-brain-zsh:/home/coder/.zsh-data \
-p 7779:7779 -p 7780:7780 \
kitchencoder/second-brain:latest
The brain-init wizard will guide you through picking your model provider and embedding model (presets for Docker Model Runner, Ollama, LM Studio, and Anthropic API).
Tiers: the quickstart above is the core image (MCP + brain tools only). Want a browser IDE on top? See the code-server recipe. Want vectors in Postgres instead of the embedded SQLite index? See the full-stack compose recipe.
Documentation Index
For Users
- User Guide: Installation, Host configuration, and how to use the brain.
- Brain Guide: Philosophy and structure of your brain (folders, frontmatter, tags).
- MCP Server: How to connect your brain to AI clients (Claude Code, Claude Desktop, Open WebUI, etc).
- Brain Skills: Detailed list of all AI skills available for managing your brain.
- Authentication: Gate the REST API and MCP HTTP transport behind static tokens or OAuth 2.1 (
profile.auth.mode, default off). - Recipes: Browser IDE (code-server) and full-stack (Postgres/pgvector) layers on top of the core image.
For Developers
- Development Guide: How to build the image, run in development mode, and create new skills or tools.
- CHANGELOG: What has landed in each release.
At a glance
- Semantic Search: Find notes by meaning, not just keywords.
- MCP Server: Expose your brain tools to any Model Context Protocol client.
- Claude Code Integration: Custom skills for note capture, triage, and management.
- Profiles: One engine runs many brains — the default ace profile is cloned on first init; flavours like obsidian and custom forks (folders, skills, templates, queryable fields) are one env var away.
- Multi-platform: Runs anywhere Docker does; works with Obsidian and VS Code on the host.
- Privacy First: Designed to run with local models via Docker Model Runner or Ollama.
Roadmap
The profile refactor shipped in 2.0.0: the engine (this Docker image: search, MCP, editing, auth) is fully separated from the profile (a brain's folders, templates, skills, identity, and queryable fields) — one engine, many brains, no fork.
Landed:
- Profile-driven engine — a brain self-describes via
<brain>/.brain/ - Profiles live in their own public repos (ace, obsidian); the default is cloned from
brain-profile-aceon first init, withprofile.tomlschema versioning - Profile-driven queries — metadata filters adapt to each profile's fields
- Auth — static per-principal bearer tokens and an OAuth 2.1 authorization server behind
profile.auth.mode(defaultnone). See the Authentication guide. - Content visibility / RBAC — role-based read/write layers, oracle-safe. See docs/rbac.md.
- Full-stack tier — Postgres/pgvector index store, admin plane + agent credentials, per-principal retrieval log
- Per-brain host identity (
brain-init --brain-name) and a configurable MCP endpoint for tunnel/reverse-proxy deployments
Planned:
- Admin UI for the RBAC tier
- Community profiles
Custom profiles are covered in the User Guide; the running record is in the CHANGELOG.
Recommended Servers
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.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.