mcp-vector-search 0.12.0__tar.gz → 0.12.1__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.

Files changed (146) hide show
  1. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/.gitignore +3 -0
  2. mcp_vector_search-0.12.1/CLAUDE.md +49 -0
  3. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/PKG-INFO +87 -24
  4. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/README.md +85 -23
  5. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/docs/CHANGELOG.md +55 -0
  6. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/pyproject.toml +1 -0
  7. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/pytest.ini +2 -1
  8. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/__init__.py +2 -2
  9. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/cli/commands/index.py +15 -24
  10. mcp_vector_search-0.12.1/src/mcp_vector_search/cli/commands/install.py +675 -0
  11. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/cli/commands/status.py +7 -5
  12. mcp_vector_search-0.12.1/src/mcp_vector_search/cli/commands/uninstall.py +485 -0
  13. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/cli/commands/visualize.py +406 -120
  14. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/cli/didyoumean.py +10 -0
  15. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/cli/main.py +39 -21
  16. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/core/connection_pool.py +49 -11
  17. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/core/database.py +7 -9
  18. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/core/directory_index.py +26 -11
  19. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/core/indexer.py +89 -29
  20. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/core/models.py +4 -1
  21. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/core/project.py +16 -5
  22. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/parsers/base.py +54 -18
  23. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/parsers/javascript.py +41 -20
  24. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/parsers/python.py +19 -11
  25. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/parsers/registry.py +3 -2
  26. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/utils/gitignore.py +3 -1
  27. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/tests/conftest.py +7 -4
  28. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/uv.lock +10 -7
  29. mcp_vector_search-0.12.0/CLAUDE.md +0 -760
  30. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/.github/workflows/ci.yml +0 -0
  31. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/.pre-commit-config.yaml +0 -0
  32. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/LICENSE +0 -0
  33. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/Makefile +0 -0
  34. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/PERFORMANCE_OPTIMIZATION_SUMMARY.md +0 -0
  35. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/docs/CLI_FEATURES.md +0 -0
  36. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/docs/DEPLOY.md +0 -0
  37. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/docs/DEVELOPMENT.md +0 -0
  38. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/docs/FEATURES.md +0 -0
  39. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/docs/IMPROVEMENTS_SUMMARY.md +0 -0
  40. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/docs/MCP_FILE_WATCHING.md +0 -0
  41. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/docs/RELEASES.md +0 -0
  42. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/docs/STRUCTURE.md +0 -0
  43. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/docs/VERSIONING.md +0 -0
  44. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/docs/VERSIONING_WORKFLOW.md +0 -0
  45. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/docs/_archive/CLAUDE_20251009_pre_mpm_init.md +0 -0
  46. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/docs/_archive/CLAUDE_MPM_INIT_SUMMARY_20251009.md +0 -0
  47. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/docs/_archive/MPM_INIT_EXECUTIVE_SUMMARY.md +0 -0
  48. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/docs/analysis/SEARCH_ANALYSIS_REPORT.md +0 -0
  49. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/docs/analysis/SEARCH_IMPROVEMENT_PLAN.md +0 -0
  50. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/docs/architecture/REINDEXING_WORKFLOW.md +0 -0
  51. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/docs/debugging/SEARCH_BUG_ANALYSIS.md +0 -0
  52. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/docs/developer/API.md +0 -0
  53. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/docs/developer/CONTRIBUTING.md +0 -0
  54. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/docs/developer/DEVELOPER.md +0 -0
  55. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/docs/developer/LINTING.md +0 -0
  56. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/docs/developer/REFACTORING_ANALYSIS.md +0 -0
  57. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/docs/developer/TESTING.md +0 -0
  58. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/docs/developer/TESTING_STRATEGY.md +0 -0
  59. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/docs/developer/TEST_SUITE_SUMMARY.md +0 -0
  60. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/docs/mcp-integration.md +0 -0
  61. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/docs/optimizations/database-stats-chunked-processing.md +0 -0
  62. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/docs/performance/CONNECTION_POOLING.md +0 -0
  63. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/docs/performance/SEARCH_TIMING_ANALYSIS.md +0 -0
  64. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/docs/prd/mcp_vector_search_prd_updated.md +0 -0
  65. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/docs/reference/ENGINEER_TASK.md +0 -0
  66. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/docs/reference/INSTALL.md +0 -0
  67. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/docs/reference/INSTALL_COMMAND_ENHANCEMENTS.md +0 -0
  68. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/docs/reference/MCP_SETUP.md +0 -0
  69. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/docs/reference/PROJECT_ORGANIZATION.md +0 -0
  70. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/docs/technical/SIMILARITY_CALCULATION_FIX.md +0 -0
  71. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/examples/connection_pooling_example.py +0 -0
  72. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/examples/semi_automatic_reindexing_demo.py +0 -0
  73. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/mcp-vector-search-wrapper +0 -0
  74. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/scripts/README.md +0 -0
  75. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/scripts/analyze_search_bottlenecks.py +0 -0
  76. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/scripts/build.sh +0 -0
  77. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/scripts/changeset.py +0 -0
  78. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/scripts/comprehensive_build.py +0 -0
  79. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/scripts/deploy-test.sh +0 -0
  80. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/scripts/dev-build.py +0 -0
  81. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/scripts/dev-setup.py +0 -0
  82. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/scripts/dev-test.sh +0 -0
  83. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/scripts/fix_linting.py +0 -0
  84. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/scripts/mcp-dev +0 -0
  85. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/scripts/monitor_search_performance.py +0 -0
  86. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/scripts/publish.sh +0 -0
  87. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/scripts/quick_search_timing.py +0 -0
  88. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/scripts/run_search_timing_tests.py +0 -0
  89. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/scripts/run_tests.py +0 -0
  90. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/scripts/search_performance_monitor.py +0 -0
  91. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/scripts/search_quality_analyzer.py +0 -0
  92. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/scripts/setup/mcp-vector-search.sh +0 -0
  93. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/scripts/setup/setup-alias.sh +0 -0
  94. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/scripts/setup-dev-mcp.sh +0 -0
  95. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/scripts/update_docs.py +0 -0
  96. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/scripts/version_manager.py +0 -0
  97. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/scripts/workflow.sh +0 -0
  98. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/cli/__init__.py +0 -0
  99. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/cli/commands/__init__.py +0 -0
  100. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/cli/commands/auto_index.py +0 -0
  101. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/cli/commands/config.py +0 -0
  102. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/cli/commands/demo.py +0 -0
  103. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/cli/commands/init.py +0 -0
  104. /mcp_vector_search-0.12.0/src/mcp_vector_search/cli/commands/install.py → /mcp_vector_search-0.12.1/src/mcp_vector_search/cli/commands/install_old.py +0 -0
  105. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/cli/commands/mcp.py +0 -0
  106. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/cli/commands/reset.py +0 -0
  107. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/cli/commands/search.py +0 -0
  108. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/cli/commands/watch.py +0 -0
  109. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/cli/export.py +0 -0
  110. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/cli/history.py +0 -0
  111. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/cli/interactive.py +0 -0
  112. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/cli/output.py +0 -0
  113. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/cli/suggestions.py +0 -0
  114. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/config/__init__.py +0 -0
  115. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/config/constants.py +0 -0
  116. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/config/defaults.py +0 -0
  117. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/config/settings.py +0 -0
  118. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/core/__init__.py +0 -0
  119. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/core/auto_indexer.py +0 -0
  120. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/core/embeddings.py +0 -0
  121. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/core/exceptions.py +0 -0
  122. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/core/factory.py +0 -0
  123. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/core/git_hooks.py +0 -0
  124. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/core/scheduler.py +0 -0
  125. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/core/search.py +0 -0
  126. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/core/watcher.py +0 -0
  127. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/mcp/__init__.py +0 -0
  128. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/mcp/__main__.py +0 -0
  129. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/mcp/server.py +0 -0
  130. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/parsers/__init__.py +0 -0
  131. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/parsers/dart.py +0 -0
  132. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/parsers/html.py +0 -0
  133. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/parsers/php.py +0 -0
  134. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/parsers/ruby.py +0 -0
  135. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/parsers/text.py +0 -0
  136. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/parsers/utils.py +0 -0
  137. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/py.typed +0 -0
  138. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/utils/__init__.py +0 -0
  139. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/utils/monorepo.py +0 -0
  140. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/utils/timing.py +0 -0
  141. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/utils/version.py +0 -0
  142. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/src/mcp_vector_search/visualization/index.html +0 -0
  143. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/tests/__init__.py +0 -0
  144. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/tests/sample_code/ast_test_javascript.js +0 -0
  145. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/tests/sample_code/ast_test_python.py +0 -0
  146. {mcp_vector_search-0.12.0 → mcp_vector_search-0.12.1}/tests/sample_code/ast_test_typescript.ts +0 -0
