Notes MCP server
✓ VerifiedLets an AI client manage local markdown notes with semantic search, wiki-links, tags, and todo tracking.
Also known as Abhishekkumar2021/mcp-suite, @abhishekmcp/notes
- Stars
- 1
- Tools
- —
- Downloads, 30 days
- 736
- Latest version
- 0.4.1
- Last commit
- Jul 4, 2026
- License
- MIT
What is Notes MCP?
Notes lets an AI client manage local markdown notes with semantic search, wiki-links, tags, and todo tracking.
Summary generated from the project's README
About Notes MCP server
Managing a personal knowledge base through an AI client is possible with the Notes MCP server. This tool allows users to interact with local markdown files using advanced features like ranked full-text and semantic search, tags, and todo tracking. It supports a knowledge graph through wiki-links and provides workflows for daily notes, templates, and slash-command prompts.
Developers can connect this server to clients such as Claude Desktop, Claude Code, or Cursor. Setup requires specifying a NOTES_DIR environment variable to point to your local markdown directory. The server is built with TypeScript and uses MiniSearch along with WebAssembly embeddings to handle search tasks efficiently. It is designed to be portable and lightweight, running via node or npx without requiring heavy native dependencies.
What you can do with it
- 1Semantic knowledge retrievalAsk your AI to find information based on meaning rather than just exact keyword matches.
- 2Organizing tasks and notesHave the AI manage your to-do lists and categorize information using tags.
- 3Automating daily documentationUse the AI to generate daily entries or follow specific note-taking workflows.
Written from the project's README. Every use case is checked against a quote from it.
How to install Notes MCP
Formats verified 10 Nov 2026Install Notes MCP in Claude Code
$ claude mcp add notes -- npx -y @abhishekmcp/notesInstall Notes MCP in Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"notes": {
"command": "npx",
"args": [
"-y",
"@abhishekmcp/notes"
]
}
}
}Install Notes MCP in VS Code
.vscode/mcp.json
{
"servers": {
"notes": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@abhishekmcp/notes"
]
}
}
}Install Notes MCP in Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"notes": {
"command": "npx",
"args": [
"-y",
"@abhishekmcp/notes"
]
}
}
}Install Notes MCP in Codex
~/.codex/config.toml
[mcp_servers.notes] command = "npx" args = ["-y", "@abhishekmcp/notes"]
Install Notes MCP in Gemini CLI
~/.gemini/settings.json
{
"mcpServers": {
"notes": {
"command": "npx",
"args": [
"-y",
"@abhishekmcp/notes"
]
}
}
}Configuration
NOTES_DIRDirectory containing your markdown notes (defaults to ~/notes).
NOTES_MODEL_DIRWhere the semantic-search embedding model is cached.
NOTES_READONLYSet to 1 or true to disable all note-modifying tools.
| Name | Description | |
|---|---|---|
| NOTES_DIR | Directory containing your markdown notes (defaults to ~/notes). | |
| NOTES_MODEL_DIR | Where the semantic-search embedding model is cached. | |
| NOTES_READONLY | Set to 1 or true to disable all note-modifying tools. |
Automated checks
Ran Nov 14, 2026Full report →Passed our automated checks. That is not a security audit: read the code and give the server the narrowest access it needs. How checks work
- Source repository linked and reachableabhishekkumar2021/mcp-suite is public and reachablegithub.com/abhishekkumar2021/mcp-suite ↗Pass
- Package names this repository as its source@abhishekmcp/notes names abhishekkumar2021/mcp-suite as sourcenpmjs.com/package/@abhishekmcp/notes ↗Pass
- Build provenance (Sigstore attestation)Sigstore attestation for @abhishekmcp/notesnpmjs.com/package/@abhishekmcp/notes/v/0.4.1#provenance ↗Pass
- Open source license (OSI)MITspdx.org/licenses/MIT.html ↗Pass
- Commit or release in the last yearLast commit or release 2026-07-04github.com/abhishekkumar2021/mcp-suite ↗Pass
- OpenSSF ScorecardNot checked
- Package name not close to a popular packageNo popular package one edit away from @abhishekmcp/notesPass
- No critical advisory in the package or its dependencies118 resolved dependencies checked; no critical advisoryosv.dev ↗Pass
- No hidden instructions to the model0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersPass
- Destructive tools are labelledNot checked
- Remote endpoint answers the MCP handshakeNot checked
README
View on GitHub🧰 mcp-suite
A collection of Model Context Protocol servers, built in TypeScript.
Each server lives in its own folder under servers/ and publishes to npm as an independent package, while sharing tooling through an npm workspace. Connect them to any MCP client — Claude Desktop, Claude Code, Cursor, and more.
Table of contents
- Servers
- Quickstart
- Install
- Connecting to a client
- Architecture & conventions
- Development
- Adding a new server
- Publishing
- Contributing
- License
Servers
| Server | Description | Status |
|---|---|---|
notes |
Local markdown notes: ranked full-text and semantic search, tags, todos, a [[wiki-link]] knowledge graph, daily notes + templates, and slash-command workflows (prompts) |
✅ Stable |
files |
Sandboxed local filesystem: read, glob + content search, token-efficient edits, copy/move, soft-delete trash, zip, checksums, and dedup | ✅ Stable |
github |
GitHub: search repos/code/issues, read repos/issues/PRs/files, notifications, create issues — OAuth device flow or token | ✅ Stable |
git |
Git: status, log, diff, file history, branches/tags, gated stage/commit, and remote clone/fetch/pull/push — pure-JS, no git binary | ✅ Stable |
sql |
SQL databases: read-only query + schema introspection over Postgres & SQLite, gated writes | ✅ Stable |
http |
HTTP/REST client: ad-hoc requests + saved collections/environments, env secrets, host-allowlisted + SSRF-safe | ✅ Stable |
More on the way: a Spotify controller, and others.
Quickstart
git clone https://github.com/Abhishekkumar2021/mcp-suite.git
cd mcp-suite
npm install # installs deps for every workspace
npm run build # builds every server
Install
Every server ships through every common channel. For the Claude Code plugin, add the marketplace
once — /plugin marketplace add Abhishekkumar2021/mcp-suite — then install per the table. See each
server's README for full config.
| Server | Claude Code plugin | npm (any client) | Claude Desktop (MCPB) | MCP registry |
|---|---|---|---|---|
notes |
/plugin install notes |
npx -y @abhishekmcp/notes |
drag notes-*.mcpb from the latest release |
io.github.Abhishekkumar2021/notes |
files |
/plugin install files |
npx -y @abhishekmcp/files |
drag files-*.mcpb |
io.github.Abhishekkumar2021/files |
github |
/plugin install github |
npx -y @abhishekmcp/github |
drag github-*.mcpb |
io.github.Abhishekkumar2021/github |
git |
/plugin install git |
npx -y @abhishekmcp/git |
drag git-*.mcpb |
io.github.Abhishekkumar2021/git |
sql |
/plugin install sql |
npx -y @abhishekmcp/sql |
drag sql-*.mcpb |
io.github.Abhishekkumar2021/sql |
http |
/plugin install http |
npx -y @abhishekmcp/http |
drag http-*.mcpb |
io.github.Abhishekkumar2021/http |
notesdefaults to~/notes;filesrequiresFS_ROOTS(the directories it may touch). MCPB bundles install via Claude Desktop → Settings → Extensions.
Connecting to a client
Each server's README has full configuration instructions. As an example, to use the notes server with Claude Code:
claude mcp add notes --env NOTES_DIR=$HOME/notes -- node "$(pwd)/servers/notes/dist/index.js"
Or with Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"notes": {
"command": "node",
"args": ["/absolute/path/to/mcp-suite/servers/notes/dist/index.js"],
"env": { "NOTES_DIR": "/absolute/path/to/your/notes" }
}
}
}
Architecture & conventions
A few principles hold across every server:
- Pure-JS/WASM by default; native only when genuinely required. Servers run via
npx/MCPB on any machine, so portable pure-JS/WebAssembly is strongly preferred and a native dependency is used only when genuinely required (gated + documented). In practice these servers are dependency-light:notesuses MiniSearch + WebAssembly embeddings,sqluses thesql.jsWASM SQLite engine, andfilesusesfast-globinstead of ripgrep.npm auditstays clean. - Sandbox-first, layered design. Each server keeps a thin
index.ts(tool registration only) over focused modules, with a single security boundary every path must pass through (realpath-containment, symlink-escape rejection, atomic writes). - Token-efficient by default. Pagination, head/tail/section reads, snippets, and compact graph refs keep tool output small.
- Automated, hands-off releases. A GitHub Release tagged
<server>-v<version>publishes to npm (with provenance), the official MCP registry, and attaches an MCPB bundle — all via OIDC, no secrets. - Tested in CI. Each server ships a committed
node:testsuite (unit + integration/security) run on every push.
Development
This is an npm workspaces monorepo.
npm install # install all workspace dependencies (run once at the root)
npm run build # build every server
npm run build -w servers/notes # build a single server
npm test --workspaces --if-present # run each server's test suite
npm run clean # remove all build output
Adding a new server
- Create
servers/<name>/with its ownpackage.json(unique npmname) and atsconfig.jsonthatextends: "../../tsconfig.base.json". - Put source in
servers/<name>/src/. - Run
npm installat the root so the workspace picks it up. - Add a row to the Servers table above.
All servers follow the naming standard (@abhishekmcp/<slug>). See CONTRIBUTING.md for detailed guidelines.
Publishing
Releases are automated. Cutting a GitHub Release tagged <server>-v<version> triggers
publish.yml, which — authenticated entirely via GitHub OIDC (no
NPM_TOKEN) — publishes the package to npm with provenance, registers it on the official MCP
registry, and builds + attaches the MCPB bundle to the release.
# bump servers/<name>/package.json, commit, then:
gh release create <name>-v<version> --title "<name> v<version>" --notes "…"
Contributing
Contributions are welcome! Please read CONTRIBUTING.md and our Code of Conduct. Found a security issue? See SECURITY.md.
License
MIT © Abhishek
Notes MCP questions
How do I add Notes MCP to Claude Code?
Run claude mcp add notes -- npx -y @abhishekmcp/notes in your terminal. Add --scope user to make it available in every project.
How do I add Notes MCP to Cursor?
Open ~/.cursor/mcp.json and add the server under mcpServers, using the Cursor config shown in the install section above.
What features does the notes server provide?
It supports ranked full-text and semantic search, tags, todos, a wiki-link knowledge graph, daily notes with templates, and slash-command workflows.
How do I configure the directory for my notes?
You can specify the notes directory using the NOTES_DIR environment variable.
Where are the notes stored by default?
The server defaults to the ~/notes directory.