Weave
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., "@Weavesearch my repo for where pairing lines are parsed into url, key and name"
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.
blackwindow-weave-mcp
Semantic search over the folders on your machine, for any MCP client. The server cuts source code and documentation into passages, embeds them with Motherlode, a 33M-parameter code-search encoder, on your CPU, and answers questions such as "where is a pairing line parsed into url, key and name" with file paths, line ranges and the passages themselves.
The only network requests are to huggingface.co on the first run: six requests, which leave five files, 133,752,819 bytes, in the cache. With the files cached, a run makes none.
This is the weave from Black Window and the Sunstone VS Code extension, packaged for clients that speak the Model Context Protocol.
Add it to a client
Claude Code:
claude mcp add weave -- npx -y blackwindow-weave-mcp --folder /path/to/your/repoVS Code, in .vscode/mcp.json:
{
"servers": {
"weave": { "type": "stdio", "command": "npx", "args": ["-y", "blackwindow-weave-mcp", "--folder", "${workspaceFolder}"] }
}
}Cursor, Claude Desktop, Windsurf and most other clients:
{
"mcpServers": {
"weave": { "command": "npx", "args": ["-y", "blackwindow-weave-mcp", "--folder", "/path/to/your/repo"] }
}
}To run from this repository instead of npm, replace blackwindow-weave-mcp in the arguments with
github:space-bacon/blackwindow-weave-mcp. Node 20 or later is required.
option | meaning |
| Weave this folder when the server starts. Repeatable. Optional: the model can call |
| Where the encoder and the indexes live. Default |
Related MCP server: MCP Codebase RAG Server
Tools
tool | what it does |
| Index a folder, or bring its index up to date. Only files whose size or modification time changed are read again. A run longer than 25 s returns at once and continues in the background. |
| The passages nearest a plain-language or code query, with file, line range and score. Searches the folders woven in this session, or every woven folder if none was, or one folder when asked. |
| The woven folders with their file and passage counts, and any weave still running. |
| Delete a folder's index. The folder's files are not touched. |
Measured
On an Apple M2 Ultra (24 CPU cores, Node 24.4.1), through the MCP SDK's own stdio client, in test/smoke.mjs:
folder | files | passages | first weave | second weave | search |
this package's | 6 | 42 | 3.8 s, with the encoder's download | 0.013 s | 5 to 6 ms |
the Sunstone repository | 57 | 1,367 | 20.2 s | 0.014 s | 6 ms |
Embedding runs at about 68 passages a second on that machine, so a repository of 10,000 passages takes about two and a half minutes the first time. Those figures are one run each on one machine. The smoke test's three questions about this package's own source each return the expected file first; they are a check that the pieces are wired together, not a measure of retrieval quality. For retrieval quality see the model card.
How it works
Files. A git work tree is listed by git, so
.gitignoreholds. Any other folder is walked, skippingnode_modules, build output, virtual environments, lock files and minified files. Files over 1 MB and files that read as binary are skipped. JSON and XML are left out: in the Sunstone repository, result files underbench/results/took ranks 2 and 3 of the question above when they were included.Passages. Code is cut at definitions into passages of about 700 characters, each labelled with the nearest definition. Prose is cut at paragraphs and sentences into passages of about 420 characters. The chunkers are Black Window's.
Encoder.
onnx/model.onnx(fp32) through transformers.js and ONNX Runtime on the CPU, CLS pooling.Centring. Every vector has the model's shipped mean (
centring/mean_shipped.json) subtracted and is brought back to unit length, so a score is a cosine after centring.Search. Exact: every passage is scored. Before answering, a folder not checked in the last 30 s is brought up to date if fewer than 200 of its files changed; otherwise the answer says the index is stale.
Index. One per folder under
<cache>/index/: a Float32 matrix and a JSONL of passages, named by a manifest that is written to a temporary file and renamed into place, so an interrupted write leaves the previous index. An index that cannot be read is moved aside rather than overwritten.
Licence
Business Source License 1.1 with an internal-use grant. You may use it for any internal purpose, including commercial development on your own or your employer's code, with no limit on seats. You may not offer it to others as a hosted search service or ship it inside a product you supply. On 15 September 2030 it becomes Apache-2.0. The encoder is downloaded under its own licence, which has the same shape. For other terms, write to burton@sunstonenorth.com.
This server cannot be deployed
Maintenance
Related MCP Connectors
Agent-native MCP server over the public saagarpatel.dev corpus. Read-only, stateless.
Personal knowledge base MCP server with semantic search, auto-categorization, metadata extraction
Agentic search over your Dewey document collections from any MCP-compatible client.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceLocal MCP server that provides semantic search (RAG) over code repositories, enabling AI clients like Claude and Gemini to access project context without manual re-upload.-
- FlicenseAqualityDmaintenanceProvides semantic vector search over local codebases via MCP, enabling hybrid search (dense + sparse + RRF) for any MCP client like GitHub Copilot or Claude Desktop.58-
- AlicenseNot gradedqualityDmaintenanceEnables semantic code search across indexed code folders using vector embeddings, with support for multiple embedding providers and automatic file watching. Provides an admin UI and integrates with MCP clients for natural language code queries.1MIT
- AlicenseNot gradedqualityBmaintenanceA local hybrid-search MCP server that enables coding agents to query files and folders using natural language, returning relevant code chunks with exact source paths. Everything runs on-device with no API keys or network calls.5MIT