npu-search
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., "@npu-searchsearch my documents for USB-C power delivery design notes"
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.
npu-search
Local semantic search over your own documents and code, with embeddings computed on an Intel NPU (Intel AI Boost) via OpenVINO. Search in Chinese or English by meaning, from the command line or as an MCP server so an AI client (Claude Code / Claude Desktop) can call it.
在 Intel AI Boost NPU 上跑的本機語意搜尋:用中文或英文、照「意思」搜尋自己的文件和程式碼, 也可以包成 MCP 工具讓 AI 用戶端直接呼叫。
Embedding model:
intfloat/multilingual-e5-small, OpenVINO FP16Index: SQLite (
index.db), vectors stored as float16Formats: PDF, DOCX, XLSX, PPTX, Markdown, text, CSV, RTF, notebooks, source code, KiCad files
Fully local: the code makes no network calls. The model is loaded from disk.
Why this might be useful to you
The NPU driver 32.0.100.4023 (2025/04) ships a compiler that produces wrong results for this
BERT-style model (different inputs give almost identical vectors). npusearch/embed.py works around it:
NPU_COMPILER_TYPE=PLUGINmakes the NPU use OpenVINO's bundled compiler (results match CPU, cos = 1.0).Inputs are fed as
int32because int64 inputs are read incorrectly on this driver.The model is reshaped to a static
[8, 256]shape, which the NPU requires.
Newer drivers may not need these; try removing them after updating.
Related MCP server: CodeBrain
Setup
Requires Windows with an Intel NPU, and Python 3.12.
python -m venv .venv
.venv\Scripts\pip install -r requirements.txt
.venv\Scripts\pip install "optimum-intel[openvino]==2.2.0" # only for the export below
# Export the embedding model (not included in this repo, ~235 MB)
.venv\Scripts\optimum-cli export openvino --model intfloat/multilingual-e5-small --weight-format fp16 models\me5-small
copy config.example.json config.json # then edit "roots" to the folders you want indexedIf tokenizer.json is missing from models\me5-small, download it from the model's Hugging Face page.
Usage
.venv\Scripts\python.exe -m npusearch.cli index # incremental index (new/changed files only)
.venv\Scripts\python.exe -m npusearch.cli search "USB-C power delivery design"
.venv\Scripts\python.exe -m npusearch.cli search "I2C" --path DataSheet -k 10
.venv\Scripts\python.exe -m npusearch.cli status--device GPU uses the integrated GPU instead (about 5x faster than the NPU, but uses more power).
The first NPU compile takes ~15 s; later runs use the cache in models/me5-small/cache.
As an MCP server
claude mcp add --scope user npu-search -- C:\path\to\npu-search\.venv\Scripts\python.exe C:\path\to\npu-search\mcp_server.pyTools: semantic_search(query, k, path_contains), index_status(), reindex().
Privacy notes
index.dbcontains the plain text of your documents, unencrypted. It is git-ignored; never share or upload it.When an AI client calls
semantic_search, the returned passages become part of that conversation and are sent to the AI provider. Only index folders you are comfortable with that..gitignoreis a whitelist (everything is ignored except the source files) soconfig.json, the index and the model cannot be committed by accident.
Known limitations
Legacy Office formats (
.doc,.xls,.ppt) are not supported.OneDrive cloud-only placeholder files are skipped, to avoid triggering downloads.
New folders are not picked up automatically; add them to
rootsinconfig.json, then re-index.
繁體中文補充
設定檔:複製
config.example.json為config.json,把roots改成要索引的資料夾。模型不含在倉庫內(約 235 MB),請依上方指令用
optimum-cli匯出到models\me5-small。index.db存放文件內容的純文字且未加密,已列入.gitignore,請勿分享。透過 AI 用戶端搜尋時,回傳的片段會進入對話並送到服務供應商,請只索引你能接受的資料夾。
This server cannot be deployed
Maintenance
Related MCP Connectors
Ingest, manage, and retrieve documents for RAG-powered AI applications
Versioned documentation registry and semantic search for AI tools and coding assistants.
Cloud or self-hosted knowledge for AI agents: hybrid search, reranking, GraphRAG, scoped MCP tools.
Search indexed code, trace dependencies, assess change impact, and recall repository memory.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to perform semantic, hybrid, and filtered search on indexed local documentation with RAG capabilities.2MIT
- AlicenseNot gradedqualityDmaintenanceProvides semantic code search and index status for codebases using RAG, enabling AI tools to query code knowledge.MIT
- FlicenseNot gradedqualityCmaintenanceEnables AI tools to search and manage a private local knowledge base via MCP or HTTP, using local Chinese semantic retrieval without sending data externally.-
- AlicenseAqualityAmaintenanceSemantic code search for any MCP client: indexes local folders of code and docs and answers plain-language or code queries with matching passages, file paths, line ranges and scores. Embedding runs on the local CPU with the Motherlode code-search encoder, so no file content leaves the machine; the encoder downloads once from Hugging Face. Install: npx -y blackwindow-weave-mcp.6498 npmBusiness Source 1.1