mcp-code-indexer 4.2.15__py3-none-any.whl → 4.2.17__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.
Files changed (28) hide show
  1. mcp_code_indexer/database/database.py +334 -115
  2. mcp_code_indexer/database/database_factory.py +1 -1
  3. mcp_code_indexer/database/exceptions.py +1 -1
  4. mcp_code_indexer/database/models.py +66 -24
  5. mcp_code_indexer/database/retry_executor.py +15 -5
  6. mcp_code_indexer/file_scanner.py +107 -12
  7. mcp_code_indexer/main.py +43 -30
  8. mcp_code_indexer/server/mcp_server.py +201 -7
  9. mcp_code_indexer/vector_mode/chunking/ast_chunker.py +103 -84
  10. mcp_code_indexer/vector_mode/chunking/chunk_optimizer.py +1 -0
  11. mcp_code_indexer/vector_mode/config.py +113 -45
  12. mcp_code_indexer/vector_mode/const.py +24 -0
  13. mcp_code_indexer/vector_mode/daemon.py +860 -98
  14. mcp_code_indexer/vector_mode/monitoring/change_detector.py +113 -97
  15. mcp_code_indexer/vector_mode/monitoring/file_watcher.py +175 -121
  16. mcp_code_indexer/vector_mode/providers/turbopuffer_client.py +291 -98
  17. mcp_code_indexer/vector_mode/providers/voyage_client.py +140 -38
  18. mcp_code_indexer/vector_mode/services/__init__.py +9 -0
  19. mcp_code_indexer/vector_mode/services/embedding_service.py +389 -0
  20. mcp_code_indexer/vector_mode/services/vector_mode_tools_service.py +459 -0
  21. mcp_code_indexer/vector_mode/services/vector_storage_service.py +580 -0
  22. mcp_code_indexer/vector_mode/types.py +46 -0
  23. mcp_code_indexer/vector_mode/utils.py +50 -0
  24. {mcp_code_indexer-4.2.15.dist-info → mcp_code_indexer-4.2.17.dist-info}/METADATA +13 -10
  25. {mcp_code_indexer-4.2.15.dist-info → mcp_code_indexer-4.2.17.dist-info}/RECORD +28 -21
  26. {mcp_code_indexer-4.2.15.dist-info → mcp_code_indexer-4.2.17.dist-info}/WHEEL +1 -1
  27. {mcp_code_indexer-4.2.15.dist-info → mcp_code_indexer-4.2.17.dist-info}/entry_points.txt +0 -0
  28. {mcp_code_indexer-4.2.15.dist-info → mcp_code_indexer-4.2.17.dist-info/licenses}/LICENSE +0 -0
@@ -1,8 +1,9 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.4
2
2
  Name: mcp-code-indexer
3
- Version: 4.2.15
3
+ Version: 4.2.17
4
4
  Summary: MCP server that tracks file descriptions across codebases, enabling AI agents to efficiently navigate and understand code through searchable summaries and token-aware overviews.
5
5
  License: MIT
6
+ License-File: LICENSE
6
7
  Keywords: mcp,model-context-protocol,code-indexer,ai-tools,codebase-navigation,file-descriptions,llm-tools
7
8
  Author: MCP Code Indexer Contributors
8
9
  Maintainer: MCP Code Indexer Contributors
@@ -36,11 +37,11 @@ Requires-Dist: pyyaml (>=6.0)
36
37
  Requires-Dist: tenacity (>=8.0.0)
37
38
  Requires-Dist: tiktoken (>=0.9.0)
38
39
  Requires-Dist: tomli (>=1.2.0) ; python_version < "3.11"
39
- Requires-Dist: tree-sitter (>=0.25.0)
40
+ Requires-Dist: tree-sitter (>=0.21.0)
40
41
  Requires-Dist: turbopuffer (>=0.6.0)
41
42
  Requires-Dist: uvicorn (>=0.24.0)
42
43
  Requires-Dist: voyageai (>=0.3.0)
