Agent-Native · Open Source · Local-First · Now on Mac App Store

Your second brain,
powered by agents

A local-first markdown note app where AI agents read, write, and organize your knowledge through MCP — while you stay in control with human-in-the-loop review.

Tell Claude Code
Read https://bruin.me/skills.md and help me install Bruin

Claude fetches the reference, configures MCP, and starts using your knowledge base.

Download on Mac App Store Direct Download
Bruin
Personal
Agent: Research
#project/bruin
#ideas
#reading
Architecture Notes
MCP-first design enables agents...
published 2 min ago
Research: Vector DBs
Comparing embedding strategies...
review 1 hr ago
Daily Note - Feb 21
Today's focus: landing page...
draft 3 hr ago
Architecture Notes
## MCP-First Design

Bruin treats AI agents as **first-class citizens**. Every capability available in the GUI is also available through the [[MCP Server]].

### Agent Tools

- `create_note` - Create with full metadata
- `batch_create_notes` - Atomic batch operations
- `semantic_search` - Vector similarity
- `get_backlinks` - Knowledge graph queries

#architecture #mcp

Agent-Native

Built from day one for AI agents. Native MCP server with 66 tools gives agents the same power as the GUI. No Node.js needed.

Human-Reviewed

Notes flow through draft, review, and published states. Humans stay in control of what gets finalized.

Graph-Connected

Wiki-links create a knowledge graph. See how ideas connect with force-directed visualization.

MCP-First

Built for agents,
loved by humans

Bruin ships with a native Rust MCP server built into the app binary — no Node.js, no npm, zero external dependencies. Claude, GPT, and any MCP-compatible agent can create notes, build wiki knowledge bases, search smartly, traverse the knowledge graph, manage agents, tasks, workflows, and workspaces — no GUI required.

66 MCP tools
7 Prompts
0 GUI dependency
mcp-server
// Agent creates a research note
await mcp.call("create_note", {
  title: "LLM Benchmarks Q1",
  content: research_output,
  tags: ["#research", "#llm"],
  workspace: "agent-research"
});

// Semantic search across all notes
const results = await mcp.call(
  "semantic_search",
  { query: "transformer architectures" }
);

// Traverse the knowledge graph
const links = await mcp.call(
  "get_backlinks",
  { note_id: results[0].id }
);
Knowledge Graph

See how your
ideas connect

Link notes with [[wiki-links]] to build an organic knowledge graph. The D3-powered force-directed visualization reveals hidden connections between your ideas, research, and projects.

  • Bidirectional wiki-links with backlink tracking
  • Interactive force-directed graph visualization
  • BFS traversal with configurable depth
  • Tag-based node coloring
MCP Design Agents Search Sync Graph Claude FTS5 iCloud D3
Wiki Knowledge Base

Let AI build your
second brain

Inspired by Karpathy's LLM Wiki pattern. Drop in articles, and AI agents decompose them into cross-linked wiki pages, maintain an auto-generated index, and run health checks to find orphan pages, missing links, and stale content.

  • Ingest raw sources → AI creates 5–15 wiki pages per article
  • Auto-generated wiki index with link counts
  • Health check: orphans, missing pages, stale content
  • Source tracking with SHA-256 deduplication
wiki-ingest
// Ingest an article into your wiki
const src = await mcp.call("wiki_ingest_source", {
  title: "Attention Is All You Need",
  content: article_text,
  url: "https://arxiv.org/abs/1706.03762"
});

// AI creates wiki pages, then link them
await mcp.call("wiki_link_source_pages", {
  source_id: src.id,
  note_ids: created_page_ids
});

// Health check: find orphans & gaps
const report = await mcp.call("wiki_lint");
// → { orphans: 2, missing: 3, stale: 0 }
Smart Search

Search by meaning,
not just keywords

Multi-level scoring ranks title matches highest, then tags, then content — so the most relevant pages surface first. Combined with FTS5 full-text search, tag filters, date ranges, and confidence levels (HIGH/MEDIUM/LOW). No external models or APIs — runs entirely on your machine.

  • Multi-level scoring: title 10x > tags 6x > content
  • SQLite FTS5 for instant full-text search
  • Coverage-based confidence levels
  • CJK and English tokenization built-in
how do transformer attention mechanisms work HIGH
Attention Is All You Need - Notes
42.0
Multi-Head Attention Deep Dive
36.5
Self-Attention vs Cross-Attention
28.0
Transformer Architecture Overview
18.5
Review Workflow

Agents draft,
humans approve

Every note has a state: draft, review, or published. Agents write into draft workspaces, flag notes for review, and humans decide what gets published. A simple, opinionated workflow for human-in-the-loop AI.

  • Three-state lifecycle: draft → review → published
  • Activity feed tracks every state transition
  • Webhook notifications on state changes
  • Per-workspace agent assignment
