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
|
@@ -390,8 +390,26 @@ async def _run_batch_indexing(
|
|
|
390
390
|
|
|
391
391
|
# Add next-step hints
|
|
392
392
|
if indexed_count > 0:
|
|
393
|
+
# Check if LLM is configured for chat command
|
|
394
|
+
from mcp_vector_search.core.config_utils import (
|
|
395
|
+
get_openai_api_key,
|
|
396
|
+
get_openrouter_api_key,
|
|
397
|
+
)
|
|
398
|
+
|
|
399
|
+
config_dir = indexer.project_root / ".mcp-vector-search"
|
|
400
|
+
has_openai = get_openai_api_key(config_dir) is not None
|
|
401
|
+
has_openrouter = get_openrouter_api_key(config_dir) is not None
|
|
402
|
+
llm_configured = has_openai or has_openrouter
|
|
403
|
+
|
|
404
|
+
if llm_configured:
|
|
405
|
+
provider = "OpenAI" if has_openai else "OpenRouter"
|
|
406
|
+
chat_hint = f"[cyan]mcp-vector-search chat 'question'[/cyan] - Ask AI about your code [green](✓ {provider})[/green]"
|
|
407
|
+
else:
|
|
408
|
+
chat_hint = "[cyan]mcp-vector-search chat 'question'[/cyan] - Ask AI about your code [dim](requires API key)[/dim]"
|
|
409
|
+
|
|
393
410
|
steps = [
|
|
394
411
|
"[cyan]mcp-vector-search search 'your query'[/cyan] - Try semantic search",
|
|
412
|
+
chat_hint,
|
|
395
413
|
"[cyan]mcp-vector-search status[/cyan] - View detailed statistics",
|
|
396
414
|
]
|
|
397
415
|
print_next_steps(steps, title="Ready to Search")
|
|
@@ -567,9 +585,9 @@ async def _reindex_single_file(project_root: Path, file_path: Path) -> None:
|
|
|
567
585
|
# Setup components
|
|
568
586
|
embedding_function, cache = create_embedding_function(
|
|
569
587
|
model_name=config.embedding_model,
|
|
570
|
-
cache_dir=
|
|
571
|
-
|
|
572
|
-
|
|
588
|
+
cache_dir=(
|
|
589
|
+
get_default_cache_path(project_root) if config.cache_embeddings else None
|
|
590
|
+
),
|
|
573
591
|
)
|
|
574
592
|
|
|
575
593
|
database = ChromaVectorDatabase(
|
|
@@ -432,6 +432,19 @@ async def run_init_setup(
|
|
|
432
432
|
claude_cmd = get_claude_command()
|
|
433
433
|
server_command = get_mcp_server_command(project_root)
|
|
434
434
|
|
|
435
|
+
# First, try to remove existing server (safe to ignore if doesn't exist)
|
|
436
|
+
# This ensures clean registration when server already exists
|
|
437
|
+
print_info("Updating MCP server configuration...")
|
|
438
|
+
remove_cmd = [claude_cmd, "mcp", "remove", "mcp-vector-search"]
|
|
439
|
+
|
|
440
|
+
subprocess.run(
|
|
441
|
+
remove_cmd,
|
|
442
|
+
capture_output=True,
|
|
443
|
+
text=True,
|
|
444
|
+
timeout=10,
|
|
445
|
+
)
|
|
446
|
+
# Ignore result - it's OK if server doesn't exist
|
|
447
|
+
|
|
435
448
|
# Install MCP server with project scope for team sharing
|
|
436
449
|
cmd_args = [
|
|
437
450
|
claude_cmd,
|