@@ -299,3 +299,6 @@ pip-wheel-metadata/
299
299
  site/
300
300
  temp/
301
301
  tmp/
302
+
303
+ # MCP Ticketer
304
+ .mcp-ticketer/
@@ -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*
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcp-vector-search
3
- Version: 0.12.0
3
+ Version: 0.12.1
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 with Install Command
114
+ ### Complete Setup (One Command)
114
115
 
115
- The new **enhanced install command** provides a complete one-step setup:
116
+ The **hierarchical install command** (v0.13.0) provides complete project setup and MCP integration management:
116
117
 
117
118
  ```bash
118
- # Interactive setup with MCP configuration
119
+ # Quick setup (recommended)
119
120
  mcp-vector-search install
120
121
 
121
- # Setup without MCP configuration
122
- mcp-vector-search install --no-mcp
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
- # Setup for specific MCP tool
125
- mcp-vector-search install --mcp-tool "Claude Code"
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
- The install command:
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
- ### Basic Usage
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
- # Initialize your project
144
- mcp-vector-search init
156
+ # Remove specific platform
157
+ mcp-vector-search uninstall claude-code
145
158
 
146
- # Index your codebase
147
- mcp-vector-search index
159
+ # Remove all integrations
160
+ mcp-vector-search uninstall --all
148
161
 
162
+ # List configured integrations
163
+ mcp-vector-search uninstall list
164
+ ```
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
- # Setup automatic reindexing (recommended)
155
- mcp-vector-search auto-index setup --method all
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
- #### `init` - Initialize Project
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
@@ -53,49 +53,68 @@ cd mcp-vector-search
53
53
  uv sync && uv pip install -e .
