mcp-vector-search 0.12.6__py3-none-any.whl → 1.0.3__py3-none-any.whl
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.
- mcp_vector_search/__init__.py +2 -2
- mcp_vector_search/analysis/__init__.py +64 -0
- mcp_vector_search/analysis/collectors/__init__.py +39 -0
- mcp_vector_search/analysis/collectors/base.py +164 -0
- mcp_vector_search/analysis/collectors/complexity.py +743 -0
- mcp_vector_search/analysis/metrics.py +341 -0
- mcp_vector_search/analysis/reporters/__init__.py +5 -0
- mcp_vector_search/analysis/reporters/console.py +222 -0
- mcp_vector_search/cli/commands/analyze.py +408 -0
- mcp_vector_search/cli/commands/chat.py +1262 -0
- mcp_vector_search/cli/commands/index.py +21 -3
- mcp_vector_search/cli/commands/init.py +13 -0
- mcp_vector_search/cli/commands/install.py +597 -335
- mcp_vector_search/cli/commands/install_old.py +8 -4
- mcp_vector_search/cli/commands/mcp.py +78 -6
- mcp_vector_search/cli/commands/reset.py +68 -26
- mcp_vector_search/cli/commands/search.py +30 -7
- mcp_vector_search/cli/commands/setup.py +1133 -0
- mcp_vector_search/cli/commands/status.py +37 -2
- mcp_vector_search/cli/commands/uninstall.py +276 -357
- mcp_vector_search/cli/commands/visualize/__init__.py +39 -0
- mcp_vector_search/cli/commands/visualize/cli.py +276 -0
- mcp_vector_search/cli/commands/visualize/exporters/__init__.py +12 -0
- mcp_vector_search/cli/commands/visualize/exporters/html_exporter.py +33 -0
- mcp_vector_search/cli/commands/visualize/exporters/json_exporter.py +29 -0
- mcp_vector_search/cli/commands/visualize/graph_builder.py +714 -0
- mcp_vector_search/cli/commands/visualize/layout_engine.py +469 -0
- mcp_vector_search/cli/commands/visualize/server.py +311 -0
- mcp_vector_search/cli/commands/visualize/state_manager.py +428 -0
- mcp_vector_search/cli/commands/visualize/templates/__init__.py +16 -0
- mcp_vector_search/cli/commands/visualize/templates/base.py +180 -0
- mcp_vector_search/cli/commands/visualize/templates/scripts.py +2507 -0
- mcp_vector_search/cli/commands/visualize/templates/styles.py +1313 -0
- mcp_vector_search/cli/commands/visualize.py.original +2536 -0
- mcp_vector_search/cli/didyoumean.py +22 -2
- mcp_vector_search/cli/main.py +115 -159
- mcp_vector_search/cli/output.py +24 -8
- mcp_vector_search/config/__init__.py +4 -0
- mcp_vector_search/config/default_thresholds.yaml +52 -0
- mcp_vector_search/config/settings.py +12 -0
- mcp_vector_search/config/thresholds.py +185 -0
- mcp_vector_search/core/auto_indexer.py +3 -3
- mcp_vector_search/core/boilerplate.py +186 -0
- mcp_vector_search/core/config_utils.py +394 -0
- mcp_vector_search/core/database.py +369 -94
- mcp_vector_search/core/exceptions.py +11 -0
- mcp_vector_search/core/git_hooks.py +4 -4
- mcp_vector_search/core/indexer.py +221 -4
- mcp_vector_search/core/llm_client.py +751 -0
- mcp_vector_search/core/models.py +3 -0
- mcp_vector_search/core/project.py +17 -0
- mcp_vector_search/core/scheduler.py +11 -11
- mcp_vector_search/core/search.py +179 -29
- mcp_vector_search/mcp/server.py +24 -5
- mcp_vector_search/utils/__init__.py +2 -0
- mcp_vector_search/utils/gitignore_updater.py +212 -0
- mcp_vector_search/utils/monorepo.py +66 -4
- mcp_vector_search/utils/timing.py +10 -6
- {mcp_vector_search-0.12.6.dist-info → mcp_vector_search-1.0.3.dist-info}/METADATA +182 -52
- mcp_vector_search-1.0.3.dist-info/RECORD +97 -0
- {mcp_vector_search-0.12.6.dist-info → mcp_vector_search-1.0.3.dist-info}/WHEEL +1 -1
- {mcp_vector_search-0.12.6.dist-info → mcp_vector_search-1.0.3.dist-info}/entry_points.txt +1 -0
- mcp_vector_search/cli/commands/visualize.py +0 -1467
- mcp_vector_search-0.12.6.dist-info/RECORD +0 -68
- {mcp_vector_search-0.12.6.dist-info → mcp_vector_search-1.0.3.dist-info}/licenses/LICENSE +0 -0
|
@@ -6,6 +6,34 @@ from typing import NamedTuple
|
|
|
6
6
|
|
|
7
7
|
from loguru import logger
|
|
8
8
|
|
|
9
|
+
# Directories to exclude from subproject detection
|
|
10
|
+
# These are typically test/example/docs directories, not actual subprojects
|
|
11
|
+
EXCLUDED_SUBPROJECT_DIRS = {
|
|
12
|
+
"tests",
|
|
13
|
+
"test",
|
|
14
|
+
"examples",
|
|
15
|
+
"example",
|
|
16
|
+
"docs",
|
|
17
|
+
"doc",
|
|
18
|
+
"scripts",
|
|
19
|
+
"tools",
|
|
20
|
+
"benchmarks",
|
|
21
|
+
"benchmark",
|
|
22
|
+
"node_modules",
|
|
23
|
+
".git",
|
|
24
|
+
".github",
|
|
25
|
+
".gitlab",
|
|
26
|
+
"build",
|
|
27
|
+
"dist",
|
|
28
|
+
"__pycache__",
|
|
29
|
+
".pytest_cache",
|
|
30
|
+
".mypy_cache",
|
|
31
|
+
".ruff_cache",
|
|
32
|
+
"coverage",
|
|
33
|
+
".coverage",
|
|
34
|
+
"htmlcov",
|
|
35
|
+
}
|
|
36
|
+
|
|
9
37
|
|
|
10
38
|
class Subproject(NamedTuple):
|
|
11
39
|
"""Represents a subproject in a monorepo."""
|
|
@@ -27,6 +55,23 @@ class MonorepoDetector:
|
|
|
27
55
|
self.project_root = project_root
|
|
28
56
|
self._subprojects: list[Subproject] | None = None
|
|
29
57
|
|
|
58
|
+
def _is_excluded_path(self, path: Path) -> bool:
|
|
59
|
+
"""Check if a path should be excluded from subproject detection.
|
|
60
|
+
|
|
61
|
+
Args:
|
|
62
|
+
path: Path to check (relative to project root)
|
|
63
|
+
|
|
64
|
+
Returns:
|
|
65
|
+
True if path should be excluded from subproject detection
|
|
66
|
+
"""
|
|
67
|
+
try:
|
|
68
|
+
relative_path = path.relative_to(self.project_root)
|
|
69
|
+
# Check if any part of the path is in the excluded set
|
|
70
|
+
return any(part in EXCLUDED_SUBPROJECT_DIRS for part in relative_path.parts)
|
|
71
|
+
except ValueError:
|
|
72
|
+
# Path is not relative to project root
|
|
73
|
+
return True
|
|
74
|
+
|
|
30
75
|
def is_monorepo(self) -> bool:
|
|
31
76
|
"""Check if project is a monorepo.
|
|
32
77
|
|
|
@@ -162,6 +207,13 @@ class MonorepoDetector:
|
|
|
162
207
|
if base_path.exists():
|
|
163
208
|
for subdir in base_path.iterdir():
|
|
164
209
|
if subdir.is_dir() and not subdir.name.startswith("."):
|
|
210
|
+
# Skip excluded directories
|
|
211
|
+
if self._is_excluded_path(subdir):
|
|
212
|
+
logger.debug(
|
|
213
|
+
f"Skipping excluded nx workspace path: {subdir.relative_to(self.project_root)}"
|
|
214
|
+
)
|
|
215
|
+
continue
|
|
216
|
+
|
|
165
217
|
package_json = subdir / "package.json"
|
|
166
218
|
name = self._get_package_name(package_json) or subdir.name
|
|
167
219
|
relative = str(subdir.relative_to(self.project_root))
|
|
@@ -179,14 +231,17 @@ class MonorepoDetector:
|
|
|
179
231
|
|
|
180
232
|
# Only search up to 3 levels deep
|
|
181
233
|
for package_json in self.project_root.rglob("package.json"):
|
|
182
|
-
# Skip node_modules
|
|
183
|
-
if "node_modules" in package_json.parts:
|
|
184
|
-
continue
|
|
185
|
-
|
|
186
234
|
# Skip root package.json
|
|
187
235
|
if package_json.parent == self.project_root:
|
|
188
236
|
continue
|
|
189
237
|
|
|
238
|
+
# Skip excluded directories (tests, examples, docs, etc.)
|
|
239
|
+
if self._is_excluded_path(package_json.parent):
|
|
240
|
+
logger.debug(
|
|
241
|
+
f"Skipping excluded path: {package_json.relative_to(self.project_root)}"
|
|
242
|
+
)
|
|
243
|
+
continue
|
|
244
|
+
|
|
190
245
|
# Check depth
|
|
191
246
|
relative_parts = package_json.relative_to(self.project_root).parts
|
|
192
247
|
if len(relative_parts) > 4: # Too deep
|
|
@@ -223,6 +278,13 @@ class MonorepoDetector:
|
|
|
223
278
|
if path.name.startswith("."):
|
|
224
279
|
continue
|
|
225
280
|
|
|
281
|
+
# Skip excluded directories (tests, examples, docs, etc.)
|
|
282
|
+
if self._is_excluded_path(path):
|
|
283
|
+
logger.debug(
|
|
284
|
+
f"Skipping excluded workspace path: {path.relative_to(self.project_root)}"
|
|
285
|
+
)
|
|
286
|
+
continue
|
|
287
|
+
|
|
226
288
|
# Try to get name from package.json
|
|
227
289
|
package_json = path / "package.json"
|
|
228
290
|
name = self._get_package_name(package_json) or path.name
|
|
@@ -142,12 +142,16 @@ class PerformanceProfiler:
|
|
|
142
142
|
"min": min(durations),
|
|
143
143
|
"max": max(durations),
|
|
144
144
|
"std_dev": statistics.stdev(durations) if len(durations) > 1 else 0.0,
|
|
145
|
-
"p95":
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
145
|
+
"p95": (
|
|
146
|
+
statistics.quantiles(durations, n=20)[18]
|
|
147
|
+
if len(durations) >= 20
|
|
148
|
+
else max(durations)
|
|
149
|
+
),
|
|
150
|
+
"p99": (
|
|
151
|
+
statistics.quantiles(durations, n=100)[98]
|
|
152
|
+
if len(durations) >= 100
|
|
153
|
+
else max(durations)
|
|
154
|
+
),
|
|
151
155
|
}
|
|
152
156
|
|
|
153
157
|
def get_operation_breakdown(self) -> dict[str, dict[str, Any]]:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mcp-vector-search
|
|
3
|
-
Version: 0.
|
|
4
|
-
Summary: CLI-first semantic code search with MCP integration
|
|
3
|
+
Version: 1.0.3
|
|
4
|
+
Summary: CLI-first semantic code search with MCP integration and interactive D3.js visualization for exploring code relationships
|
|
5
5
|
Project-URL: Homepage, https://github.com/bobmatnyc/mcp-vector-search
|
|
6
6
|
Project-URL: Documentation, https://mcp-vector-search.readthedocs.io
|
|
7
7
|
Project-URL: Repository, https://github.com/bobmatnyc/mcp-vector-search
|
|
@@ -29,30 +29,36 @@ License: MIT License
|
|
|
29
29
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
30
30
|
SOFTWARE.
|
|
31
31
|
License-File: LICENSE
|
|
32
|
-
Keywords: code-search,mcp,semantic-search,vector-database
|
|
32
|
+
Keywords: code-graph,code-search,d3js,force-layout,interactive-graph,mcp,semantic-search,vector-database,visualization
|
|
33
33
|
Classifier: Development Status :: 3 - Alpha
|
|
34
34
|
Classifier: Intended Audience :: Developers
|
|
35
35
|
Classifier: License :: OSI Approved :: MIT License
|
|
36
36
|
Classifier: Programming Language :: Python :: 3.11
|
|
37
37
|
Classifier: Programming Language :: Python :: 3.12
|
|
38
|
+
Classifier: Topic :: Scientific/Engineering :: Visualization
|
|
38
39
|
Classifier: Topic :: Software Development :: Code Generators
|
|
39
40
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
41
|
+
Classifier: Topic :: Software Development :: Quality Assurance
|
|
40
42
|
Requires-Python: >=3.11
|
|
41
43
|
Requires-Dist: aiofiles>=23.0.0
|
|
42
44
|
Requires-Dist: authlib>=1.6.4
|
|
43
45
|
Requires-Dist: chromadb>=0.5.0
|
|
44
46
|
Requires-Dist: click-didyoumean>=0.3.0
|
|
47
|
+
Requires-Dist: fastapi>=0.104.0
|
|
45
48
|
Requires-Dist: httpx>=0.25.0
|
|
46
49
|
Requires-Dist: loguru>=0.7.0
|
|
47
50
|
Requires-Dist: mcp>=1.12.4
|
|
48
51
|
Requires-Dist: packaging>=23.0
|
|
52
|
+
Requires-Dist: py-mcp-installer>=0.1.4
|
|
49
53
|
Requires-Dist: pydantic-settings>=2.1.0
|
|
50
54
|
Requires-Dist: pydantic>=2.5.0
|
|
51
55
|
Requires-Dist: rich>=13.0.0
|
|
52
56
|
Requires-Dist: sentence-transformers>=2.2.2
|
|
57
|
+
Requires-Dist: starlette>=0.49.1
|
|
53
58
|
Requires-Dist: tree-sitter-language-pack>=0.9.0
|
|
54
59
|
Requires-Dist: tree-sitter>=0.20.1
|
|
55
60
|
Requires-Dist: typer>=0.9.0
|
|
61
|
+
Requires-Dist: uvicorn>=0.24.0
|
|
56
62
|
Requires-Dist: watchdog>=3.0.0
|
|
57
63
|
Description-Content-Type: text/markdown
|
|
58
64
|
|
|
@@ -64,7 +70,7 @@ Description-Content-Type: text/markdown
|
|
|
64
70
|
[](https://www.python.org/downloads/)
|
|
65
71
|
[](https://opensource.org/licenses/MIT)
|
|
66
72
|
|
|
67
|
-
> ⚠️ **Alpha Release (v0.7
|
|
73
|
+
> ⚠️ **Alpha Release (v0.12.7)**: This is an early-stage project under active development. Expect breaking changes and rough edges. Feedback and contributions are welcome!
|
|
68
74
|
|
|
69
75
|
A modern, fast, and intelligent code search tool that understands your codebase through semantic analysis and AST parsing. Built with Python, powered by ChromaDB, and designed for developer productivity.
|
|
70
76
|
|
|
@@ -99,11 +105,11 @@ A modern, fast, and intelligent code search tool that understands your codebase
|
|
|
99
105
|
### Installation
|
|
100
106
|
|
|
101
107
|
```bash
|
|
102
|
-
# Install from PyPI
|
|
108
|
+
# Install from PyPI (recommended)
|
|
103
109
|
pip install mcp-vector-search
|
|
104
110
|
|
|
105
|
-
# Or with UV (
|
|
106
|
-
uv
|
|
111
|
+
# Or with UV (faster)
|
|
112
|
+
uv pip install mcp-vector-search
|
|
107
113
|
|
|
108
114
|
# Or install from source
|
|
109
115
|
git clone https://github.com/bobmatnyc/mcp-vector-search.git
|
|
@@ -111,20 +117,77 @@ cd mcp-vector-search
|
|
|
111
117
|
uv sync && uv pip install -e .
|
|
112
118
|
```
|
|
113
119
|
|
|
114
|
-
|
|
120
|
+
**Verify Installation:**
|
|
121
|
+
```bash
|
|
122
|
+
# Check that all dependencies are installed correctly
|
|
123
|
+
mcp-vector-search doctor
|
|
124
|
+
|
|
125
|
+
# Should show all ✓ marks
|
|
126
|
+
# If you see missing dependencies, try:
|
|
127
|
+
pip install --upgrade mcp-vector-search
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
### Zero-Config Setup (Recommended)
|
|
115
131
|
|
|
116
|
-
The
|
|
132
|
+
The fastest way to get started - **completely hands-off, just one command**:
|
|
117
133
|
|
|
118
134
|
```bash
|
|
119
|
-
#
|
|
120
|
-
mcp-vector-search
|
|
135
|
+
# Smart zero-config setup (recommended)
|
|
136
|
+
mcp-vector-search setup
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
**What `setup` does automatically:**
|
|
140
|
+
- ✅ Detects your project's languages and file types
|
|
141
|
+
- ✅ Initializes semantic search with optimal settings
|
|
142
|
+
- ✅ Indexes your entire codebase
|
|
143
|
+
- ✅ Configures ALL installed MCP platforms (Claude Code, Cursor, etc.)
|
|
144
|
+
- ✅ **Uses native Claude CLI integration** (`claude mcp add`) when available
|
|
145
|
+
- ✅ **Falls back to `.mcp.json`** if Claude CLI not available
|
|
146
|
+
- ✅ Sets up file watching for auto-reindex
|
|
147
|
+
- ✅ **Zero user input required!**
|
|
148
|
+
|
|
149
|
+
**Behind the scenes:**
|
|
150
|
+
- **Server name**: `mcp` (for consistency with other MCP projects)
|
|
151
|
+
- **Command**: `uv run python -m mcp_vector_search.mcp.server {PROJECT_ROOT}`
|
|
152
|
+
- **File watching**: Enabled via `MCP_ENABLE_FILE_WATCHING=true`
|
|
153
|
+
- **Integration method**: Native `claude mcp add` (or `.mcp.json` fallback)
|
|
154
|
+
|
|
155
|
+
**Example output:**
|
|
156
|
+
```
|
|
157
|
+
🚀 Smart Setup for mcp-vector-search
|
|
158
|
+
🔍 Detecting project...
|
|
159
|
+
✅ Found 3 language(s): Python, JavaScript, TypeScript
|
|
160
|
+
✅ Detected 8 file type(s)
|
|
161
|
+
✅ Found 2 platform(s): claude-code, cursor
|
|
162
|
+
⚙️ Configuring...
|
|
163
|
+
✅ Embedding model: sentence-transformers/all-MiniLM-L6-v2
|
|
164
|
+
🚀 Initializing...
|
|
165
|
+
✅ Vector database created
|
|
166
|
+
✅ Configuration saved
|
|
167
|
+
🔍 Indexing codebase...
|
|
168
|
+
✅ Indexing completed in 12.3s
|
|
169
|
+
🔗 Configuring MCP integrations...
|
|
170
|
+
✅ Using Claude CLI for automatic setup
|
|
171
|
+
✅ Registered with Claude CLI
|
|
172
|
+
✅ Configured 2 platform(s)
|
|
173
|
+
🎉 Setup Complete!
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
**Options:**
|
|
177
|
+
```bash
|
|
178
|
+
# Force re-setup
|
|
179
|
+
mcp-vector-search setup --force
|
|
180
|
+
|
|
181
|
+
# Verbose output for debugging (shows Claude CLI commands)
|
|
182
|
+
mcp-vector-search setup --verbose
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
### Advanced Setup Options
|
|
121
186
|
|
|
122
|
-
|
|
123
|
-
# 1. Initialize your project configuration
|
|
124
|
-
# 2. Automatically index your codebase
|
|
125
|
-
# 3. Provide next-step hints for MCP integration
|
|
187
|
+
For more control over the installation process:
|
|
126
188
|
|
|
127
|
-
|
|
189
|
+
```bash
|
|
190
|
+
# Manual setup with MCP integration
|
|
128
191
|
mcp-vector-search install --with-mcp
|
|
129
192
|
|
|
130
193
|
# Custom file extensions
|
|
@@ -132,10 +195,20 @@ mcp-vector-search install --extensions .py,.js,.ts,.dart
|
|
|
132
195
|
|
|
133
196
|
# Skip automatic indexing
|
|
134
197
|
mcp-vector-search install --no-auto-index
|
|
198
|
+
|
|
199
|
+
# Just initialize (no indexing or MCP)
|
|
200
|
+
mcp-vector-search init
|
|
135
201
|
```
|
|
136
202
|
|
|
137
203
|
### Add MCP Integration for AI Tools
|
|
138
204
|
|
|
205
|
+
**Automatic (Recommended):**
|
|
206
|
+
```bash
|
|
207
|
+
# One command sets up all detected platforms
|
|
208
|
+
mcp-vector-search setup
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
**Manual Platform Installation:**
|
|
139
212
|
```bash
|
|
140
213
|
# Add Claude Code integration (project-scoped)
|
|
141
214
|
mcp-vector-search install claude-code
|
|
@@ -143,13 +216,12 @@ mcp-vector-search install claude-code
|
|
|
143
216
|
# Add Cursor IDE integration (global)
|
|
144
217
|
mcp-vector-search install cursor
|
|
145
218
|
|
|
146
|
-
# Add Claude Desktop integration (global)
|
|
147
|
-
mcp-vector-search install claude-desktop
|
|
148
|
-
|
|
149
219
|
# See all available platforms
|
|
150
220
|
mcp-vector-search install list
|
|
151
221
|
```
|
|
152
222
|
|
|
223
|
+
**Note**: The `setup` command uses native `claude mcp add` when Claude CLI is available, providing better integration than manual `.mcp.json` creation.
|
|
224
|
+
|
|
153
225
|
### Remove MCP Integrations
|
|
154
226
|
|
|
155
227
|
```bash
|
|
@@ -171,7 +243,7 @@ mcp-vector-search search "authentication logic"
|
|
|
171
243
|
mcp-vector-search search "database connection setup"
|
|
172
244
|
mcp-vector-search search "error handling patterns"
|
|
173
245
|
|
|
174
|
-
# Index your codebase (if not done during
|
|
246
|
+
# Index your codebase (if not done during setup)
|
|
175
247
|
mcp-vector-search index
|
|
176
248
|
|
|
177
249
|
# Check project status
|
|
@@ -194,7 +266,7 @@ $ mcp-vector-search indx
|
|
|
194
266
|
No such command 'indx'. Did you mean 'index'?
|
|
195
267
|
```
|
|
196
268
|
|
|
197
|
-
See [docs/
|
|
269
|
+
See [docs/guides/cli-usage.md](docs/guides/cli-usage.md) for more details.
|
|
198
270
|
|
|
199
271
|
## Versioning & Releasing
|
|
200
272
|
|
|
@@ -205,15 +277,49 @@ This project uses semantic versioning with an automated release workflow.
|
|
|
205
277
|
- `make release-patch` - Create patch release
|
|
206
278
|
- `make publish` - Publish to PyPI
|
|
207
279
|
|
|
208
|
-
See [docs/
|
|
280
|
+
See [docs/development/versioning.md](docs/development/versioning.md) for complete documentation.
|
|
209
281
|
|
|
210
282
|
## 📖 Documentation
|
|
211
283
|
|
|
212
284
|
### Commands
|
|
213
285
|
|
|
214
|
-
#### `
|
|
286
|
+
#### `setup` - Zero-Config Smart Setup (Recommended)
|
|
215
287
|
```bash
|
|
216
|
-
#
|
|
288
|
+
# One command to do everything (recommended)
|
|
289
|
+
mcp-vector-search setup
|
|
290
|
+
|
|
291
|
+
# What it does automatically:
|
|
292
|
+
# - Detects project languages and file types
|
|
293
|
+
# - Initializes semantic search
|
|
294
|
+
# - Indexes entire codebase
|
|
295
|
+
# - Configures all detected MCP platforms
|
|
296
|
+
# - Sets up file watching
|
|
297
|
+
# - Zero configuration needed!
|
|
298
|
+
|
|
299
|
+
# Force re-setup
|
|
300
|
+
mcp-vector-search setup --force
|
|
301
|
+
|
|
302
|
+
# Verbose output for debugging
|
|
303
|
+
mcp-vector-search setup --verbose
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
**Key Features:**
|
|
307
|
+
- **Zero Configuration**: No user input required
|
|
308
|
+
- **Smart Detection**: Automatically discovers languages and platforms
|
|
309
|
+
- **Comprehensive**: Handles init + index + MCP setup in one command
|
|
310
|
+
- **Idempotent**: Safe to run multiple times
|
|
311
|
+
- **Fast**: Timeout-protected scanning (won't hang on large projects)
|
|
312
|
+
- **Team-Friendly**: Commit `.mcp.json` to share configuration
|
|
313
|
+
|
|
314
|
+
**When to use:**
|
|
315
|
+
- ✅ First-time project setup
|
|
316
|
+
- ✅ Team onboarding
|
|
317
|
+
- ✅ Quick testing in new codebases
|
|
318
|
+
- ✅ Setting up multiple MCP platforms at once
|
|
319
|
+
|
|
320
|
+
#### `install` - Install Project and MCP Integrations (Advanced)
|
|
321
|
+
```bash
|
|
322
|
+
# Manual setup with more control
|
|
217
323
|
mcp-vector-search install
|
|
218
324
|
|
|
219
325
|
# Install with all MCP integrations
|
|
@@ -227,7 +333,6 @@ mcp-vector-search install --no-auto-index
|
|
|
227
333
|
|
|
228
334
|
# Platform-specific MCP integration
|
|
229
335
|
mcp-vector-search install claude-code # Project-scoped
|
|
230
|
-
mcp-vector-search install claude-desktop # Global
|
|
231
336
|
mcp-vector-search install cursor # Global
|
|
232
337
|
mcp-vector-search install windsurf # Global
|
|
233
338
|
mcp-vector-search install vscode # Global
|
|
@@ -236,7 +341,11 @@ mcp-vector-search install vscode # Global
|
|
|
236
341
|
mcp-vector-search install list
|
|
237
342
|
```
|
|
238
343
|
|
|
239
|
-
|
|
344
|
+
**When to use:**
|
|
345
|
+
- Use `install` when you need fine-grained control over extensions, models, or MCP platforms
|
|
346
|
+
- Use `setup` for quick, zero-config onboarding (recommended)
|
|
347
|
+
|
|
348
|
+
#### `uninstall` - Remove MCP Integrations
|
|
240
349
|
```bash
|
|
241
350
|
# Remove specific platform
|
|
242
351
|
mcp-vector-search uninstall claude-code
|
|
@@ -256,7 +365,7 @@ mcp-vector-search remove claude-code
|
|
|
256
365
|
|
|
257
366
|
#### `init` - Initialize Project (Simple)
|
|
258
367
|
```bash
|
|
259
|
-
# Basic initialization
|
|
368
|
+
# Basic initialization (no indexing or MCP)
|
|
260
369
|
mcp-vector-search init
|
|
261
370
|
|
|
262
371
|
# Custom configuration
|
|
@@ -266,6 +375,8 @@ mcp-vector-search init --extensions .py,.js,.ts --embedding-model sentence-trans
|
|
|
266
375
|
mcp-vector-search init --force
|
|
267
376
|
```
|
|
268
377
|
|
|
378
|
+
**Note**: For most users, use `setup` instead of `init`. The `init` command is for advanced users who want manual control.
|
|
379
|
+
|
|
269
380
|
#### `index` - Index Codebase
|
|
270
381
|
```bash
|
|
271
382
|
# Index all files
|
|
@@ -541,22 +652,20 @@ We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) f
|
|
|
541
652
|
git clone https://github.com/bobmatnyc/mcp-vector-search.git
|
|
542
653
|
cd mcp-vector-search
|
|
543
654
|
|
|
544
|
-
# Install dependencies
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
# Install in development mode
|
|
548
|
-
uv pip install -e .
|
|
655
|
+
# Install development environment (includes dependencies + editable install)
|
|
656
|
+
make dev
|
|
549
657
|
|
|
550
658
|
# Test CLI from source (recommended during development)
|
|
551
659
|
./dev-mcp version # Shows [DEV] indicator
|
|
552
660
|
./dev-mcp search "test" # No reinstall needed after code changes
|
|
553
661
|
|
|
554
|
-
# Run tests
|
|
555
|
-
|
|
662
|
+
# Run tests and quality checks
|
|
663
|
+
make test-unit # Run unit tests
|
|
664
|
+
make quality # Run linting and type checking
|
|
665
|
+
make fix # Auto-fix formatting issues
|
|
556
666
|
|
|
557
|
-
#
|
|
558
|
-
|
|
559
|
-
uv run mypy src/
|
|
667
|
+
# View all available targets
|
|
668
|
+
make help
|
|
560
669
|
```
|
|
561
670
|
|
|
562
671
|
For detailed development workflow and `dev-mcp` usage, see the [Development](#-development) section below.
|
|
@@ -628,16 +737,19 @@ Please [open an issue](https://github.com/bobmatnyc/mcp-vector-search/issues) or
|
|
|
628
737
|
**Stage A: Local Development & Testing**
|
|
629
738
|
```bash
|
|
630
739
|
# Setup development environment
|
|
631
|
-
|
|
740
|
+
make dev
|
|
632
741
|
|
|
633
742
|
# Run development tests
|
|
634
|
-
|
|
743
|
+
make test-unit
|
|
635
744
|
|
|
636
745
|
# Run CLI from source (recommended during development)
|
|
637
746
|
./dev-mcp version # Visual [DEV] indicator
|
|
638
747
|
./dev-mcp status # Any command works
|
|
639
748
|
./dev-mcp search "auth" # Immediate feedback on changes
|
|
640
749
|
|
|
750
|
+
# Run quality checks
|
|
751
|
+
make quality
|
|
752
|
+
|
|
641
753
|
# Alternative: use uv run directly
|
|
642
754
|
uv run mcp-vector-search version
|
|
643
755
|
```
|
|
@@ -719,19 +831,37 @@ See [DEVELOPMENT.md](DEVELOPMENT.md) for detailed development instructions.
|
|
|
719
831
|
|
|
720
832
|
## 📚 Documentation
|
|
721
833
|
|
|
722
|
-
For comprehensive documentation, see **[
|
|
723
|
-
|
|
724
|
-
###
|
|
725
|
-
- **[
|
|
726
|
-
- **[
|
|
727
|
-
- **[
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
- **[
|
|
731
|
-
- **[
|
|
732
|
-
- **[
|
|
733
|
-
- **[
|
|
734
|
-
- **[
|
|
834
|
+
For comprehensive documentation, see **[docs/index.md](docs/index.md)** - the complete documentation hub.
|
|
835
|
+
|
|
836
|
+
### Getting Started
|
|
837
|
+
- **[Installation Guide](docs/getting-started/installation.md)** - Complete installation instructions
|
|
838
|
+
- **[First Steps](docs/getting-started/first-steps.md)** - Quick start tutorial
|
|
839
|
+
- **[Configuration](docs/getting-started/configuration.md)** - Basic configuration
|
|
840
|
+
|
|
841
|
+
### User Guides
|
|
842
|
+
- **[Searching Guide](docs/guides/searching.md)** - Master semantic code search
|
|
843
|
+
- **[Indexing Guide](docs/guides/indexing.md)** - Indexing strategies and optimization
|
|
844
|
+
- **[CLI Usage](docs/guides/cli-usage.md)** - Advanced CLI features
|
|
845
|
+
- **[MCP Integration](docs/guides/mcp-integration.md)** - AI tool integration
|
|
846
|
+
- **[File Watching](docs/guides/file-watching.md)** - Real-time index updates
|
|
847
|
+
|
|
848
|
+
### Reference
|
|
849
|
+
- **[CLI Commands](docs/reference/cli-commands.md)** - Complete command reference
|
|
850
|
+
- **[Configuration Options](docs/reference/configuration-options.md)** - All configuration settings
|
|
851
|
+
- **[Features](docs/reference/features.md)** - Feature overview
|
|
852
|
+
- **[Architecture](docs/reference/architecture.md)** - System architecture
|
|
853
|
+
|
|
854
|
+
### Development
|
|
855
|
+
- **[Contributing](docs/development/contributing.md)** - How to contribute
|
|
856
|
+
- **[Testing](docs/development/testing.md)** - Testing guide
|
|
857
|
+
- **[Code Quality](docs/development/code-quality.md)** - Linting and formatting
|
|
858
|
+
- **[API Reference](docs/development/api.md)** - Internal API docs
|
|
859
|
+
- **[Deployment](docs/deployment/README.md)** - Release and deployment guide
|
|
860
|
+
|
|
861
|
+
### Advanced
|
|
862
|
+
- **[Troubleshooting](docs/advanced/troubleshooting.md)** - Common issues and solutions
|
|
863
|
+
- **[Performance](docs/architecture/performance.md)** - Performance optimization
|
|
864
|
+
- **[Extending](docs/advanced/extending.md)** - Adding new features
|
|
735
865
|
|
|
736
866
|
## 🤝 Contributing
|
|
737
867
|
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
mcp_vector_search/__init__.py,sha256=GaPg51gwGr2wWy4xng5lWqBKZY_Rn0DMmEZ7LvLBz2w,299
|
|
2
|
+
mcp_vector_search/py.typed,sha256=lCKeV9Qcn9sGtbRsgg-LJO2ZwWRuknnnlmomq3bJFH0,43
|
|
3
|
+
mcp_vector_search/analysis/__init__.py,sha256=cdCheFL4eL50J2EkDD6Z6zObujwnYXNShFbP-G05MWo,1861
|
|
4
|
+
mcp_vector_search/analysis/metrics.py,sha256=0XR4g3vVpRba8GJLXtfpypxYKY5n2Ipi5ACfQu2reIA,11904
|
|
5
|
+
mcp_vector_search/analysis/collectors/__init__.py,sha256=Ot6Paw3fDDvbXNdlevtuIThed_1S8iGK1gjJVp3XVSc,1041
|
|
6
|
+
mcp_vector_search/analysis/collectors/base.py,sha256=Eda8z8rmgFqMlmXl-cfgilG_YElV0vqlRb56YK7bJeI,5465
|
|
7
|
+
mcp_vector_search/analysis/collectors/complexity.py,sha256=sEPy9v91KtOERc46jN7hGFoyj_5KrZxYVG63qS9ue20,25332
|
|
8
|
+
mcp_vector_search/analysis/reporters/__init__.py,sha256=EOZymd-DqqdQ4mY4i_Hg9A_ryZ225htzID6-wUBs7Bo,137
|
|
9
|
+
mcp_vector_search/analysis/reporters/console.py,sha256=zqrK7A4Q3Zf84B7wYaBefsvTE6tDTY5_JVv02ObpNPY,7899
|
|
10
|
+
mcp_vector_search/cli/__init__.py,sha256=TNB7CaOASz8u3yHWLbNmo8-GtHF0qwUjVKWAuNphKgo,40
|
|
11
|
+
mcp_vector_search/cli/didyoumean.py,sha256=wEpiFbieH-aBsfEtFW7gtRsTBP17zC2xRzDpKGrD7Kg,16921
|
|
12
|
+
mcp_vector_search/cli/export.py,sha256=iluxuRT2KELdKlQeDAlVkteiel4GGrng153UAw9H0as,10804
|
|
13
|
+
mcp_vector_search/cli/history.py,sha256=6wRrSfxpUe9hJXuaEeVxOVkFlcpqkIiGfwzDgd5N6c8,9323
|
|
14
|
+
mcp_vector_search/cli/interactive.py,sha256=T7P4dAdvbglznzQYgiePv5YNyOx9FeE57Y3OKYnnbYE,12744
|
|
15
|
+
mcp_vector_search/cli/main.py,sha256=D30OqWeYEvJOLcRJaBmLp3ajRXQ-Gvqhk-VP9bLSbb0,15741
|
|
16
|
+
mcp_vector_search/cli/output.py,sha256=0U6tV8CLAmX8IkTe9mUGGEsniFGmHR2v25iJ3SW_wNA,13235
|
|
17
|
+
mcp_vector_search/cli/suggestions.py,sha256=h-UaxoLcHmFbhZSm0WG7nKJXAIRIqhv7aGsXijp7vA8,13273
|
|
18
|
+
mcp_vector_search/cli/commands/__init__.py,sha256=vQls-YKZ54YEwmf7g1dL0T2SS9D4pdQljXzsUChG_V4,42
|
|
19
|
+
mcp_vector_search/cli/commands/analyze.py,sha256=4eItZ9U52iN3L1RriVfc-BumKIqqucDkhSZULw7RGA4,12698
|
|
20
|
+
mcp_vector_search/cli/commands/auto_index.py,sha256=imVVbxWRlA128NPdK9BetNNl3ELrsdq-hqcsLqyAmoM,12712
|
|
21
|
+
mcp_vector_search/cli/commands/chat.py,sha256=jgcCsrh1dHd7HVczjd-jDc9WCbMA30P8d6q2SnaImlI,44042
|
|
22
|
+
mcp_vector_search/cli/commands/config.py,sha256=y2rCX6108cJj8osISeroGRukkyWZdoSz0Hhdz8ehK4E,12862
|
|
23
|
+
mcp_vector_search/cli/commands/demo.py,sha256=MVfEkYmA2abRFwAbk-lpa6P14_SLJBHZAuHb9d6d02U,10630
|
|
24
|
+
mcp_vector_search/cli/commands/index.py,sha256=e5o6C4QfAxP5KZX9ujqGViyVyjUCNfTWousIVSjsJbw,25001
|
|
25
|
+
mcp_vector_search/cli/commands/init.py,sha256=VLGX1BXy9U0aFOjUR5Ao_nsRGIA6t5hGvM6zHvTLjtY,23809
|
|
26
|
+
mcp_vector_search/cli/commands/install.py,sha256=dd0LqL-yE6ZIxJ0HIwwZ7nGto_43jhYKbnLbt-IOgHc,32535
|
|
27
|
+
mcp_vector_search/cli/commands/install_old.py,sha256=K3Yo8L2Bti6EYaRvojz5Y-RdT4ABlN9-4--EKOs1YxI,24669
|
|
28
|
+
mcp_vector_search/cli/commands/mcp.py,sha256=mAC-8pP0PQxnmUuhStndgZBS444JmjunFHhhRlUwLMc,41240
|
|
29
|
+
mcp_vector_search/cli/commands/reset.py,sha256=Ab0u6G1g_cvSJ4mltVrUPooKJbRqEa4uX57-CNa9IZM,15229
|
|
30
|
+
mcp_vector_search/cli/commands/search.py,sha256=GH2BAMknFZ5SO5KwcBRMW_PbxkYb1pSxUbSITr4P-Vw,25927
|
|
31
|
+
mcp_vector_search/cli/commands/setup.py,sha256=ENiaE25bPafwIw1hSmob79nv4eIumoQNsxO41gn2Gfs,40546
|
|
32
|
+
mcp_vector_search/cli/commands/status.py,sha256=vSk1X7vOwKmhrPaMOSiZ-EIf62WXAKy7LQV4K82m_nU,21235
|
|
33
|
+
mcp_vector_search/cli/commands/uninstall.py,sha256=SjfViJYm0N4N955Ya3xGdu7eFfK7CWuJcw0AwZqwpRQ,13265
|
|
34
|
+
mcp_vector_search/cli/commands/visualize.py.original,sha256=oq_yG1UqwqSxUTWzUp5hBJIvoQleA-GCaPGAMroUAtM,99016
|
|
35
|
+
mcp_vector_search/cli/commands/watch.py,sha256=bwR9Xaa7TaLMCcwRDA3WzbsInI2UYCp0eVg3TnCiyaQ,8902
|
|
36
|
+
mcp_vector_search/cli/commands/visualize/__init__.py,sha256=eh2s2nQwptY__dy5P5oX4HznrGzLHI2wvk0WJrRyzgI,1107
|
|
37
|
+
mcp_vector_search/cli/commands/visualize/cli.py,sha256=piXTkGizEDyyQ2zm5HKP0gtT6hXIn-y8ibkNBzn8Kfw,9217
|
|
38
|
+
mcp_vector_search/cli/commands/visualize/graph_builder.py,sha256=kZnXq7usBE3wCHsYOj-W-eZ1djWSablj8LlIdFVADW8,26152
|
|
39
|
+
mcp_vector_search/cli/commands/visualize/layout_engine.py,sha256=jTQnZNI42DrJfiLr1MXC3Dq0eMgInz0U1xOLBa4maWA,15973
|
|
40
|
+
mcp_vector_search/cli/commands/visualize/server.py,sha256=yOucZ_gZUSVb5jJn-qfZ9RAvpp3otdnpmq7Bfg_ugoY,10413
|
|
41
|
+
mcp_vector_search/cli/commands/visualize/state_manager.py,sha256=f91cmdXigh0f8POdGYfBpeUfN0aRsdRRZwNxaZAr3y4,15069
|
|
42
|
+
mcp_vector_search/cli/commands/visualize/exporters/__init__.py,sha256=0bFmy9SRV7xlYZRtRY_VyYcoxR-0a94N9Qspd47xXFc,278
|
|
43
|
+
mcp_vector_search/cli/commands/visualize/exporters/html_exporter.py,sha256=wa4TufaTCGqFJFghXds1wXXLbgEF3vdAzfJbKfRFCBA,799
|
|
44
|
+
mcp_vector_search/cli/commands/visualize/exporters/json_exporter.py,sha256=jmjFe64It860loSk_wPezFHJxq6v_aQsSwhDUHVt-LA,773
|
|
45
|
+
mcp_vector_search/cli/commands/visualize/templates/__init__.py,sha256=yZqjGO77JlcMVdbnO0t5Sli84Mp5xfJPw9SS_4JcO_8,389
|
|
46
|
+
mcp_vector_search/cli/commands/visualize/templates/base.py,sha256=LQWF4VKKwd-TWhhBNvoae53JpNJXU9haDvgTmqfqiz4,7367
|
|
47
|
+
mcp_vector_search/cli/commands/visualize/templates/scripts.py,sha256=sx6mNpDclb4WM1XQyAI3ChsVFlkMVMMQjcNb-vvq344,97338
|
|
48
|
+
mcp_vector_search/cli/commands/visualize/templates/styles.py,sha256=2FVPBubWzGIJqu1m-_7S0IojGe48jLQU_s88xaeMEfk,32999
|
|
49
|
+
mcp_vector_search/config/__init__.py,sha256=GWmUIAIf2yVmUSqPqzTA47mlMeWCXmYwmyECSa8Lq14,208
|
|
50
|
+
mcp_vector_search/config/constants.py,sha256=afXR6SvLLd8QYY4MG4s1vq-hCJiQsE5PhnE-XG9lvb4,1092
|
|
51
|
+
mcp_vector_search/config/default_thresholds.yaml,sha256=sF9BVm1JvooqBS_MaL2HMxSqpJYqjwDqXjQAedxKx-M,1439
|
|
52
|
+
mcp_vector_search/config/defaults.py,sha256=SkPWFpU6BIYbGjyW9WtZ-tsBy9KSGZKkti-EJc2O-8E,5325
|
|
53
|
+
mcp_vector_search/config/settings.py,sha256=D1KMwpBOc-lbuUDy4Q-dvPHp63YAHGqAWipiCVb4xMA,5112
|
|
54
|
+
mcp_vector_search/config/thresholds.py,sha256=HKpOlfHbtGu6F2k7TVGE5JwEcs_FmWCdb1vhMtk3InY,5959
|
|
55
|
+
mcp_vector_search/core/__init__.py,sha256=bWKtKmmaFs7gG5XPCbrx77UYIVeO1FF8wIJxpj1dLNw,48
|
|
56
|
+
mcp_vector_search/core/auto_indexer.py,sha256=E6_6gOcczG6AIpm9TwpZv_rUR4Eif_zIkhEvD5VFm4Y,10315
|
|
57
|
+
mcp_vector_search/core/boilerplate.py,sha256=kyA1Cf79aXgCGWPaxeqoE6cKI1m7-Q4ousmZBMvOTW8,5395
|
|
58
|
+
mcp_vector_search/core/config_utils.py,sha256=qWUvv-a7MNiSQvPqt6WMfeZQv_agsaLIyVVVWZCNbpQ,12056
|
|
59
|
+
mcp_vector_search/core/connection_pool.py,sha256=Ls6zenjS6lGNiQvaPtpVEB4g7J-Yt2b_bM89FiS_io4,12668
|
|
60
|
+
mcp_vector_search/core/database.py,sha256=X6wXHSm4pNWCUTnWygCZJWcJ2-vtDM8a9TYmk94hRFs,59125
|
|
61
|
+
mcp_vector_search/core/directory_index.py,sha256=kCHyltX0b3ZgAm21BSBU_NI_DlyIJ9xq7TrnkFmCmb4,11207
|
|
62
|
+
mcp_vector_search/core/embeddings.py,sha256=wSMUNxZcuGPMxxQ1AbKqA1a3-0c6AiOqmuuI7OqTyaQ,10578
|
|
63
|
+
mcp_vector_search/core/exceptions.py,sha256=1PSbuJcsZXupSYbC7piG8zmHzqAeJstvZVTelxONK2k,1891
|
|
64
|
+
mcp_vector_search/core/factory.py,sha256=0ZfjBUq2XvnU2lhFdNzAk1r25f7V0Y28qDmvD0jTjj8,10359
|
|
65
|
+
mcp_vector_search/core/git_hooks.py,sha256=BUfTU1hky6zdDgtofa1djFwa7g-S1_bxekO4OvPaY8s,10906
|
|
66
|
+
mcp_vector_search/core/indexer.py,sha256=kpw9BzuOGSzbSJW9eyUIw5SR2tNLaJTNJFvksTo-FgE,45312
|
|
67
|
+
mcp_vector_search/core/llm_client.py,sha256=ImhKlK8DFef7LmtU_ikaaO9ota1GBlhQYSEG8zfbsXc,26864
|
|
68
|
+
mcp_vector_search/core/models.py,sha256=svIZ_le_9MZfOgpSPxiP2-VGxrT-0rSnobeckDuPgWE,11737
|
|
69
|
+
mcp_vector_search/core/project.py,sha256=87Cgxm8P3Q2ocqJDJwgJaqrdbzj-6LvM5pKQJTvXfqk,11601
|
|
70
|
+
mcp_vector_search/core/scheduler.py,sha256=msDatz1nFJLg4An99TX6yfWEHtXtl0FiWE1m-RBWTYY,11859
|
|
71
|
+
mcp_vector_search/core/search.py,sha256=kxdH038EUAnTs_IvKxXnnk2muRUxmW-N6MvzycaexWA,39236
|
|
72
|
+
mcp_vector_search/core/watcher.py,sha256=-DFRCnuUfcqcTrkZPQqfJSvxKAxnpt-axgEj1V-B0O4,10862
|
|
73
|
+
mcp_vector_search/mcp/__init__.py,sha256=gfKR0QV7Jqvj5y0LMBe9gSghd5_rPsvm_rml0ryQtoY,158
|
|
74
|
+
mcp_vector_search/mcp/__main__.py,sha256=KgwB59HM5pRLe2Aj-fvDFcTp95lyT0wfmS3ENcx9gPc,571
|
|
75
|
+
mcp_vector_search/mcp/server.py,sha256=R4cRvakhG8UhS-qPXJl97MT5cUOFZw0rPkr-EKPvNTY,29194
|
|
76
|
+
mcp_vector_search/parsers/__init__.py,sha256=jr0Yqz1xMok4lnG7_aXnkZThGuefrlAj8PWVbfeT3QQ,228
|
|
77
|
+
mcp_vector_search/parsers/base.py,sha256=dtezuhVgs9dAWlRYT23GGONyckWzTqkEj7Vcwor8C1k,9341
|
|
78
|
+
mcp_vector_search/parsers/dart.py,sha256=li2JP0vwpSsZnMNq0PweZCD_o-y1jUwubHlSA8nm8KQ,21816
|
|
79
|
+
mcp_vector_search/parsers/html.py,sha256=nzEVDV4oCBp3wpL8vp6WWx5eqiB39agu9E048JkuRJQ,13010
|
|
80
|
+
mcp_vector_search/parsers/javascript.py,sha256=uJMLTbY5NGDSf0817bZ6dQQuQMXLUfIEZzyPuxLxoBY,24337
|
|
81
|
+
mcp_vector_search/parsers/php.py,sha256=1QjnE8SAQF86VQ7pNfn1Pmpg5Dni4M7KCLU7212DkXM,24774
|
|
82
|
+
mcp_vector_search/parsers/python.py,sha256=SiiFySPqZuSMgoctElZCMm18XEA3p1x1qdm1uvYlj_4,19322
|
|
83
|
+
mcp_vector_search/parsers/registry.py,sha256=_a5TwQ19xRb8bQUJhybL04PdmIEXhZ0-6687QvZvE_M,6556
|
|
84
|
+
mcp_vector_search/parsers/ruby.py,sha256=xNn_z8txAWL7E1ULcFMiqn5idFhf5GQn8N3x1yE-c2k,23818
|
|
85
|
+
mcp_vector_search/parsers/text.py,sha256=jvMdFspbmrrOR1GSGzf2gvBDCXz1cPN_xemoDK4fUvM,6084
|
|
86
|
+
mcp_vector_search/parsers/utils.py,sha256=10vT-GJSeDUoGSIslz8zq4RyavFiMtizCmcnn9cbQqE,8103
|
|
87
|
+
mcp_vector_search/utils/__init__.py,sha256=A1UUiZnwYZLw3FnYfwEE9ejGWFxfPFq4fur-tQO26oo,971
|
|
88
|
+
mcp_vector_search/utils/gitignore.py,sha256=hJHt5YsfEvLIfweaa968tGTavcbxqh3X5nSaeWOS_FA,8690
|
|
89
|
+
mcp_vector_search/utils/gitignore_updater.py,sha256=JNi307O0gS0tlc1dSqFfWkIrEqkUKx051-TE7E_Gf70,8454
|
|
90
|
+
mcp_vector_search/utils/monorepo.py,sha256=mlew8cjuIUvtXFAlAJtWZhav5LCLHL2uIef5LEH8aMc,10634
|
|
91
|
+
mcp_vector_search/utils/timing.py,sha256=GuHebwsn6xhEzyR7Mthf1o-dPd_nQhXCsDhsveiRXDE,11365
|
|
92
|
+
mcp_vector_search/utils/version.py,sha256=d7fS-CLemxb8UzZ9j18zH0Y0Ud097ljKKYYOPulnGPE,1138
|
|
93
|
+
mcp_vector_search-1.0.3.dist-info/METADATA,sha256=XaLKHHKlKxJVvz_xnz-KhUVUbGr1cCv6gbA0ZAUh2Io,29787
|
|
94
|
+
mcp_vector_search-1.0.3.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
95
|
+
mcp_vector_search-1.0.3.dist-info/entry_points.txt,sha256=H3Ku3CLmadh89aN8fZ3rxr3w19JQWm_TsYyPErlftB8,146
|
|
96
|
+
mcp_vector_search-1.0.3.dist-info/licenses/LICENSE,sha256=FqZUgGJH_tZKZLQsMCpXaLawRyLmyFKRVfMwYyEcyTs,1072
|
|
97
|
+
mcp_vector_search-1.0.3.dist-info/RECORD,,
|