mcp-local-rag 0.4.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +14 -15
  2. package/package.json +4 -10
package/README.md CHANGED
@@ -4,12 +4,12 @@
4
4
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
5
5
 
6
6
  Local RAG for developers using MCP.
7
- Hybrid search (BM25 + semantic) for exact technical terms — fully private, zero setup.
7
+ Semantic search with keyword boost for exact technical terms — fully private, zero setup.
8
8
 
9
9
  ## Features
10
10
 
11
- - **Code-aware hybrid search**
12
- Keyword (BM25) + semantic search combined. Exact terms like `useEffect`, error codes, and class names are matched reliably—not just semantically guessed.
11
+ - **Semantic search with keyword boost**
12
+ Vector search first, then keyword matching boosts exact matches. Terms like `useEffect`, error codes, and class names rank higher—not just semantically guessed.
13
13
 
14
14
  - **Smart semantic chunking**
15
15
  Chunks documents by meaning, not character count. Uses embedding similarity to find natural topic boundaries—keeping related content together and splitting where topics change.
@@ -82,7 +82,7 @@ You want AI to search your documents—technical specs, research papers, interna
82
82
 
83
83
  **Offline.** Works without internet after setup.
84
84
 
85
- **Code search.** Pure semantic search misses exact terms like `useEffect` or `ERR_CONNECTION_REFUSED`. Hybrid search catches both meaning and exact matches.
85
+ **Code search.** Pure semantic search misses exact terms like `useEffect` or `ERR_CONNECTION_REFUSED`. Keyword boost catches both meaning and exact matches.
86
86
 
87
87
  ## Usage
88
88
 
@@ -107,7 +107,7 @@ Re-ingesting the same file replaces the old version automatically.
107
107
  "Search for error handling best practices"
108
108
  ```
109
109
 
110
- The hybrid search combines keyword matching (BM25) with semantic search. This means `useEffect` finds documents containing that exact term, not just semantically similar React concepts.
110
+ Search uses semantic similarity with keyword boost. This means `useEffect` finds documents containing that exact term, not just semantically similar React concepts.
111
111
 
112
112
  Results include text content, source file, and relevance score. Adjust result count with `limit` (1-20, default 10).
113
113
 
@@ -310,24 +310,23 @@ Copy `DB_PATH` directory (default: `./lancedb/`).
310
310
  ```bash
311
311
  git clone https://github.com/shinpr/mcp-local-rag.git
312
312
  cd mcp-local-rag
313
- npm install
313
+ pnpm install
314
314
  ```
315
315
 
316
316
  ### Testing
317
317
 
318
318
  ```bash
319
- npm test # Run all tests
320
- npm run test:coverage # With coverage
321
- npm run test:watch # Watch mode
319
+ pnpm test # Run all tests
320
+ pnpm run test:watch # Watch mode
322
321
  ```
323
322
 
324
323
  ### Code Quality
325
324
 
326
325
  ```bash
327
- npm run type-check # TypeScript check
328
- npm run check:fix # Lint and format
329
- npm run check:deps # Circular dependency check
330
- npm run check:all # Full quality check
326
+ pnpm run type-check # TypeScript check
327
+ pnpm run check:fix # Lint and format
328
+ pnpm run check:deps # Circular dependency check
329
+ pnpm run check:all # Full quality check
331
330
  ```
332
331
 
333
332
  ### Project Structure
@@ -349,8 +348,8 @@ src/
349
348
 
350
349
  Contributions welcome. Before submitting a PR:
351
350
 
352
- 1. Run tests: `npm test`
353
- 2. Check quality: `npm run check:all`
351
+ 1. Run tests: `pnpm test`
352
+ 2. Check quality: `pnpm run check:all`
354
353
  3. Add tests for new features
355
354
  4. Update docs if behavior changes
356
355
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mcp-local-rag",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "description": "Local RAG MCP Server - Easy-to-setup document search with minimal configuration",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -33,10 +33,6 @@
33
33
  "watch": "tsx watch src/index.ts",
34
34
  "type-check": "tsc --noEmit",
35
35
  "test": "vitest run",
36
- "test:coverage": "vitest run --coverage",
37
- "test:coverage:summary": "node scripts/show-coverage.js",
38
- "test:coverage:clean": "rm -rf coverage .vitest-cache",
39
- "test:coverage:fresh": "npm run test:coverage:clean && npm run test:coverage",
40
36
  "test:watch": "vitest",
41
37
  "format": "biome format --write src",
42
38
  "format:check": "biome format src",
@@ -48,23 +44,21 @@
48
44
  "check:unused:all": "ts-prune --project tsconfig.json --ignore 'src/index.ts|__tests__|test|vitest'",
49
45
  "check:deps": "madge --circular --extensions ts src",
50
46
  "check:deps:graph": "madge --extensions ts --image graph.svg src",
51
- "check:all": "npm run check && npm run lint && npm run format:check && npm run check:unused && npm run check:deps && npm run build && npm run test",
47
+ "check:all": "pnpm run check && pnpm run lint && pnpm run format:check && pnpm run check:unused && pnpm run check:deps && pnpm run build && pnpm run test",
52
48
  "cleanup:processes": "bash ./scripts/cleanup-test-processes.sh",
53
- "test:safe": "npm test && npm run cleanup:processes",
49
+ "test:safe": "pnpm test && pnpm run cleanup:processes",
54
50
  "prepare": "husky"
55
51
  },
56
52
  "dependencies": {
57
53
  "@huggingface/transformers": "^3.7.6",
58
54
  "@lancedb/lancedb": "^0.22.2",
59
- "@modelcontextprotocol/sdk": "^1.20.2",
55
+ "@modelcontextprotocol/sdk": "^1.25.1",
60
56
  "mammoth": "^1.11.0",
61
57
  "unpdf": "^1.4.0"
62
58
  },
63
59
  "devDependencies": {
64
60
  "@biomejs/biome": "^1.9.4",
65
61
  "@types/node": "^20.0.0",
66
- "@vitest/coverage-v8": "^3.2.4",
67
- "c8": "^10.1.3",
68
62
  "husky": "^9.1.7",
69
63
  "jsdom": "^25.0.0",
70
64
  "lint-staged": "^16.1.0",