mcp-vector-search 0.12.0__tar.gz → 0.12.2__tar.gz
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.
Potentially problematic release.
This version of mcp-vector-search might be problematic. Click here for more details.
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/.gitignore +3 -0
- mcp_vector_search-0.12.2/CLAUDE.md +49 -0
- mcp_vector_search-0.12.2/INVESTIGATION_EXPANSION_BUG.md +229 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/PKG-INFO +148 -25
- mcp_vector_search-0.12.2/QA_REPORT_ContentPane.md +338 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/README.md +146 -24
- mcp_vector_search-0.12.2/ROOT_NODE_FIX_SUMMARY.md +71 -0
- mcp_vector_search-0.12.2/dev-mcp +202 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/docs/CHANGELOG.md +55 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/pyproject.toml +1 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/pytest.ini +2 -1
- mcp_vector_search-0.12.2/scripts/README_FAVICON.md +121 -0
- mcp_vector_search-0.12.2/scripts/generate_favicon.py +280 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/__init__.py +2 -2
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/cli/commands/index.py +15 -24
- mcp_vector_search-0.12.2/src/mcp_vector_search/cli/commands/install.py +675 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/cli/commands/status.py +7 -5
- mcp_vector_search-0.12.2/src/mcp_vector_search/cli/commands/uninstall.py +485 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/cli/commands/visualize.py +417 -121
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/cli/didyoumean.py +10 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/cli/main.py +39 -21
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/core/connection_pool.py +49 -11
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/core/database.py +7 -9
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/core/directory_index.py +26 -11
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/core/indexer.py +89 -29
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/core/models.py +4 -1
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/core/project.py +16 -5
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/parsers/base.py +54 -18
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/parsers/javascript.py +41 -20
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/parsers/python.py +19 -11
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/parsers/registry.py +3 -2
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/utils/gitignore.py +3 -1
- mcp_vector_search-0.12.2/src/mcp_vector_search/visualization/favicon-v1-1024.png +0 -0
- mcp_vector_search-0.12.2/src/mcp_vector_search/visualization/favicon-v1-128.png +0 -0
- mcp_vector_search-0.12.2/src/mcp_vector_search/visualization/favicon-v1-16.png +0 -0
- mcp_vector_search-0.12.2/src/mcp_vector_search/visualization/favicon-v1-256.png +0 -0
- mcp_vector_search-0.12.2/src/mcp_vector_search/visualization/favicon-v1-32.png +0 -0
- mcp_vector_search-0.12.2/src/mcp_vector_search/visualization/favicon-v1-512.png +0 -0
- mcp_vector_search-0.12.2/src/mcp_vector_search/visualization/favicon-v1-64.png +0 -0
- mcp_vector_search-0.12.2/src/mcp_vector_search/visualization/favicon-v1.ico +0 -0
- mcp_vector_search-0.12.2/src/mcp_vector_search/visualization/favicon-v2-1024.png +0 -0
- mcp_vector_search-0.12.2/src/mcp_vector_search/visualization/favicon-v2-128.png +0 -0
- mcp_vector_search-0.12.2/src/mcp_vector_search/visualization/favicon-v2-16.png +0 -0
- mcp_vector_search-0.12.2/src/mcp_vector_search/visualization/favicon-v2-256.png +0 -0
- mcp_vector_search-0.12.2/src/mcp_vector_search/visualization/favicon-v2-32.png +0 -0
- mcp_vector_search-0.12.2/src/mcp_vector_search/visualization/favicon-v2-512.png +0 -0
- mcp_vector_search-0.12.2/src/mcp_vector_search/visualization/favicon-v2-64.png +0 -0
- mcp_vector_search-0.12.2/src/mcp_vector_search/visualization/favicon-v2.ico +0 -0
- mcp_vector_search-0.12.2/src/mcp_vector_search/visualization/favicon-v3-1024.png +0 -0
- mcp_vector_search-0.12.2/src/mcp_vector_search/visualization/favicon-v3-128.png +0 -0
- mcp_vector_search-0.12.2/src/mcp_vector_search/visualization/favicon-v3-16.png +0 -0
- mcp_vector_search-0.12.2/src/mcp_vector_search/visualization/favicon-v3-256.png +0 -0
- mcp_vector_search-0.12.2/src/mcp_vector_search/visualization/favicon-v3-32.png +0 -0
- mcp_vector_search-0.12.2/src/mcp_vector_search/visualization/favicon-v3-512.png +0 -0
- mcp_vector_search-0.12.2/src/mcp_vector_search/visualization/favicon-v3-64.png +0 -0
- mcp_vector_search-0.12.2/src/mcp_vector_search/visualization/favicon-v3.ico +0 -0
- mcp_vector_search-0.12.2/src/mcp_vector_search/visualization/index.html +1008 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/tests/conftest.py +7 -4
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/uv.lock +10 -7
- mcp_vector_search-0.12.0/CLAUDE.md +0 -760
- mcp_vector_search-0.12.0/src/mcp_vector_search/visualization/index.html +0 -658
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/.github/workflows/ci.yml +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/.pre-commit-config.yaml +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/LICENSE +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/Makefile +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/PERFORMANCE_OPTIMIZATION_SUMMARY.md +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/docs/CLI_FEATURES.md +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/docs/DEPLOY.md +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/docs/DEVELOPMENT.md +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/docs/FEATURES.md +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/docs/IMPROVEMENTS_SUMMARY.md +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/docs/MCP_FILE_WATCHING.md +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/docs/RELEASES.md +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/docs/STRUCTURE.md +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/docs/VERSIONING.md +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/docs/VERSIONING_WORKFLOW.md +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/docs/_archive/CLAUDE_20251009_pre_mpm_init.md +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/docs/_archive/CLAUDE_MPM_INIT_SUMMARY_20251009.md +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/docs/_archive/MPM_INIT_EXECUTIVE_SUMMARY.md +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/docs/analysis/SEARCH_ANALYSIS_REPORT.md +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/docs/analysis/SEARCH_IMPROVEMENT_PLAN.md +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/docs/architecture/REINDEXING_WORKFLOW.md +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/docs/debugging/SEARCH_BUG_ANALYSIS.md +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/docs/developer/API.md +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/docs/developer/CONTRIBUTING.md +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/docs/developer/DEVELOPER.md +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/docs/developer/LINTING.md +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/docs/developer/REFACTORING_ANALYSIS.md +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/docs/developer/TESTING.md +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/docs/developer/TESTING_STRATEGY.md +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/docs/developer/TEST_SUITE_SUMMARY.md +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/docs/mcp-integration.md +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/docs/optimizations/database-stats-chunked-processing.md +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/docs/performance/CONNECTION_POOLING.md +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/docs/performance/SEARCH_TIMING_ANALYSIS.md +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/docs/prd/mcp_vector_search_prd_updated.md +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/docs/reference/ENGINEER_TASK.md +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/docs/reference/INSTALL.md +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/docs/reference/INSTALL_COMMAND_ENHANCEMENTS.md +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/docs/reference/MCP_SETUP.md +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/docs/reference/PROJECT_ORGANIZATION.md +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/docs/technical/SIMILARITY_CALCULATION_FIX.md +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/examples/connection_pooling_example.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/examples/semi_automatic_reindexing_demo.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/mcp-vector-search-wrapper +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/scripts/README.md +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/scripts/analyze_search_bottlenecks.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/scripts/build.sh +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/scripts/changeset.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/scripts/comprehensive_build.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/scripts/deploy-test.sh +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/scripts/dev-build.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/scripts/dev-setup.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/scripts/dev-test.sh +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/scripts/fix_linting.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/scripts/mcp-dev +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/scripts/monitor_search_performance.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/scripts/publish.sh +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/scripts/quick_search_timing.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/scripts/run_search_timing_tests.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/scripts/run_tests.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/scripts/search_performance_monitor.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/scripts/search_quality_analyzer.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/scripts/setup/mcp-vector-search.sh +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/scripts/setup/setup-alias.sh +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/scripts/setup-dev-mcp.sh +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/scripts/update_docs.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/scripts/version_manager.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/scripts/workflow.sh +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/cli/__init__.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/cli/commands/__init__.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/cli/commands/auto_index.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/cli/commands/config.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/cli/commands/demo.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/cli/commands/init.py +0 -0
- /mcp_vector_search-0.12.0/src/mcp_vector_search/cli/commands/install.py → /mcp_vector_search-0.12.2/src/mcp_vector_search/cli/commands/install_old.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/cli/commands/mcp.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/cli/commands/reset.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/cli/commands/search.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/cli/commands/watch.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/cli/export.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/cli/history.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/cli/interactive.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/cli/output.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/cli/suggestions.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/config/__init__.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/config/constants.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/config/defaults.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/config/settings.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/core/__init__.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/core/auto_indexer.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/core/embeddings.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/core/exceptions.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/core/factory.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/core/git_hooks.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/core/scheduler.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/core/search.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/core/watcher.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/mcp/__init__.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/mcp/__main__.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/mcp/server.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/parsers/__init__.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/parsers/dart.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/parsers/html.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/parsers/php.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/parsers/ruby.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/parsers/text.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/parsers/utils.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/py.typed +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/utils/__init__.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/utils/monorepo.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/utils/timing.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/src/mcp_vector_search/utils/version.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/tests/__init__.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/tests/sample_code/ast_test_javascript.js +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/tests/sample_code/ast_test_python.py +0 -0
- {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.2}/tests/sample_code/ast_test_typescript.ts +0 -0
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Project Memory Configuration
|
|
2
|
+
|
|
3
|
+
This project uses KuzuMemory for intelligent context management.
|
|
4
|
+
|
|
5
|
+
## Project Information
|
|
6
|
+
- **Path**: /Users/masa/Projects/mcp-vector-search
|
|
7
|
+
- **Language**: Python
|
|
8
|
+
- **Framework**: Unknown
|
|
9
|
+
|
|
10
|
+
## Memory Integration
|
|
11
|
+
|
|
12
|
+
KuzuMemory is configured to enhance all AI interactions with project-specific context.
|
|
13
|
+
|
|
14
|
+
### Available Commands:
|
|
15
|
+
- `kuzu-memory enhance <prompt>` - Enhance prompts with project context
|
|
16
|
+
- `kuzu-memory learn <content>` - Store learning from conversations (async)
|
|
17
|
+
- `kuzu-memory recall <query>` - Query project memories
|
|
18
|
+
- `kuzu-memory stats` - View memory statistics
|
|
19
|
+
|
|
20
|
+
### MCP Tools Available:
|
|
21
|
+
When interacting with Claude Desktop, the following MCP tools are available:
|
|
22
|
+
- **kuzu_enhance**: Enhance prompts with project memories
|
|
23
|
+
- **kuzu_learn**: Store new learnings asynchronously
|
|
24
|
+
- **kuzu_recall**: Query specific memories
|
|
25
|
+
- **kuzu_stats**: Get memory system statistics
|
|
26
|
+
|
|
27
|
+
## Project Context
|
|
28
|
+
|
|
29
|
+
CLI-first semantic code search with MCP integration
|
|
30
|
+
|
|
31
|
+
## Key Technologies
|
|
32
|
+
- Python
|
|
33
|
+
|
|
34
|
+
## Development Guidelines
|
|
35
|
+
- Use kuzu-memory enhance for all AI interactions
|
|
36
|
+
- Store important decisions with kuzu-memory learn
|
|
37
|
+
- Query context with kuzu-memory recall when needed
|
|
38
|
+
- Keep memories project-specific and relevant
|
|
39
|
+
|
|
40
|
+
## Memory Guidelines
|
|
41
|
+
|
|
42
|
+
- Store project decisions and conventions
|
|
43
|
+
- Record technical specifications and API details
|
|
44
|
+
- Capture user preferences and patterns
|
|
45
|
+
- Document error solutions and workarounds
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
*Generated by KuzuMemory Claude Hooks Installer*
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
# Investigation Report: Node Expansion Not Working
|
|
2
|
+
|
|
3
|
+
## Summary
|
|
4
|
+
User reports that directory/file nodes show expand/collapse icons ("+"/"-") but clicking them doesn't expand/collapse the hierarchy.
|
|
5
|
+
|
|
6
|
+
## Code Analysis
|
|
7
|
+
|
|
8
|
+
### 1. Click Handler Attachment ✓ CORRECT
|
|
9
|
+
**Location**: `/Users/masa/Projects/mcp-vector-search/src/mcp_vector_search/visualization/index.html:481`
|
|
10
|
+
|
|
11
|
+
```javascript
|
|
12
|
+
.on("click", handleNodeClick)
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
The click handler IS correctly attached to each node group (`<g>` element).
|
|
16
|
+
|
|
17
|
+
### 2. Pointer Events ✓ CORRECT
|
|
18
|
+
**Locations**: Lines 123, 130, 542
|
|
19
|
+
|
|
20
|
+
All text elements (labels, icons, expand indicators) have `pointer-events: none`, which correctly allows clicks to pass through to the parent `<g>` element where the handler is attached.
|
|
21
|
+
|
|
22
|
+
### 3. hasChildren() Function ✓ CORRECT
|
|
23
|
+
**Location**: Line 586-590
|
|
24
|
+
|
|
25
|
+
```javascript
|
|
26
|
+
function hasChildren(node) {
|
|
27
|
+
return allLinks.some(l => (l.source.id || l.source) === node.id);
|
|
28
|
+
}
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
This correctly checks if a node is a parent (source) in any link. The `(l.source.id || l.source)` pattern handles both:
|
|
32
|
+
- **Before D3 mutation**: `l.source` is a string (e.g., "dir_abc")
|
|
33
|
+
- **After D3 mutation**: `l.source` is an object with `.id` property
|
|
34
|
+
|
|
35
|
+
### 4. handleNodeClick() Function ✓ LOGIC CORRECT
|
|
36
|
+
**Location**: Line 593-624
|
|
37
|
+
|
|
38
|
+
The logic flow is correct:
|
|
39
|
+
1. Show content pane (always)
|
|
40
|
+
2. Check if node has children
|
|
41
|
+
3. If yes, toggle collapse/expand state
|
|
42
|
+
4. Call `renderGraph()` to update visualization
|
|
43
|
+
|
|
44
|
+
### 5. expandNode() Function ✓ LOGIC CORRECT
|
|
45
|
+
**Location**: Line 626-654
|
|
46
|
+
|
|
47
|
+
Correctly:
|
|
48
|
+
1. Removes node from `collapsedNodes`
|
|
49
|
+
2. Finds children by filtering `allLinks` for links where source matches node ID
|
|
50
|
+
3. Adds each child to `visibleNodes`
|
|
51
|
+
4. Adds each child to `collapsedNodes` (children start collapsed)
|
|
52
|
+
|
|
53
|
+
### 6. Data Structure ✓ VERIFIED
|
|
54
|
+
**File**: `/Users/masa/Projects/mcp-vector-search/chunk-graph.json`
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
Total nodes: 7015
|
|
58
|
+
Total links: 7006
|
|
59
|
+
Directory nodes: 26
|
|
60
|
+
Root directories: 5 (docs, examples, scripts, src, tests)
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Sample link structure:
|
|
64
|
+
```json
|
|
65
|
+
{
|
|
66
|
+
"source": "dir_9f40c524",
|
|
67
|
+
"target": "dir_504f9a81",
|
|
68
|
+
"type": "dir_hierarchy"
|
|
69
|
+
}
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Example: `docs` directory has 22 child links, confirming hierarchy is correctly structured.
|
|
73
|
+
|
|
74
|
+
## Debugging Added
|
|
75
|
+
|
|
76
|
+
I've added comprehensive console logging to help diagnose the issue:
|
|
77
|
+
|
|
78
|
+
### Initial State Logging (Line 445-450)
|
|
79
|
+
Logs on page load:
|
|
80
|
+
- Total nodes and links
|
|
81
|
+
- Root nodes identified
|
|
82
|
+
- Initial visible and collapsed node sets
|
|
83
|
+
|
|
84
|
+
### Click Handler Logging (Line 594-623)
|
|
85
|
+
Logs on every node click:
|
|
86
|
+
- Node name, type, and ID
|
|
87
|
+
- Whether node has children
|
|
88
|
+
- Whether node is collapsed
|
|
89
|
+
- Which action is taken (expand/collapse)
|
|
90
|
+
|
|
91
|
+
### hasChildren() Logging (Line 587-590)
|
|
92
|
+
Logs every time it's called:
|
|
93
|
+
- Node name
|
|
94
|
+
- Result (true/false)
|
|
95
|
+
- Number of links checked
|
|
96
|
+
|
|
97
|
+
### expandNode() Logging (Line 627-653)
|
|
98
|
+
Logs during expansion:
|
|
99
|
+
- Node being expanded
|
|
100
|
+
- Number of child links found
|
|
101
|
+
- Number of child nodes found
|
|
102
|
+
- Each child being added to visibleNodes
|
|
103
|
+
- Final visibleNodes size
|
|
104
|
+
|
|
105
|
+
### renderGraph() Logging (Line 456-467)
|
|
106
|
+
Logs on every render:
|
|
107
|
+
- Size of visibleNodes and collapsedNodes sets
|
|
108
|
+
- Number of nodes being rendered
|
|
109
|
+
- Number of links being rendered
|
|
110
|
+
|
|
111
|
+
## Testing Instructions
|
|
112
|
+
|
|
113
|
+
1. **Open the visualization**:
|
|
114
|
+
```bash
|
|
115
|
+
cd /Users/masa/Projects/mcp-vector-search/src/mcp_vector_search/visualization
|
|
116
|
+
open index.html
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
2. **Open Browser DevTools**:
|
|
120
|
+
- Press F12 or Cmd+Option+I (Mac)
|
|
121
|
+
- Go to the Console tab
|
|
122
|
+
|
|
123
|
+
3. **Check Initial State**:
|
|
124
|
+
- You should see "=== INITIAL STATE ===" logged
|
|
125
|
+
- Verify root nodes are identified correctly
|
|
126
|
+
- Should show 5-9 root nodes
|
|
127
|
+
|
|
128
|
+
4. **Click a Directory Node**:
|
|
129
|
+
- Click on "docs", "src", or another directory node
|
|
130
|
+
- Watch console for "=== NODE CLICKED ===" messages
|
|
131
|
+
- Check what happens:
|
|
132
|
+
|
|
133
|
+
### Expected Behavior:
|
|
134
|
+
```
|
|
135
|
+
=== NODE CLICKED ===
|
|
136
|
+
Node: docs Type: directory ID: dir_9f40c524
|
|
137
|
+
hasChildren(docs): true Checking 7006 links for node ID: dir_9f40c524
|
|
138
|
+
Node has children: true
|
|
139
|
+
Node is collapsed: true
|
|
140
|
+
Expanding node...
|
|
141
|
+
expandNode(docs): Removing from collapsedNodes
|
|
142
|
+
Found 22 child links for node dir_9f40c524
|
|
143
|
+
Found 22 child nodes: [_archive, analysis, architecture, ...]
|
|
144
|
+
Adding child to visibleNodes: _archive (dir_504f9a81)
|
|
145
|
+
Adding child to visibleNodes: analysis (dir_abc123)
|
|
146
|
+
...
|
|
147
|
+
visibleNodes now has 27 items
|
|
148
|
+
=== renderGraph() called ===
|
|
149
|
+
visibleNodes.size: 27
|
|
150
|
+
Rendering 27 visible nodes
|
|
151
|
+
Rendering XX visible links
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
### Possible Issues to Look For:
|
|
155
|
+
|
|
156
|
+
#### Issue A: hasChildren() Returns False
|
|
157
|
+
**Symptom**: Console shows `Node has children: false`
|
|
158
|
+
**Cause**: Links not properly structured or node ID mismatch
|
|
159
|
+
**Check**:
|
|
160
|
+
- Are node IDs consistent between nodes and links?
|
|
161
|
+
- Are links properly loaded?
|
|
162
|
+
|
|
163
|
+
#### Issue B: No Children Found
|
|
164
|
+
**Symptom**: Console shows `Found 0 child links`
|
|
165
|
+
**Cause**: Link source/target ID mismatch or D3 mutation issue
|
|
166
|
+
**Check**:
|
|
167
|
+
- What is the format of `l.source` (string or object)?
|
|
168
|
+
- Does `l.source` or `l.source.id` match the node ID?
|
|
169
|
+
|
|
170
|
+
#### Issue C: Children Added But Not Rendered
|
|
171
|
+
**Symptom**: Console shows children added to visibleNodes, but renderGraph() shows same count
|
|
172
|
+
**Cause**: visibleNodes not being updated correctly
|
|
173
|
+
**Check**:
|
|
174
|
+
- Does `visibleNodes.size` increase after expansion?
|
|
175
|
+
- Are the new nodes actually being rendered?
|
|
176
|
+
|
|
177
|
+
#### Issue D: Click Handler Not Firing
|
|
178
|
+
**Symptom**: No "=== NODE CLICKED ===" in console
|
|
179
|
+
**Cause**: Event handler not attached or being blocked
|
|
180
|
+
**Check**:
|
|
181
|
+
- Are there any JavaScript errors on page load?
|
|
182
|
+
- Try clicking different parts of the node (center, edge, icon area)
|
|
183
|
+
|
|
184
|
+
## Potential Root Causes
|
|
185
|
+
|
|
186
|
+
Based on the code analysis, here are the most likely issues:
|
|
187
|
+
|
|
188
|
+
### 1. D3 Link Mutation Issue (MOST LIKELY)
|
|
189
|
+
**Problem**: D3's `forceLink()` mutates link objects, replacing string IDs with object references.
|
|
190
|
+
|
|
191
|
+
When `visibleLinks` is created by filtering `allLinks`, it creates a new array but **shares the same link objects**. When D3 mutates `visibleLinks`, it also mutates `allLinks`.
|
|
192
|
+
|
|
193
|
+
**Impact**: After first render, all links in `allLinks` have object references instead of strings. The `hasChildren()` function should still work due to the `(l.source.id || l.source)` pattern, but there could be edge cases.
|
|
194
|
+
|
|
195
|
+
**Test**: Check console to see if `hasChildren()` is returning the correct value after clicking.
|
|
196
|
+
|
|
197
|
+
### 2. Event Propagation Issue
|
|
198
|
+
**Problem**: Click events might be consumed by drag handler or other events.
|
|
199
|
+
|
|
200
|
+
**Test**: Check if "=== NODE CLICKED ===" appears in console when clicking.
|
|
201
|
+
|
|
202
|
+
### 3. Render Not Updating Visual State
|
|
203
|
+
**Problem**: Even if expansion logic works, the visual update might fail.
|
|
204
|
+
|
|
205
|
+
**Test**: Check if `renderGraph()` logs show increasing node counts after expansion.
|
|
206
|
+
|
|
207
|
+
## Next Steps
|
|
208
|
+
|
|
209
|
+
1. **Run the visualization with debugging**
|
|
210
|
+
2. **Open browser console**
|
|
211
|
+
3. **Click a directory node**
|
|
212
|
+
4. **Copy all console output**
|
|
213
|
+
5. **Analyze which of the above issues is occurring**
|
|
214
|
+
|
|
215
|
+
## Files Modified
|
|
216
|
+
|
|
217
|
+
- `/Users/masa/Projects/mcp-vector-search/src/mcp_vector_search/visualization/index.html`
|
|
218
|
+
- Added comprehensive console.log() debugging throughout
|
|
219
|
+
- No logic changes - only added logging
|
|
220
|
+
|
|
221
|
+
## Conclusion
|
|
222
|
+
|
|
223
|
+
The code logic appears correct. The issue is likely:
|
|
224
|
+
|
|
225
|
+
1. **D3 link mutation** causing unexpected behavior in `hasChildren()` or `expandNode()`
|
|
226
|
+
2. **Event handling** issue preventing clicks from being registered
|
|
227
|
+
3. **Visual update** issue where expansion logic works but rendering doesn't update
|
|
228
|
+
|
|
229
|
+
The added debugging will help pinpoint the exact issue. Please run the visualization and check the browser console output when clicking nodes.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mcp-vector-search
|
|
3
|
-
Version: 0.12.
|
|
3
|
+
Version: 0.12.2
|
|
4
4
|
Summary: CLI-first semantic code search with MCP integration
|
|
5
5
|
Project-URL: Homepage, https://github.com/bobmatnyc/mcp-vector-search
|
|
6
6
|
Project-URL: Documentation, https://mcp-vector-search.readthedocs.io
|
|
@@ -39,6 +39,7 @@ Classifier: Topic :: Software Development :: Code Generators
|
|
|
39
39
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
40
40
|
Requires-Python: >=3.11
|
|
41
41
|
Requires-Dist: aiofiles>=23.0.0
|
|
42
|
+
Requires-Dist: authlib>=1.6.4
|
|
42
43
|
Requires-Dist: chromadb>=0.5.0
|
|
43
44
|
Requires-Dist: click-didyoumean>=0.3.0
|
|
44
45
|
Requires-Dist: httpx>=0.25.0
|
|
@@ -110,49 +111,68 @@ cd mcp-vector-search
|
|
|
110
111
|
uv sync && uv pip install -e .
|
|
111
112
|
```
|
|
112
113
|
|
|
113
|
-
### Complete Setup
|
|
114
|
+
### Complete Setup (One Command)
|
|
114
115
|
|
|
115
|
-
The
|
|
116
|
+
The **hierarchical install command** (v0.13.0) provides complete project setup and MCP integration management:
|
|
116
117
|
|
|
117
118
|
```bash
|
|
118
|
-
#
|
|
119
|
+
# Quick setup (recommended)
|
|
119
120
|
mcp-vector-search install
|
|
120
121
|
|
|
121
|
-
#
|
|
122
|
-
|
|
122
|
+
# This will:
|
|
123
|
+
# 1. Initialize your project configuration
|
|
124
|
+
# 2. Automatically index your codebase
|
|
125
|
+
# 3. Provide next-step hints for MCP integration
|
|
123
126
|
|
|
124
|
-
#
|
|
125
|
-
mcp-vector-search install --mcp
|
|
126
|
-
|
|
127
|
-
# Setup without automatic indexing
|
|
128
|
-
mcp-vector-search install --no-index
|
|
127
|
+
# Install with all MCP integrations at once
|
|
128
|
+
mcp-vector-search install --with-mcp
|
|
129
129
|
|
|
130
130
|
# Custom file extensions
|
|
131
131
|
mcp-vector-search install --extensions .py,.js,.ts,.dart
|
|
132
|
+
|
|
133
|
+
# Skip automatic indexing
|
|
134
|
+
mcp-vector-search install --no-auto-index
|
|
132
135
|
```
|
|
133
136
|
|
|
134
|
-
|
|
135
|
-
- Initializes your project configuration
|
|
136
|
-
- Detects and configures MCP tools (Claude Code, Cursor, Windsurf, VS Code)
|
|
137
|
-
- Automatically indexes your codebase
|
|
138
|
-
- Provides rich progress indicators and next-step hints
|
|
137
|
+
### Add MCP Integration for AI Tools
|
|
139
138
|
|
|
140
|
-
|
|
139
|
+
```bash
|
|
140
|
+
# Add Claude Code integration (project-scoped)
|
|
141
|
+
mcp-vector-search install claude-code
|
|
142
|
+
|
|
143
|
+
# Add Cursor IDE integration (global)
|
|
144
|
+
mcp-vector-search install cursor
|
|
145
|
+
|
|
146
|
+
# Add Claude Desktop integration (global)
|
|
147
|
+
mcp-vector-search install claude-desktop
|
|
148
|
+
|
|
149
|
+
# See all available platforms
|
|
150
|
+
mcp-vector-search install list
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
### Remove MCP Integrations
|
|
141
154
|
|
|
142
155
|
```bash
|
|
143
|
-
#
|
|
144
|
-
mcp-vector-search
|
|
156
|
+
# Remove specific platform
|
|
157
|
+
mcp-vector-search uninstall claude-code
|
|
145
158
|
|
|
146
|
-
#
|
|
147
|
-
mcp-vector-search
|
|
159
|
+
# Remove all integrations
|
|
160
|
+
mcp-vector-search uninstall --all
|
|
161
|
+
|
|
162
|
+
# List configured integrations
|
|
163
|
+
mcp-vector-search uninstall list
|
|
164
|
+
```
|
|
148
165
|
|
|
166
|
+
### Basic Usage
|
|
167
|
+
|
|
168
|
+
```bash
|
|
149
169
|
# Search your code
|
|
150
170
|
mcp-vector-search search "authentication logic"
|
|
151
171
|
mcp-vector-search search "database connection setup"
|
|
152
172
|
mcp-vector-search search "error handling patterns"
|
|
153
173
|
|
|
154
|
-
#
|
|
155
|
-
mcp-vector-search
|
|
174
|
+
# Index your codebase (if not done during install)
|
|
175
|
+
mcp-vector-search index
|
|
156
176
|
|
|
157
177
|
# Check project status
|
|
158
178
|
mcp-vector-search status
|
|
@@ -191,7 +211,50 @@ See [docs/VERSIONING_WORKFLOW.md](docs/VERSIONING_WORKFLOW.md) for complete docu
|
|
|
191
211
|
|
|
192
212
|
### Commands
|
|
193
213
|
|
|
194
|
-
#### `
|
|
214
|
+
#### `install` - Install Project and MCP Integrations (v0.13.0)
|
|
215
|
+
```bash
|
|
216
|
+
# Quick setup (recommended)
|
|
217
|
+
mcp-vector-search install
|
|
218
|
+
|
|
219
|
+
# Install with all MCP integrations
|
|
220
|
+
mcp-vector-search install --with-mcp
|
|
221
|
+
|
|
222
|
+
# Custom file extensions
|
|
223
|
+
mcp-vector-search install --extensions .py,.js,.ts
|
|
224
|
+
|
|
225
|
+
# Skip automatic indexing
|
|
226
|
+
mcp-vector-search install --no-auto-index
|
|
227
|
+
|
|
228
|
+
# Platform-specific MCP integration
|
|
229
|
+
mcp-vector-search install claude-code # Project-scoped
|
|
230
|
+
mcp-vector-search install claude-desktop # Global
|
|
231
|
+
mcp-vector-search install cursor # Global
|
|
232
|
+
mcp-vector-search install windsurf # Global
|
|
233
|
+
mcp-vector-search install vscode # Global
|
|
234
|
+
|
|
235
|
+
# List available platforms
|
|
236
|
+
mcp-vector-search install list
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
#### `uninstall` - Remove MCP Integrations (v0.13.0)
|
|
240
|
+
```bash
|
|
241
|
+
# Remove specific platform
|
|
242
|
+
mcp-vector-search uninstall claude-code
|
|
243
|
+
|
|
244
|
+
# Remove all integrations
|
|
245
|
+
mcp-vector-search uninstall --all
|
|
246
|
+
|
|
247
|
+
# List configured integrations
|
|
248
|
+
mcp-vector-search uninstall list
|
|
249
|
+
|
|
250
|
+
# Skip backup creation
|
|
251
|
+
mcp-vector-search uninstall claude-code --no-backup
|
|
252
|
+
|
|
253
|
+
# Alias (same as uninstall)
|
|
254
|
+
mcp-vector-search remove claude-code
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
#### `init` - Initialize Project (Simple)
|
|
195
258
|
```bash
|
|
196
259
|
# Basic initialization
|
|
197
260
|
mcp-vector-search init
|
|
@@ -427,6 +490,10 @@ uv sync
|
|
|
427
490
|
# Install in development mode
|
|
428
491
|
uv pip install -e .
|
|
429
492
|
|
|
493
|
+
# Test CLI from source (recommended during development)
|
|
494
|
+
./dev-mcp version # Shows [DEV] indicator
|
|
495
|
+
./dev-mcp search "test" # No reinstall needed after code changes
|
|
496
|
+
|
|
430
497
|
# Run tests
|
|
431
498
|
uv run pytest
|
|
432
499
|
|
|
@@ -435,6 +502,8 @@ uv run ruff check
|
|
|
435
502
|
uv run mypy src/
|
|
436
503
|
```
|
|
437
504
|
|
|
505
|
+
For detailed development workflow and `dev-mcp` usage, see the [Development](#-development) section below.
|
|
506
|
+
|
|
438
507
|
### Adding Language Support
|
|
439
508
|
|
|
440
509
|
1. Create a new parser in `src/mcp_vector_search/parsers/`
|
|
@@ -507,10 +576,64 @@ uv sync && uv pip install -e .
|
|
|
507
576
|
# Run development tests
|
|
508
577
|
./scripts/dev-test.sh
|
|
509
578
|
|
|
510
|
-
#
|
|
579
|
+
# Run CLI from source (recommended during development)
|
|
580
|
+
./dev-mcp version # Visual [DEV] indicator
|
|
581
|
+
./dev-mcp status # Any command works
|
|
582
|
+
./dev-mcp search "auth" # Immediate feedback on changes
|
|
583
|
+
|
|
584
|
+
# Alternative: use uv run directly
|
|
511
585
|
uv run mcp-vector-search version
|
|
512
586
|
```
|
|
513
587
|
|
|
588
|
+
#### Using the `dev-mcp` Development Helper
|
|
589
|
+
|
|
590
|
+
The `./dev-mcp` script provides a streamlined way to run the CLI from source code during development, eliminating the need for repeated installations.
|
|
591
|
+
|
|
592
|
+
**Key Features:**
|
|
593
|
+
- **Visual [DEV] Indicator**: Shows `[DEV]` prefix to distinguish from installed version
|
|
594
|
+
- **No Reinstall Required**: Reflects code changes immediately
|
|
595
|
+
- **Complete Argument Forwarding**: Works with all CLI commands and options
|
|
596
|
+
- **Verbose Mode**: Debug output with `--verbose` flag
|
|
597
|
+
- **Built-in Help**: Script usage with `--help`
|
|
598
|
+
|
|
599
|
+
**Usage Examples:**
|
|
600
|
+
```bash
|
|
601
|
+
# Basic commands (note the [DEV] prefix in output)
|
|
602
|
+
./dev-mcp version
|
|
603
|
+
./dev-mcp status
|
|
604
|
+
./dev-mcp index
|
|
605
|
+
./dev-mcp search "authentication logic"
|
|
606
|
+
|
|
607
|
+
# With CLI options
|
|
608
|
+
./dev-mcp search "error handling" --limit 10
|
|
609
|
+
./dev-mcp index --force
|
|
610
|
+
|
|
611
|
+
# Script verbose mode (shows Python interpreter, paths)
|
|
612
|
+
./dev-mcp --verbose search "database"
|
|
613
|
+
|
|
614
|
+
# Script help (shows dev-mcp usage, not CLI help)
|
|
615
|
+
./dev-mcp --help
|
|
616
|
+
|
|
617
|
+
# CLI command help (forwards --help to the CLI)
|
|
618
|
+
./dev-mcp search --help
|
|
619
|
+
./dev-mcp index --help
|
|
620
|
+
```
|
|
621
|
+
|
|
622
|
+
**When to Use:**
|
|
623
|
+
- **`./dev-mcp`** → Development workflow (runs from source code)
|
|
624
|
+
- **`mcp-vector-search`** → Production usage (runs installed version via pipx/pip)
|
|
625
|
+
|
|
626
|
+
**Benefits:**
|
|
627
|
+
- **Instant Feedback**: Changes to source code are reflected immediately
|
|
628
|
+
- **No Build Step**: Skip the reinstall cycle during active development
|
|
629
|
+
- **Clear Context**: Visual `[DEV]` indicator prevents confusion about which version is running
|
|
630
|
+
- **Error Handling**: Built-in checks for uv installation and project structure
|
|
631
|
+
|
|
632
|
+
**Requirements:**
|
|
633
|
+
- Must have `uv` installed (`pip install uv`)
|
|
634
|
+
- Must run from project root directory
|
|
635
|
+
- Requires `pyproject.toml` in current directory
|
|
636
|
+
|
|
514
637
|
**Stage B: Local Deployment Testing**
|
|
515
638
|
```bash
|
|
516
639
|
# Build and test clean deployment
|