54
54
  ```
55
55
 
56
- ### Complete Setup with Install Command
56
+ ### Complete Setup (One Command)
57
57
 
58
- The new **enhanced install command** provides a complete one-step setup:
58
+ The **hierarchical install command** (v0.13.0) provides complete project setup and MCP integration management:
59
59
 
60
60
  ```bash
61
- # Interactive setup with MCP configuration
61
+ # Quick setup (recommended)
62
62
  mcp-vector-search install
63
63
 
64
- # Setup without MCP configuration
65
- mcp-vector-search install --no-mcp
64
+ # This will:
65
+ # 1. Initialize your project configuration
66
+ # 2. Automatically index your codebase
67
+ # 3. Provide next-step hints for MCP integration
66
68
 
67
- # Setup for specific MCP tool
68
- mcp-vector-search install --mcp-tool "Claude Code"
69
-
70
- # Setup without automatic indexing
71
- mcp-vector-search install --no-index
69
+ # Install with all MCP integrations at once
70
+ mcp-vector-search install --with-mcp
72
71
 
73
72
  # Custom file extensions
74
73
  mcp-vector-search install --extensions .py,.js,.ts,.dart
74
+
75
+ # Skip automatic indexing
76
+ mcp-vector-search install --no-auto-index
75
77
  ```
76
78
 
77
- The install command:
78
- - Initializes your project configuration
79
- - Detects and configures MCP tools (Claude Code, Cursor, Windsurf, VS Code)
80
- - Automatically indexes your codebase
81
- - Provides rich progress indicators and next-step hints
79
+ ### Add MCP Integration for AI Tools
82
80
 
83
- ### Basic Usage
81
+ ```bash
82
+ # Add Claude Code integration (project-scoped)
83
+ mcp-vector-search install claude-code
84
+
85
+ # Add Cursor IDE integration (global)
86
+ mcp-vector-search install cursor
87
+
88
+ # Add Claude Desktop integration (global)
89
+ mcp-vector-search install claude-desktop
90
+
91
+ # See all available platforms
92
+ mcp-vector-search install list
93
+ ```
94
+
95
+ ### Remove MCP Integrations
84
96
 
85
97
  ```bash