Draft Agent writes
Review Human checks
Published Ready to use
agent Created note "LLM Benchmarks" 2m ago
agent Changed state draft → review 2m ago
user Changed state review → published 1m ago
What's in v1.0

Agent superpowers

Agent Registry

First-class agent identity. Register, track, and audit every agent that touches your knowledge base.

Task Management

Create, assign, and track tasks linked to notes and agents. Priority indicators with quick-complete.

Workflow Templates

Multi-step agent workflows with variable interpolation. Daily Standup, Research Summary, and more.

And so much more

Hierarchical Tags

Nested tags like #project/bruin/v2 with automatic tree navigation.

Workspaces

Separate spaces for personal notes, agent output, and team projects.

Webhook Management

Visual webhook registration, testing, delivery logs, and HMAC-signed callbacks with retry.

Templates

Daily journals, meeting notes, and custom templates for quick starts.

6 Themes

Dark Graphite, Charcoal, Solarized, Nord, Dracula, and more.

iCloud Sync

Bidirectional sync with conflict resolution. Your notes, everywhere.

Model Context Protocol

60 tools, 6 categories

Bruin's MCP server exposes 60 tools across six categories. Install it alongside Claude Code, Cursor, or any MCP-compatible client.

Notes & Search

14 tools
create_note Create with title, content, tags, workspace
read_note / update_note / delete_note Full CRUD with optimistic locking
batch_create_notes Atomic creation of multiple notes
search_notes / semantic_search FTS5 + vector similarity search
advanced_query Tags AND/OR, dates, word count, FTS
get_backlinks Query knowledge graph connections

Agent Registry

4 tools
register_agent Register agent with capabilities & metadata
list_agents View all registered agents and status
update_agent Modify agent config and capabilities
deactivate_agent Disable agent access gracefully

Tasks & Workflows

9 tools
create_task / complete_task Task lifecycle linked to notes & agents
list_tasks / assign_task Filter, prioritize, and delegate to agents
create_workflow / run_workflow Multi-step agent workflow templates
list_workflows Browse available workflow definitions

Webhooks

3 tools
register_webhook Subscribe to note events with HMAC signing
list_webhooks / test_webhook Manage and verify connectivity

Workspaces & Tags

6 tools
list_workspaces / create_workspace Organize notes into separate spaces
bind_agent_workspace Scope agent access to workspaces
list_tags / manage_tags Hierarchical tag management

Utilities

11 tools
import_markdown / export_note Import .md with frontmatter, export to formats
get_daily_note / list_templates Quick-start templates and daily journals
get_activity / get_stats Activity feed and usage analytics
claude_desktop_config.json
{
  "mcpServers": {
    "bruin": {
      "command": "npx",
      "args": ["bruin-mcp-server"]
    }
  }
}
Architecture

How it all fits together

AI Agent Claude, GPT, custom
MCP Protocol
Bruin App Tauri + Rust + React
SQLite
FTS5
Embeddings
Graph
Human Review & publish
GUI / Editor
iCloud Sync · Webhooks · File Watcher

Built with

Tauri 2 Native desktop shell
Rust Backend & SQLite
React 19 Component UI
Tiptap Markdown editor
D3 Graph visualization
MCP SDK Agent protocol
Claude Code

Manual setup
in 3 steps

Or skip this entirely — paste the one sentence from above into Claude and it configures everything.

1
Add to ~/.claude.json
~/.claude.json
{
  "mcpServers": {
    "bruin": {
      "command": "npx",
      "args": ["bruin-mcp-server"],
      "env": { "BRUIN_AGENT_NAME": "claude-code" }
    }
  }
}
2
Install the skill
terminal
npx bruin-mcp-server --install-skill

Persists Claude's understanding across all sessions

3
Use MCP Prompts
Claude Code
/mcp:bruin-notes:daily_log
/mcp:bruin-notes:research_capture topic="AI frameworks"
/mcp:bruin-notes:weekly_review
/mcp:bruin-notes:link_knowledge
What you get

60 tools,
4 prompts, 4 resources

skills.md

Machine-readable reference at bruin.me/skills.md — one URL gives Claude everything it needs

4 MCP Prompts

Structured workflows: daily_log, research_capture, weekly_review, link_knowledge

60 MCP Tools

Full CRUD, semantic search, knowledge graph, agent registry, tasks, workflows, webhooks

Agent Identity

BRUIN_AGENT_NAME persists your agent across restarts — all writes attributed automatically

View full skills.md →

Get Bruin

Free · Open source · No subscription · Apple-reviewed & approved