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.
Read https://bruin.me/skills.md and help me install Bruin
Claude fetches the reference, configures MCP, and starts using your knowledge base.
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.
Notes flow through draft, review, and published states. Humans stay in control of what gets finalized.
Wiki-links create a knowledge graph. See how ideas connect with force-directed visualization.
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.
// 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 }
);
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.
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 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 }
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.
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.
First-class agent identity. Register, track, and audit every agent that touches your knowledge base.
Create, assign, and track tasks linked to notes and agents. Priority indicators with quick-complete.
Multi-step agent workflows with variable interpolation. Daily Standup, Research Summary, and more.
Nested tags like #project/bruin/v2 with automatic tree navigation.
Separate spaces for personal notes, agent output, and team projects.
Visual webhook registration, testing, delivery logs, and HMAC-signed callbacks with retry.
Daily journals, meeting notes, and custom templates for quick starts.
Dark Graphite, Charcoal, Solarized, Nord, Dracula, and more.
Bidirectional sync with conflict resolution. Your notes, everywhere.
Bruin's MCP server exposes 60 tools across six categories. Install it alongside Claude Code, Cursor, or any MCP-compatible client.
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
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
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
register_webhook
Subscribe to note events with HMAC signing
list_webhooks / test_webhook
Manage and verify connectivity
list_workspaces / create_workspace
Organize notes into separate spaces
bind_agent_workspace
Scope agent access to workspaces
list_tags / manage_tags
Hierarchical tag management
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
{
"mcpServers": {
"bruin": {
"command": "npx",
"args": ["bruin-mcp-server"]
}
}
}
Or skip this entirely — paste the one sentence from above into Claude and it configures everything.
~/.claude.json{
"mcpServers": {
"bruin": {
"command": "npx",
"args": ["bruin-mcp-server"],
"env": { "BRUIN_AGENT_NAME": "claude-code" }
}
}
}
npx bruin-mcp-server --install-skill
Persists Claude's understanding across all sessions
/mcp:bruin-notes:daily_log
/mcp:bruin-notes:research_capture topic="AI frameworks"
/mcp:bruin-notes:weekly_review
/mcp:bruin-notes:link_knowledge
Machine-readable reference at bruin.me/skills.md — one URL gives Claude everything it needs
Structured workflows: daily_log, research_capture, weekly_review, link_knowledge
Full CRUD, semantic search, knowledge graph, agent registry, tasks, workflows, webhooks
BRUIN_AGENT_NAME persists your agent across restarts — all writes attributed automatically
Free · Open source · No subscription · Apple-reviewed & approved