A local MCP server that enables AI systems to search and query a knowledge base.
Knowledge Base MCP Server
A local MCP (Model Context Protocol) server that enables AI systems like Claude Desktop to search and query a knowledge base.
Features
- Text Search: Search the knowledge base using natural language queries
- Chunk Retrieval: Get specific chunks by ID for detailed information
- Category Listing: Browse available topics in the knowledge base
Installation
# Install dependencies
npm install
# Build the TypeScript code
npm run build
Available MCP Tools
| Tool | Description |
|---|---|
search_knowledge |
Search for relevant information using a query string |
get_chunk |
Retrieve a specific chunk by its ID |
list_categories |
List all available categories in the knowledge base |
Connecting to Claude Desktop
Add this server to your Claude Desktop configuration:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"knowledge-base": {
"command": "node",
"args": ["/path/to/local-mcp-simple/dist/index.js"]
}
}
}
After updating the config, restart Claude Desktop. You can then ask Claude to search the knowledge base, for example:
"Search the knowledge base for speed limits in school zones"
Development
# Build and run
npm run dev
# Or run separately
npm run build
npm start
Generating Knowledge Base
You can generate a new knowledge.json from any markdown file using the included script:
# Generate from a markdown file
npm run generate-knowledge -- ./path/to/your-document.md
# Specify output location
npm run generate-knowledge -- ./docs/handbook.md ./src/knowledge/knowledge.json
Markdown Format
The script parses markdown headings to create chunks:
- H1 (
#) - Sets the category for subsequent chunks - H2 (
##) - Creates a new chunk with this title - H3 (
###) - Also creates a new chunk with this title - H4 (
####) - Included as bold text within the current chunk
Example markdown:
# Licences
## Getting your driver licence
To get a full driver licence, you need to go through three stages...
## Learner licence restrictions
There are licence restrictions that you need to follow...
# Speed Limits
## The rules
On roads where there's a speed limit sign, you must not drive faster...
This would create 3 chunks:
- "Getting your driver licence" (category: "Licences")
- "Learner licence restrictions" (category: "Licences")
- "The rules" (category: "Speed Limits")
Knowledge Base
The server uses src/knowledge/knowledge.json which contains pre-chunked content for search.
Tools (3)
search_knowledgeSearch for relevant information using a query stringget_chunkRetrieve a specific chunk by its IDlist_categoriesList all available categories in the knowledge baseConfiguration
{"mcpServers": {"knowledge-base": {"command": "node", "args": ["/path/to/local-mcp-simple/dist/index.js"]}}}