- Home
- MCP servers
- Minimalist Knowledge Base
Minimalist Knowledge Base
- typescript
2
GitHub Stars
typescript
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"cmwen-min-kb-mcp": {
"command": "npx",
"args": [
"@cmwen/min-kb-mcp",
"start",
"--kb",
"my-notes"
]
}
}
}You can run a lightweight, headless MCP server that serves a minimal knowledge base as a set of programmable tools. It stores content as Markdown and indexes it with a zero-dependency WASM-backed SQLite database, making it easy to manage multiple knowledge bases and expose actionable tools to LLMs or automated clients.
How to use
You interact with the server through an MCP client. Start a knowledge base, then use the exposed tools to create, retrieve, update, delete, and search articles. The server stores articles as Markdown files and maintains an index in a SQLite database inside a dedicated knowledge base directory. Use the available MCP tools to perform common knowledge-management tasks, query content, and explore related articles through keywords.
How to install
Prerequisites you need before installing:
- Node.js 22 or higher
- A package manager such as pnpm, npm, or npx (pnpm is recommended)
pnpm add @cmwen/min-kb-mcp
Alternatively, you can run the server directly with npx. This starts a new knowledge base named my-notes and runs without a local install.
npx @cmwen/min-kb-mcp start --kb my-notes
Additional setup notes
When you start a new knowledge base, the server creates:
- A directory for your knowledge base in your system’s standard application support location
- A SQLite database for indexing
- An articles directory for markdown files
Storage structure and transport modes
All data for each knowledge base is stored under your system’s application support area. The database lives as <kb-name>.sqlite, and all article content resides in the articles/ directory.
MCP transport modes
Two transport modes are supported:
- Standard Mode (stdio): use this for production and LLM integrations
- Development Mode (HTTP): use this for browser-friendly debugging with CORS enabled and interactive inspection
# Standard mode (stdio)
pnpm start -- --kb my-kb
# Development mode (HTTP) with debugging
pnpm run dev
Using the MCP inspector (development mode)
If you are in development mode, you can connect to the MCP Inspector to explore tools, run commands, and view results. Open the inspector at the provided local URL once the development server is running.
Notes on search and performance
The server uses WebAssembly-based sql.js for indexing. It attempts to enable full-text search with FTS5 if available; otherwise, it falls back to LIKE-based search. For small to medium knowledge bases, this approach provides fast, zero-config operation without native dependencies.
Development and testing
Development scripts include starting the server in stdio mode, running a development HTTP server, linting, formatting, and unit tests. Use the following commands to work on the project locally.
# Start the MCP server in stdio mode
pnpm start -- --kb test-kb
# Development HTTP server on port 9876 with CORS enabled
pnpm run dev
# Build, test, and lint tasks
pnpm run build
pnpm run lint
pnpm test
Security and access
Access control is designed for local development and MCP-based workflows. When running in development mode, enable CORS to support browser clients. For production deployments, rely on your organization's standard security practices and minimize exposed endpoints.
Available tools
createArticle
Create a new article with content and optional keywords and save it under the knowledge base.
getArticle
Retrieve an article by its ID from the knowledge base.
updateArticle
Update an existing article's content and keywords.
deleteArticle
Delete an article from the knowledge base.
searchArticles
Perform a full-text search across articles with optional time-based filters.
findLinkedArticles
Find articles that share keywords or topics with a given article.
getArticlesByTimeRange
Get articles created or updated within a specified time range.
listArticles
List all articles currently stored in the knowledge base.
getArticleStats
Provide statistics about the knowledge base, such as article count and index status.