86
- # Initialize your project
87
- mcp-vector-search init
98
+ # Remove specific platform
99
+ mcp-vector-search uninstall claude-code
88
100
 
89
- # Index your codebase
90
- mcp-vector-search index
101
+ # Remove all integrations
102
+ mcp-vector-search uninstall --all
91
103
 
104
+ # List configured integrations
105
+ mcp-vector-search uninstall list
106
+ ```
107
+
108
+ ### Basic Usage
109
+
110
+ ```bash
92
111
  # Search your code
93
112
  mcp-vector-search search "authentication logic"
94
113
  mcp-vector-search search "database connection setup"
95
114
  mcp-vector-search search "error handling patterns"
96
115
 
97
- # Setup automatic reindexing (recommended)
98
- mcp-vector-search auto-index setup --method all
116
+ # Index your codebase (if not done during install)
117
+ mcp-vector-search index
99
118
 
100
119
  # Check project status
101
120
  mcp-vector-search status
@@ -134,7 +153,50 @@ See [docs/VERSIONING_WORKFLOW.md](docs/VERSIONING_WORKFLOW.md) for complete docu
134
153
 
135
154
  ### Commands
136
155
 
137
- #### `init` - Initialize Project
156
+ #### `install` - Install Project and MCP Integrations (v0.13.0)
157
+ ```bash
158
+ # Quick setup (recommended)
159
+ mcp-vector-search install
160
+
161
+ # Install with all MCP integrations
162
+ mcp-vector-search install --with-mcp
163
+
164
+ # Custom file extensions
165
+ mcp-vector-search install --extensions .py,.js,.ts
166
+
167
+ # Skip automatic indexing
168
+ mcp-vector-search install --no-auto-index
169
+
170
+ # Platform-specific MCP integration
171
+ mcp-vector-search install claude-code # Project-scoped
172
+ mcp-vector-search install claude-desktop # Global
173
+ mcp-vector-search install cursor # Global
174
+ mcp-vector-search install windsurf # Global
175
+ mcp-vector-search install vscode # Global
176
+
177
+ # List available platforms
178
+ mcp-vector-search install list
179
+ ```
180
+
181
+ #### `uninstall` - Remove MCP Integrations (v0.13.0)
182
+ ```bash
183
+ # Remove specific platform
184
+ mcp-vector-search uninstall claude-code
185
+
186
+ # Remove all integrations
187
+ mcp-vector-search uninstall --all
188
+
189
+ # List configured integrations
190
+ mcp-vector-search uninstall list
191
+
192
+ # Skip backup creation
193
+ mcp-vector-search uninstall claude-code --no-backup
194
+
195
+ # Alias (same as uninstall)
196
+ mcp-vector-search remove claude-code
197
+ ```
198
+
199
+ #### `init` - Initialize Project (Simple)
138
200
  ```bash
139
201
  # Basic initialization
140
202
  mcp-vector-search init
@@ -7,6 +7,61 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.13.0] - 2025-10-27
11
+
12
+ ### Added
13
+ - **Hierarchical Install/Uninstall Commands**: Complete CLI command restructuring for better user experience
14
+ - New `install` command with platform-specific subcommands
15
+ - New `uninstall` command for removing MCP integrations
16
+ - Support for 5 MCP platforms: claude-code, claude-desktop, cursor, windsurf, vscode
17
+ - Project-scoped configuration (`.mcp.json`) for claude-code
18
+ - Global-scoped configuration for other platforms (home directory)
19
+ - `install list` and `uninstall list` for platform discovery
20
+ - `remove` command as alias for `uninstall`
21
+ - `--with-mcp` flag to install all MCP integrations at once
22
+ - `--no-auto-index` flag to skip automatic indexing
23
+ - `--no-backup` flag for uninstall operations
24
+
25
+ ### Changed
26
+ - **MCP Command Reserved**: The `mcp` command is now exclusively for MCP server operations (not installation)
27
+ - `mcp-vector-search mcp` - Start MCP server (stdio mode)
28
+ - `mcp-vector-search mcp list` - List configured servers
29
+ - `mcp-vector-search mcp test` - Test server startup
30
+ - **Install Command Reintroduced**: Previously deprecated `install` command is back with new hierarchical structure
31
+ - `install` is now the primary command for project setup and MCP integration
32
+ - `init` remains available for simple project initialization without MCP
33
+
34
+ ### Deprecated
35
+ - `init-mcp` command deprecated in favor of `install claude-code` (or other platform subcommands)
36
+
37
+ ### Files Modified
38
+ - `src/mcp_vector_search/cli/commands/install.py` - Rewritten with hierarchical structure
39
+ - `src/mcp_vector_search/cli/commands/uninstall.py` - New command for MCP removal
40
+ - `src/mcp_vector_search/cli/main.py` - Updated command registration and help text
41
+ - `CLAUDE.md` - Updated with new command examples and structure
42
+ - `README.md` - Updated quick start and command documentation
43
+
44
+ ### Migration Guide
45
+ **Old Pattern** (v0.12.0 and earlier):
46
+ ```bash
47
+ mcp-vector-search init --mcp
48
+ ```
49
+
50
+ **New Pattern** (v0.13.0+):
51
+ ```bash
52
+ # Quick setup
53
+ mcp-vector-search install
54
+
55
+ # Add specific platform
56
+ mcp-vector-search install claude-code
57
+ ```
58
+
59
+ The new structure provides:
60
+ - Better command discoverability
61
+ - Fine-grained platform control
62
+ - Clear separation between installation and MCP server operations
63
+ - Ability to remove specific integrations
64
+
10
65
  ### Added
11
66
  - **HTML Language Support**: Full HTML parser implementation
12
67
  - Semantic content extraction from HTML tags
@@ -38,6 +38,7 @@ dependencies = [
38
38
  "mcp>=1.12.4",
39
39
  "click-didyoumean>=0.3.0",
40
40
  "packaging>=23.0",
41
+ "authlib>=1.6.4",
41
42
  ]
42
43
 
43
44
  [dependency-groups]
@@ -33,7 +33,8 @@ minversion = 6.0
33
33
  timeout = 300
34
34
 
35
35
  # Async test configuration
36
- asyncio_mode = auto
36
+ asyncio_mode = "auto"
37
+ asyncio_default_fixture_loop_scope = function
37
38
 
38
39
  # Logging configuration
39
40
  log_cli = false
@@ -1,7 +1,7 @@
1
1
  """MCP Vector Search - CLI-first semantic code search with MCP integration."""
2
2
 
3
- __version__ = "0.12.0"
4
- __build__ = "50"
3
+ __version__ = "0.12.1"
4
+ __build__ = "51"
5
5
  __author__ = "Robert Matsuoka"
6
6
  __email__ = "bobmatnyc@gmail.com"
7
7
 
@@ -337,13 +337,14 @@ async def _run_batch_indexing(
337
337
  # Rebuild directory index after indexing completes
338
338
  try:
339
339
  import os
340
+
340
341
  chunk_stats = {}
341
342
  for file_path in files_to_index:
342
343
  try:
343
344
  mtime = os.path.getmtime(file_path)
344
345
  chunk_stats[str(file_path)] = {
345
- 'modified': mtime,
346
- 'chunks': 1, # Placeholder - real counts are in database
346
+ "modified": mtime,
347
+ "chunks": 1, # Placeholder - real counts are in database
347
348
  }
348
349
  except OSError:
349
350
  pass
@@ -361,13 +362,13 @@ async def _run_batch_indexing(
361
362
  console.print(
362
363
  f"[yellow]⚠ {failed_count} files failed to index[/yellow]"
363
364
  )
364
- error_log_path = indexer.project_root / ".mcp-vector-search" / "indexing_errors.log"
365
+ error_log_path = (
366
+ indexer.project_root / ".mcp-vector-search" / "indexing_errors.log"
367
+ )
365
368
  if error_log_path.exists():
366
369
  # Prune log to keep only last 1000 errors
367
370
  _prune_error_log(error_log_path, max_lines=1000)
368
- console.print(
369
- f"[dim] → See details in: {error_log_path}[/dim]"
370
- )
371
+ console.print(f"[dim] → See details in: {error_log_path}[/dim]")
371
372
  else:
372
373
  # Non-progress mode (fallback to original behavior)
373
374
  indexed_count = await indexer.index_project(
@@ -674,22 +675,10 @@ def watch_cmd(
674
675
  watch_app()
675
676
 
676
677
 
677
- @index_app.command("auto")
678
- def auto_cmd() -> None:
679
- """🔄 Manage automatic indexing.
680
-
681
- Configure automatic indexing strategies like git hooks and scheduled tasks.
682
- This command provides subcommands for setup, status, and checking.
678
+ # Import and register auto-index sub-app as a proper typer group
679
+ from .auto_index import auto_index_app # noqa: E402
683
680
 
684
- Examples:
685
- mcp-vector-search index auto setup
686
- mcp-vector-search index auto status
687
- mcp-vector-search index auto check
688
- """
689
- from .auto_index import auto_index_app
690
-
691
- # This will show help for the auto subcommands
692
- auto_index_app()
681
+ index_app.add_typer(auto_index_app, name="auto", help="🔄 Manage automatic indexing")
693
682
 
694
683
 
695
684
  @index_app.command("health")
@@ -733,17 +722,19 @@ def _prune_error_log(log_path: Path, max_lines: int = 1000) -> None:
733
722
  max_lines: Maximum number of lines to keep (default: 1000)
734
723
  """
735
724
  try:
736
- with open(log_path, 'r') as f:
725
+ with open(log_path) as f:
737
726
  lines = f.readlines()
738
727
 
739
728
  if len(lines) > max_lines:
740
729
  # Keep only the last max_lines lines
741
730
  pruned_lines = lines[-max_lines:]
742
731
 
743
- with open(log_path, 'w') as f:
732
+ with open(log_path, "w") as f:
744
733
  f.writelines(pruned_lines)
745
734
 
746
- logger.debug(f"Pruned error log from {len(lines)} to {len(pruned_lines)} lines")
735
+ logger.debug(
736
+ f"Pruned error log from {len(lines)} to {len(pruned_lines)} lines"
737
+ )
747
738
  except Exception as e:
748
739
  logger.warning(f"Failed to prune error log: {e}")
749
740