Claude Nb
FreeNot checkedIntegrates nb command-line note-taking with Claude Code, enabling adding, listing, searching, and showing notes organized by project directory.
About
Integrates nb command-line note-taking with Claude Code, enabling adding, listing, searching, and showing notes organized by project directory.
README
MCP server for integrating nb (command-line note-taking) with Claude Code.
Features
- Working Directory-based Notebooks: Automatically organizes notes by project/working directory
- Claude Folder Organization: Separates Claude-generated notes from manual notes
- 4 Core Tools: Add, list, search, and show notes
- Secure: Prevents command injection and provides proper error handling
- Easy Setup: Simple integration with Claude Code
Folder Structure
Claude-generated notes are automatically organized in a claude/ subfolder within each notebook:
~/.nb/
├── dotfiles/
│ ├── claude/ # Claude-generated notes
│ │ └── 20260101171752.md
│ └── manual-note.md # Your manual notes
└── my-app/
├── claude/ # Claude-generated notes
└── manual-note.md # Your manual notes
This separation allows you to:
- Keep Claude's automatic notes separate from your manual notes
- Easily filter or search only Claude's notes
- Maintain a cleaner organization
Prerequisites
- nb (v7.x recommended)
- Node.js >= 18.0.0
- Claude Code
Installing nb
# macOS
brew install nb
# Or using the installer
curl -L https://raw.github.com/xwmx/nb/master/nb -o /usr/local/bin/nb && chmod +x /usr/local/bin/nb
Installation
- Clone this repository:
cd ~/workspace # or your preferred location
git clone https://github.com/lowbridgee/claude-nb-mcp.git
cd claude-nb-mcp
- Install dependencies:
npm install
- Build the project:
npm run build
- Register with Claude Code:
claude mcp add --transport stdio nb --scope user -- node /absolute/path/to/claude-nb-mcp/dist/index.js
Replace /absolute/path/to/claude-nb-mcp with the actual absolute path.
Usage
Automatic Notebook Selection
When you run Claude Code in a project directory, notes are automatically saved to a notebook named after that directory:
| Working Directory | Notebook Name |
|---|---|
/Users/you/dotfiles |
dotfiles |
/Users/you/projects/my-app |
my-app |
Available Tools
nb_add
Add a new note to the current project's notebook.
Parameters:
content(required): Note contenttitle(optional): Note titletags(optional): Array of tags
Example:
nb_add({
content: "This is a technical note about the authentication bug.",
title: "Auth Bug Analysis",
tags: ["bug", "authentication"]
})
nb_list
List notes from the current project's notebook.
Parameters:
limit(optional, default: 20): Maximum number of notestype(optional): Filter by type (note,bookmark,todo)
Example:
nb_list({ limit: 10, type: "note" })
nb_search
Search notes in the current project's notebook.
Parameters:
query(required): Search querylimit(optional, default: 10): Maximum results
Example:
nb_search({ query: "authentication", limit: 5 })
nb_show
Show the full content of a specific note.
Parameters:
id(required): Note ID (fromnb_listoutput)
Example:
nb_show({ id: 3 })
Custom Notebook Name
You can override the automatic notebook name by setting the NB_NOTEBOOK environment variable:
{
"mcpServers": {
"nb": {
"type": "stdio",
"command": "node",
"args": ["/path/to/claude-nb-mcp/dist/index.js"],
"env": {
"NB_NOTEBOOK": "my-custom-notebook"
}
}
}
}
Development
# Build
npm run build
# Watch mode
npm run dev
How It Works
- Notebook Detection: On startup, the server reads
PWDorprocess.cwd()to determine the working directory - Notebook Name: Uses the basename of the working directory (e.g.,
dotfilesfrom/Users/you/dotfiles) - nb Commands: Executes
nb <notebook>:<command>for all operations
Troubleshooting
"nb command not found"
Install nb:
brew install nb
# or
curl -L https://raw.github.com/xwmx/nb/master/nb -o /usr/local/bin/nb && chmod +x /usr/local/bin/nb
Notes not showing up
Check which notebooks exist:
nb notebooks
Verify the notebook name matches your project directory:
nb dotfiles:list # Replace 'dotfiles' with your directory name
Permission errors
Ensure the MCP server has execute permissions on nb:
which nb
nb --version
License
MIT
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Installing Claude Nb
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/lowbridgee/claude-nb-mcpFAQ
Is Claude Nb MCP free?
Yes, Claude Nb MCP is free — one-click install via Unyly at no cost.
Does Claude Nb need an API key?
No, Claude Nb runs without API keys or environment variables.
Is Claude Nb hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Claude Nb in Claude Desktop, Claude Code or Cursor?
Open Claude Nb on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Claude Nb with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