43
- Requires-Dist: watchdog (>=6.0.0)
44
+ Requires-Dist: watchdog (>=4.0.0)
44
45
  Project-URL: Documentation, https://github.com/fluffypony/mcp-code-indexer/blob/main/README.md
45
46
  Project-URL: Homepage, https://github.com/fluffypony/mcp-code-indexer
46
47
  Project-URL: Repository, https://github.com/fluffypony/mcp-code-indexer
@@ -48,8 +49,8 @@ Description-Content-Type: text/markdown
48
49
 
49
50
  # MCP Code Indexer 🚀
50
51
 
51
- [![PyPI version](https://badge.fury.io/py/mcp-code-indexer.svg?62)](https://badge.fury.io/py/mcp-code-indexer)
52
- [![Python](https://img.shields.io/pypi/pyversions/mcp-code-indexer.svg?62)](https://pypi.org/project/mcp-code-indexer/)
52
+ [![PyPI version](https://badge.fury.io/py/mcp-code-indexer.svg?64)](https://badge.fury.io/py/mcp-code-indexer)
53
+ [![Python](https://img.shields.io/pypi/pyversions/mcp-code-indexer.svg?64)](https://pypi.org/project/mcp-code-indexer/)
53
54
  [![License](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
54
55
 
55
56
  A production-ready **Model Context Protocol (MCP) server** that revolutionizes how AI agents navigate and understand codebases. Built for high-concurrency environments with advanced database resilience, the server provides instant access to intelligent descriptions, semantic search, and context-aware recommendations while maintaining 800+ writes/sec throughput.
@@ -256,6 +257,7 @@ mcp-code-indexer --vector --http --port 8080
256
257
 
257
258
  Vector Mode adds powerful new MCP tools:
258
259
  - `vector_search` - Semantic code search across projects
260
+ - `find_similar_code` - Find code similar to a given snippet or file section
259
261
  - `similarity_search` - Find similar code patterns
260
262
  - `dependency_search` - Discover code relationships
261
263
  - `vector_status` - Monitor indexing progress
@@ -316,7 +318,7 @@ mypy src/
316
318
 
317
319
  ## 🛠️ MCP Tools Available
318
320
 
319
- The server provides **11 powerful MCP tools** for intelligent codebase management. Whether you're an AI agent or human developer, these tools make navigating code effortless.
321
+ The server provides **13 powerful MCP tools** for intelligent codebase management. Whether you're an AI agent or human developer, these tools make navigating code effortless.
320
322
 
321
323
  ### 🎯 Essential Tools (Start Here)
322
324
  | Tool | Purpose | When to Use |
@@ -339,6 +341,7 @@ The server provides **11 powerful MCP tools** for intelligent codebase managemen
339
341
  | **`get_word_frequency`** | Technical vocabulary analysis | Domain understanding |
340
342
  | **`update_codebase_overview`** | Create project documentation | Architecture documentation |
341
343
  | **`search_codebase_overview`** | Search in project overviews | Finding specific topics |
344
+ | **`find_similar_code`** | Find code similar to snippet/section | Code pattern discovery (Vector Mode) |
342
345
 
343
346
  ### 🏥 System Health
344
347
  | Tool | Purpose | For |
@@ -347,7 +350,7 @@ The server provides **11 powerful MCP tools** for intelligent codebase managemen
347
350
 
348
351
  💡 **Pro Tip**: Always start with `check_codebase_size` to get personalized recommendations for navigating your specific codebase.
349
352
 
350
- **📖 Complete API Documentation**: [View all 11 tools with examples →](docs/api-reference.md)
353
+ **📖 Complete API Documentation**: [View all 13 tools with examples →](docs/api-reference.md)
351
354
 
352
355
  ## 🔗 Git Hook Integration
353
356
 
@@ -411,7 +414,7 @@ Comprehensive documentation organized by user journey and expertise level.
411
414
  | Guide | Purpose | Time Investment |
412
415
  |-------|---------|-----------------|
413
416
  | **[Quick Start](#-quick-start)** | Install and run your first server | 2 minutes |
414
- | **[API Reference](docs/api-reference.md)** | Master all 11 MCP tools | 15 minutes |
417
+ | **[API Reference](docs/api-reference.md)** | Master all 13 MCP tools | 15 minutes |
415
418
  | **[HTTP API Reference](docs/http-api.md)** | REST API for web applications | 10 minutes |
416
419
  | **[Q&A Interface](docs/qa-interface.md)** | AI-powered codebase analysis | 8 minutes |
417
420
  | **[Git Hook Setup](docs/git-hook-setup.md)** | Automate your workflow | 5 minutes |
@@ -435,7 +438,7 @@ Comprehensive documentation organized by user journey and expertise level.
435
438
  ### 📋 Quick References
436
439
  - **[Examples & Integrations](examples/)** - Ready-to-use configurations
437
440
  - **[Troubleshooting](#🚨-troubleshooting)** - Common issues & solutions
438
- - **[API Tools Summary](#🛠️-mcp-tools-available)** - All 11 tools at a glance
441
+ - **[API Tools Summary](#🛠️-mcp-tools-available)** - All 13 tools at a glance
439
442
 
440
443
  **📚 Reading Paths:**
441
444
  - **New to MCP Code Indexer?** Quick Start → API Reference → HTTP API → Q&A Interface
@@ -8,18 +8,18 @@ mcp_code_indexer/commands/makelocal.py,sha256=T_44so96jcs1FNlft9E3nAq0LlOzQLhjLd
8
8
  mcp_code_indexer/data/stop_words_english.txt,sha256=feRGP8WG5hQPo-wZN5ralJiSv1CGw4h3010NBJnJ0Z8,6344
9
9
  mcp_code_indexer/database/__init__.py,sha256=aPq_aaRp0aSwOBIq9GkuMNjmLxA411zg2vhdrAuHm-w,38
10
10
  mcp_code_indexer/database/connection_health.py,sha256=jZr3tCbfjUJujdXe_uxtm1N4c31dMV4euiSY4ulamOE,25497
11
- mcp_code_indexer/database/database.py,sha256=CrFkUJKyKV7mJsI64EoIwfoiEj_3JMN_QV-BGOeFLHA,48245
12
- mcp_code_indexer/database/database_factory.py,sha256=zm942m72mqCYTGh1GFyVw-hBsbZcZnx3znJ2ZQPwISM,4316
13
- mcp_code_indexer/database/exceptions.py,sha256=bamoC-ssw_TMRA5-6lzX6d_1DlcXXrcmiCMBdUEQ9dI,10479
14
- mcp_code_indexer/database/models.py,sha256=ggiyjkkC2C5hmntgNcLX4wJMllDH1oh6VuuHUNgY9EY,13279
11
+ mcp_code_indexer/database/database.py,sha256=GcXI6p99E4_fo9oMbbZXHIMpYm4Z7y2TdQJgSnZNvMI,57986
12
+ mcp_code_indexer/database/database_factory.py,sha256=VMw0tlutGgZoTI7Q_PCuFy5zAimq2xuMtDFAlF_FKtc,4316
13
+ mcp_code_indexer/database/exceptions.py,sha256=zciu7fDwF8y0Z4tkzTBFPPvXCvdnEJiA-Wd-cBLZBWw,10473
14
+ mcp_code_indexer/database/models.py,sha256=w1U9zMGNt0LQeCiifYeXKW_Cia9BKV5uPChbOve-FZY,13467
15
15
  mcp_code_indexer/database/path_resolver.py,sha256=1Ubx6Ly5F2dnvhbdN3tqyowBHslABXpoA6wgL4BQYGo,3461
16
- mcp_code_indexer/database/retry_executor.py,sha256=6Hb0BM2BO6fl7sTIHtHFcwgV93W22eOrFvexYtFpa0k,13966
16
+ mcp_code_indexer/database/retry_executor.py,sha256=r7eKn_xDc6hKz9qs9z9Dg8gyq4uZgnyrgFmQFTyDhdo,14409
17
17
  mcp_code_indexer/deepask_handler.py,sha256=qI9h_Me5WQAbt3hzzDG8XDBMZlnvx-I9R7OsmO_o8aA,18497
18
18
  mcp_code_indexer/error_handler.py,sha256=ylciEM-cR7E8Gmd8cfh5olcllJm0FnaYBGH86yayFic,12530
19
- mcp_code_indexer/file_scanner.py,sha256=7Ab34lRQGeh5GBCzcSP96p4YK6LDWFGUHLXqi499UZ4,11838
19
+ mcp_code_indexer/file_scanner.py,sha256=OCLnzPTneIiMtGcV3NB5qvnZrO3zxCqPEZXtCk75dfA,15178
20
20
  mcp_code_indexer/git_hook_handler.py,sha256=sTtZV3-Yy1Evt06R5NZclELeepM4Ia9OQoR2O6BK3Hk,45517
21
21
  mcp_code_indexer/logging_config.py,sha256=M5eVZ5PwfTROib7ISTQ522n2hUSc4hJ_wUgsrJKsTTg,10030
22
- mcp_code_indexer/main.py,sha256=tHZqJJS6Vhhcy8hQ_XqefvFh30xmJtUypQkc7g0Rmh8,41020
22
+ mcp_code_indexer/main.py,sha256=byM0Y9EwDa0616dEkx2p_1rUdJmDNeKAG41o5_AJago,41084
23
23
  mcp_code_indexer/middleware/__init__.py,sha256=UCEPzOlZldlqFzYEfrXw1HvCDvY1jpLvyaDGUzVr2aw,368
24
24
  mcp_code_indexer/middleware/auth.py,sha256=4HkHMDZBNsyPA1VE8qF7pRNKbqG4xIDZjllENbgynxI,7258
25
25
  mcp_code_indexer/middleware/error_middleware.py,sha256=0RnKM5fK_n_7AITK2ueAqv30kLBdjU3vaWOTwWd2Xs0,11965
@@ -33,7 +33,7 @@ mcp_code_indexer/migrations/005_remove_git_remotes.sql,sha256=vT84AaV1hyN4zq5W67
33
33
  mcp_code_indexer/migrations/006_vector_mode.sql,sha256=kN-UBPGoagqtpxpGEjdz-V3hevPAXxAdNmxF4iIPsY8,7448
34
34
  mcp_code_indexer/query_preprocessor.py,sha256=vi23sK2ffs4T5PGY7lHrbCBDL421AlPz2dldqX_3JKA,5491
35
35
  mcp_code_indexer/server/__init__.py,sha256=16xMcuriUOBlawRqWNBk6niwrvtv_JD5xvI36X1Vsmk,41
36
- mcp_code_indexer/server/mcp_server.py,sha256=wFfsnrd5OOdzi4gmkVjggKBMIT6CYGcjWFClUguR9zo,75935
36
+ mcp_code_indexer/server/mcp_server.py,sha256=nkm7R_lOnD_XDxk1mEiZgrT6D-G-QIt0g34VHNb1p5g,84424
37
37
  mcp_code_indexer/tiktoken_cache/9b5ad71b2ce5302211f9c61530b329a4922fc6a4,sha256=Ijkht27pm96ZW3_3OFE-7xAPtR0YyTWXoRO8_-hlsqc,1681126
38
38
  mcp_code_indexer/token_counter.py,sha256=e6WsyCEWMMSkMwLbcVtr5e8vEqh-kFqNmiJErCNdqHE,8220
39
39
  mcp_code_indexer/tools/__init__.py,sha256=m01mxML2UdD7y5rih_XNhNSCMzQTz7WQ_T1TeOcYlnE,49
@@ -43,23 +43,30 @@ mcp_code_indexer/transport/http_transport.py,sha256=iDxW8CXEIPlpyOtSFkU1qw1FtbKb
43
43
  mcp_code_indexer/transport/stdio_transport.py,sha256=a-Pu3usx_NwkHsN2VU8Qe0EwcA7PGL54Gbu2Ee8e0lU,4792
44
44
  mcp_code_indexer/vector_mode/__init__.py,sha256=B6FwxtXOFR8CWZQRc40gHnLRrwmWRvpKcOQ8DU9qLrI,1137
45
45
  mcp_code_indexer/vector_mode/chunking/__init__.py,sha256=rjjFMbHsqWIBzL4IajYxXXJud_RvBrpFNjVcxnRIWCE,490
46
- mcp_code_indexer/vector_mode/chunking/ast_chunker.py,sha256=GTl_6U0nSgDRRzKS07tJ7RMX8AmJvvY_IsRn95hvVfA,14623
47
- mcp_code_indexer/vector_mode/chunking/chunk_optimizer.py,sha256=xD0zEibjt6FLBFaKHNc63-iKTtCgnOlLL_9Hc8mCrzE,19752
46
+ mcp_code_indexer/vector_mode/chunking/ast_chunker.py,sha256=ybZ8L5uBA7Pl6XrstQFeUFoy4b0U3n_bJpRMZOkcQfs,14309
47
+ mcp_code_indexer/vector_mode/chunking/chunk_optimizer.py,sha256=jRXPvNtXFVEd0bHw50zxAEwbDSdZjJaKRSiYHtbLObU,19779
48
48
  mcp_code_indexer/vector_mode/chunking/language_handlers.py,sha256=YEpTVjzyJH445OjniGV05apexsfG5KVR4lwBEl4mGJc,18189
49
- mcp_code_indexer/vector_mode/config.py,sha256=g5p9Q4EAR20DfLv4RxaQnk3_UdysuvWS8rcsjs1vgwI,6680
50
- mcp_code_indexer/vector_mode/daemon.py,sha256=MRXp7eycnPzO80k_NqJl9s0paVqcWnJ865frBK0tC-E,12341
49
+ mcp_code_indexer/vector_mode/config.py,sha256=v97_QR9-xn_R5KKduuJ7DO-jgJVsAx_-qEm5XpaSI1k,8628
50
+ mcp_code_indexer/vector_mode/const.py,sha256=vYoIJn1pyv5advCEYwTlKWD0_AeKlXmg_vm6dvFzDvI,518
51
+ mcp_code_indexer/vector_mode/daemon.py,sha256=qz_LAn5fNSyj27uv9MDlPfUbzelZD5v7tuMhz2zkNYM,43429
51
52
  mcp_code_indexer/vector_mode/monitoring/__init__.py,sha256=9rNWCvHxRMvYumdIrPjb5K9fpOwe1Aem24hdh8gXoDM,439
52
- mcp_code_indexer/vector_mode/monitoring/change_detector.py,sha256=X82e_sKbJJFPhqZFJubLQb8Rs-srRtS7sh0nUOsPCPw,10338
53
- mcp_code_indexer/vector_mode/monitoring/file_watcher.py,sha256=AQ6YHSKXPubtprLZngeLb0othJOCNQZ7wwXUvqwphT4,15299
53
+ mcp_code_indexer/vector_mode/monitoring/change_detector.py,sha256=HDLlkV8OCAUCimMH1fCfES8bpzlAh2eGEMAlUEJYcYA,9754
54
+ mcp_code_indexer/vector_mode/monitoring/file_watcher.py,sha256=Qa5BbeCauQduSMmzHIrQLlTo2REIS6oKBLrNpjYK_zE,16561
54
55
  mcp_code_indexer/vector_mode/monitoring/merkle_tree.py,sha256=83RLdUj_cgcAlrT9Wev9IBavVEyc8Jo8w--IOJisLOk,14645
55
56
  mcp_code_indexer/vector_mode/providers/__init__.py,sha256=0GhPHn7XEBSHa6bLvy8j0Eqvto82o6Bs2hZCrHawLus,514
56
- mcp_code_indexer/vector_mode/providers/turbopuffer_client.py,sha256=NdBAghmaRUUIGFZOTOZYhYyXvv_QB36lieGQjVlLEno,7599
57
- mcp_code_indexer/vector_mode/providers/voyage_client.py,sha256=pfm9BOx5Temf0LM-VZ4LH6xwBmZ6XO8XeCSiSZ5LU80,4375
57
+ mcp_code_indexer/vector_mode/providers/turbopuffer_client.py,sha256=_bG1uEI8u1LZhz3xBtKiY8J120xAQLyvlf6CAtVjLUE,15446
58
+ mcp_code_indexer/vector_mode/providers/voyage_client.py,sha256=0diGtsM1TMzsym2SOZMpybrhFm0fMJ-oHLikkB-wz5c,8435
58
59
  mcp_code_indexer/vector_mode/security/__init__.py,sha256=itfeuysSqV-m9xuo-CMkAoucxexVfPgeOU-ieTLvdls,336
59
60
  mcp_code_indexer/vector_mode/security/patterns.py,sha256=0xaiMnZm7YXswq3hVe_DJYePE9MhWuvizApLnmXus9M,11572
60
61
  mcp_code_indexer/vector_mode/security/redactor.py,sha256=tsFzhCJ99bp4EFqQVjZ-4f8Uf3ux9X4ODVR09oJG01U,13380
61
- mcp_code_indexer-4.2.15.dist-info/LICENSE,sha256=JN9dyPPgYwH9C-UjYM7FLNZjQ6BF7kAzpF3_4PwY4rY,1086
62
- mcp_code_indexer-4.2.15.dist-info/METADATA,sha256=uvw8cXzWPipiZZWhxopUfvJ3192lzdnC7ct5Nv_ApVo,27484
63
- mcp_code_indexer-4.2.15.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
64
- mcp_code_indexer-4.2.15.dist-info/entry_points.txt,sha256=UABj7HZ0mC6rvF22gxaz2LLNLGQShTrFmp5u00iUtvo,67
65
- mcp_code_indexer-4.2.15.dist-info/RECORD,,
62
+ mcp_code_indexer/vector_mode/services/__init__.py,sha256=XcUDT15gTopV0xTjtTFriVT6OOKna0oWhLfM_vN7Tjs,187
63
+ mcp_code_indexer/vector_mode/services/embedding_service.py,sha256=WJ3lMkPH2LvjdXQM7VTV9sA2_zQZmjFjQfK5UOLVbYo,13959
64
+ mcp_code_indexer/vector_mode/services/vector_mode_tools_service.py,sha256=K1_STy2dSNVcHfOBeO_gOJpErER0VeEKNYtNxqrMpLg,16948
65
+ mcp_code_indexer/vector_mode/services/vector_storage_service.py,sha256=JI3VUc2mG8xZ_YqOvfKJivuMi4imeBLr2UFVrWgDWhk,21193
66
+ mcp_code_indexer/vector_mode/types.py,sha256=M4lUF43FzjiVUezoRqozx_u0g1-xrX9qcRcRn-u65yw,1222
67
+ mcp_code_indexer/vector_mode/utils.py,sha256=XtHrpOw0QJ0EjdzJ85jrbkmHy8Slkq_t7hz-q4RP-10,1283
68
+ mcp_code_indexer-4.2.17.dist-info/METADATA,sha256=hlxYys7f-3mK2L00ZbP7UHyVxBa5AQO1xDw8t5HZ3jo,27689
69
+ mcp_code_indexer-4.2.17.dist-info/WHEEL,sha256=kJCRJT_g0adfAJzTx2GUMmS80rTJIVHRCfG0DQgLq3o,88
70
+ mcp_code_indexer-4.2.17.dist-info/entry_points.txt,sha256=UABj7HZ0mC6rvF22gxaz2LLNLGQShTrFmp5u00iUtvo,67
71
+ mcp_code_indexer-4.2.17.dist-info/licenses/LICENSE,sha256=JN9dyPPgYwH9C-UjYM7FLNZjQ6BF7kAzpF3_4PwY4rY,1086
72
+ mcp_code_indexer-4.2.17.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 2.1.3
2
+ Generator: poetry-core 2.3.1
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any