Knowledge Base MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Knowledge Base MCP Serversearch my notes for 'marketing strategy'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
š§ Knowledge Base MCP Server
A zero-dependency Model Context Protocol (MCP) server that gives Claude a persistent personal knowledge base ā built entirely with Node.js built-ins.
What is MCP?
The Model Context Protocol is an open standard (by Anthropic) that lets AI assistants talk to external tools and data sources in a structured, secure way. Think of it as a universal plugin system for LLMs.
āāāāāāāāāāāāāāāāāāā JSON-RPC 2.0 āāāāāāāāāāāāāāāāāāāāāāāā
ā Claude Desktop ā āāāāāāā stdio āāāāāāāāāāāŗ ā knowledge-mcp ā
ā (MCP host) ā ā (this server) ā
āāāāāāāāāāāāāāāāāāā āāāāāāāāāāāāāāāāāāāāāāāā
ā ā
ā calls tools like kb_search(query="python") ā
ā reads resources like kb://notes ā
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāEvery message is a JSON-RPC 2.0 object sent over stdin/stdout.
Related MCP server: wiki-search-mcp
Architecture
server.js
āāā Persistence layer loadDB / saveDB (JSON file in ~/)
āāā Business logic noteAdd / noteSearch / noteList / noteDelete / noteStats
āāā MCP dispatch table dispatch(method, params, db) ā result | error
āāā stdio transport readline loop ā JSON-RPC framingThe MCP Handshake
client ā server: initialize { protocolVersion, clientInfo }
server ā client: result { protocolVersion, capabilities, serverInfo }
client ā server: notifications/initialized (no response expected)After this, the client can call any method at any time.
Tools
Tool | Description |
| Store a note with title, content, and optional tags |
| Full-text + tag search (AND logic for multiple tags) |
| List all notes, optionally filtered by tag |
| Delete a note by ID |
| Summary stats: note count, tag index, newest/oldest |
Resources
URI | Description |
| Complete JSON dump of all notes |
| Tag ā note-list index |
Installation
Prerequisites
Node.js 18+ (no npm packages required)
Add to Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json
(macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"knowledge-base": {
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/knowledge-mcp/server.js"]
}
}
}Restart Claude Desktop. You'll see a š icon confirming the server connected.
Add to Claude Code (CLI)
claude mcp add knowledge-base node /absolute/path/to/server.jsRunning Manually
# Start the server (stays alive, reads from stdin)
node server.js
# Run unit tests
node server.js --test
# Run integration tests (spawns a real server subprocess)
node integration-test.jsTry it interactively
node server.jsThen paste (hit Enter after each line):
{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05"}}
{"jsonrpc":"2.0","method":"notifications/initialized","params":{}}
{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"kb_add","arguments":{"title":"Hello","content":"My first note","tags":["demo"]}}}
{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"kb_search","arguments":{"query":"first"}}}Key Design Decisions
Zero dependencies ā Ships as a single file. Works wherever Node ā„ 18 exists.
File persistence ā Notes survive restarts. DB lives at
~/.knowledge-mcp-db.json.Strict JSON-RPC ā Correct error codes (-32601 method-not-found, -32603 internal, -32700 parse-error) so MCP hosts can handle errors gracefully.
Notifications handled ā
notifications/initializedis a one-way message; the server silently ignores it rather than sending a bogus response.isError flag ā Tool errors use
{ isError: true }per spec, not JSON-RPC errors, so Claude sees the error text rather than a protocol failure.
Data Format
{
"id": "1",
"title": "MCP Guide",
"content": "Model Context Protocol connects AI to tools.",
"tags": ["mcp", "ai"],
"createdAt": "2026-03-09T05:00:00.000Z",
"updatedAt": "2026-03-09T05:00:00.000Z"
}Extending This Server
To add a new tool:
Add its logic as a plain function (e.g.
noteUpdate)Add a descriptor object to the
TOOLSarrayAdd a
case 'kb_update':to thetools/callswitch block
That's it ā no framework, no codegen, no magic.
This server cannot be deployed
Maintenance
Related MCP Connectors
- TaprootOAuthcom.taproothq
Persistent memory layer for AI tools. Save and recall notes across Claude and other MCP clients.
Google Keep-style notes app with an MCP server for AI agents to read/write notes.
MCP-native notes and memory for ChatGPT, Claude, and other AI tools.
Markdown-based note-taking with a hosted MCP server. Your notes serve you and your AI.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceBuilt on Obsidian Vault, this MCP server integrates with Claude Code to provide personal knowledge management including note saving, full-text search, code graph extraction, and context resumption.1-
- AlicenseNot gradedqualityBmaintenanceA zero-config personal knowledge management MCP server that enables Claude Desktop to automatically classify, search, and organize local Markdown notes using hybrid search and Graph RAG.4MIT
- FlicenseNot gradedqualityFmaintenanceA Model Context Protocol (MCP) server that gives Claude a persistent personal notebook. Notes are stored on disk as JSON, so they survive restarts and are shared across every tool and resource.-
- AlicenseNot gradedqualityCmaintenanceA lightweight personal knowledge base MCP server that lets clients store, search, organize, and summarize research notes from a local JSON file.MIT