-
Notifications
You must be signed in to change notification settings - Fork 69
Expand file tree
/
Copy pathserver.json
More file actions
161 lines (161 loc) · 5.81 KB
/
Copy pathserver.json
File metadata and controls
161 lines (161 loc) · 5.81 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
{
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"name": "io.github.shinpr/mcp-local-rag",
"description": "Easy-to-setup local RAG server with minimal configuration",
"vendor": "Shinsuke Kagawa",
"license": "MIT",
"repository": {
"url": "https://github.com/shinpr/mcp-local-rag",
"source": "github"
},
"version": "0.18.1",
"packages": [
{
"registryType": "npm",
"registryBaseUrl": "https://registry.npmjs.org",
"identifier": "mcp-local-rag",
"version": "0.18.1",
"transport": {
"type": "stdio"
},
"environmentVariables": [
{
"name": "BASE_DIR",
"description": "Base directory for document storage (defaults to current working directory). Ignored when BASE_DIRS is set.",
"isRequired": false,
"format": "string",
"isSecret": false
},
{
"name": "BASE_DIRS",
"description": "JSON array of base directories (e.g. '[\"/a\",\"/b\"]'). Takes precedence over BASE_DIR.",
"isRequired": false,
"format": "string",
"isSecret": false
},
{
"name": "DB_PATH",
"description": "Path to LanceDB database directory (defaults to ./lancedb/)",
"isRequired": false,
"format": "string",
"isSecret": false
},
{
"name": "CACHE_DIR",
"description": "Directory where Transformers.js models are cached (defaults to ./models/)",
"isRequired": false,
"format": "string",
"isSecret": false
},
{
"name": "MODEL_NAME",
"description": "Embedding model name (defaults to Xenova/all-MiniLM-L6-v2)",
"isRequired": false,
"format": "string",
"isSecret": false
},
{
"name": "MAX_FILE_SIZE",
"description": "Maximum file size in bytes (defaults to 104857600 / 100MB)",
"isRequired": false,
"format": "string",
"isSecret": false
},
{
"name": "RAG_MAX_DISTANCE",
"description": "Maximum distance threshold for filtering search results. Results with distance greater than this value will be excluded. Lower values mean stricter filtering (e.g., 0.5 for high relevance only)",
"isRequired": false,
"format": "string",
"isSecret": false
},
{
"name": "RAG_GROUPING",
"description": "Grouping mode for quality filtering. 'similar' returns only the most similar group (stops at first distance jump). 'related' includes related groups (stops at second distance jump). Unset means no grouping filter",
"isRequired": false,
"format": "string",
"isSecret": false
},
{
"name": "RAG_MAX_FILES",
"description": "Maximum number of files to keep in search results. Results are filtered to include only chunks from the top N best-scoring files. For example, 1 returns only the single best-matching file's chunks. Unset means no file filtering.",
"isRequired": false,
"format": "string",
"isSecret": false
},
{
"name": "CHUNK_MIN_LENGTH",
"description": "Minimum chunk length in characters (1-10000, defaults to 50). Chunks shorter than this threshold are filtered out during ingestion.",
"isRequired": false,
"format": "string",
"isSecret": false
},
{
"name": "STORE_IMAGES",
"description": "Store supported PDF and DOCX images during ingestion and return them with matched chunks (defaults to false).",
"isRequired": false,
"format": "string",
"isSecret": false
},
{
"name": "RAG_DEVICE",
"description": "Execution device for the embedder (defaults to cpu). Passed straight to ONNX Runtime; see the Transformers.js device source for the supported backend names. If the requested device fails to initialize, the server throws an error.",
"isRequired": false,
"format": "string",
"isSecret": false
},
{
"name": "RAG_DTYPE",
"description": "Embedding quantization dtype for the embedder (defaults to fp32). Opt-in and pass-through; accepts any dtype the chosen model provides (fp32, fp16, q8, int8, ...). If the model has no variant for the requested dtype, the server throws an error. Changing this changes the embedding space — re-ingest existing data.",
"isRequired": false,
"format": "string",
"isSecret": false
},
{
"name": "RAG_HYBRID_WEIGHT",
"description": "Keyword boost factor for hybrid search (0.0-1.0, defaults to 0.6). 0 means semantic similarity only; higher values increase the keyword-match contribution to the final score.",
"isRequired": false,
"format": "string",
"isSecret": false
}
],
"features": {
"tools": {
"supported": true,
"list": [
"query_documents",
"ingest_file",
"ingest_data",
"read_chunk_neighbors",
"list_files",
"delete_file",
"status",
"sync_start",
"sync_status"
]
},
"prompts": {
"supported": false
},
"resources": {
"supported": false
}
}
}
],
"tags": [
"rag",
"vector-search",
"semantic-search",
"embeddings",
"local-ai",
"offline",
"privacy",
"document-search",
"pdf",
"cursor",
"claude-code",
"skills"
],
"homepage": "https://github.com/shinpr/mcp-local-rag",
"documentation": "https://github.com/shinpr/mcp-local-rag#readme"
}