kb-mcp
Provides semantic search over an Obsidian vault (the Acumatica KB vault) using precomputed embeddings.
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., "@kb-mcpsearch for sales tax configuration steps"
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.
grp-kb-mcp
Semantic search MCP server for the Acumatica KB Obsidian vault.
Reuses the embeddings already computed by the Smart Connections plugin (TaylorAI/bge-micro-v2, 384-dim).
Published as grp-kb-mcp on PyPI (the import package stays kb_mcp). Note: unlike a
turnkey library, this still requires an Obsidian vault with Smart Connections embeddings
already computed — installing from PyPI saves you the git clone + editable-install step,
not the vault/index setup below.
Tools
Tool | What it does |
| Semantic search — embed query, cosine-search ~89k vectors, return top results with snippet |
| Read full content of a KB file by relative path |
Related MCP server: vault-rag-mcp
Setup
1. Install
cd path\to\kb-mcp
python -m venv .venv
.venv\Scripts\activate
pip install -e .2. Build the index (run once, ~2 min)
# with .venv active, from the kb-mcp folder:
set KB_VAULT_DIR=path\to\Acumatica-KB
python -m kb_mcp.build_indexThis creates kb_index.npy and kb_meta.json inside src\kb_mcp\.
Re-run only if you add new notes to the vault (and re-index in Obsidian Smart Connections first).
Multiple vaults
The index can ingest extra Smart Connections vaults alongside the primary one via
KB_EXTRA_VAULTS — a ;-separated list of LABEL=PATH pairs. Each extra vault's
records get guide=LABEL (so search_kb(..., guide_filter="GRP") isolates them)
and an absolute vault_root baked into the metadata, so the server needs no extra
env — it reads those files from the baked-in root. Records under copilot/ are
skipped as plugin cruft.
$env:KB_VAULT_DIR = "C:\...\Acumatica-KB"
$env:KB_EXTRA_VAULTS = "GRP=C:\...\GRPUserManuals-Markdown"
python -m kb_mcp.build_indexOr just run .\rebuild.ps1 (has both vault paths baked in). Restart the kb-mcp
server afterward — it loads the index once at startup.
3. Register with Claude Desktop
Add to claude_desktop_config.json (found at %APPDATA%\Claude\claude_desktop_config.json):
{
"mcpServers": {
"kb-mcp": {
"command": "C:\\path\\to\\kb-mcp\\.venv\\Scripts\\python.exe",
"args": ["-m", "kb_mcp.server"],
"env": {
"KB_VAULT_DIR": "C:\\path\\to\\Acumatica-KB"
}
}
}
}Restart Claude after adding.
4. First query (model download)
The TaylorAI/bge-micro-v2 model (~45 MB) downloads automatically on the first search_kb call and is cached locally by HuggingFace.
Environment variables
Variable | Default | Description |
| auto-detected | Path to the Acumatica-KB vault folder |
|
| Where |
|
| Lines to include in each result snippet |
This server cannot be deployed
Maintenance
Related MCP Connectors
Personal knowledge base MCP server with semantic search, auto-categorization, metadata extraction
MCP server for querying Forkast documentation
Serve a folder of Markdown notes as an MCP server: hybrid search, reading, and sourced answers.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceMCP server that indexes Obsidian notes and enables hybrid search (full-text, fuzzy, semantic) for AI assistants to find and read notes.520 npm105MIT
- FlicenseAqualityAmaintenanceMCP server for semantic search in an Obsidian Second Brain vault using self-hosted Qdrant and Google Gemini embeddings.3-
- AlicenseNot gradedqualityDmaintenanceA read-only MCP server that enables semantic search of your Obsidian vault using Smart Connections embeddings, with path validation and security.31 npm3MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server that provides always-fresh semantic search over Obsidian vaults, automatically watching file changes and using local embeddings via Ollama.56 npmMIT