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.
- mcp_code_indexer/database/database.py +334 -115
- mcp_code_indexer/database/database_factory.py +1 -1
- mcp_code_indexer/database/exceptions.py +1 -1
- mcp_code_indexer/database/models.py +66 -24
- mcp_code_indexer/database/retry_executor.py +15 -5
- mcp_code_indexer/file_scanner.py +107 -12
- mcp_code_indexer/main.py +43 -30
- mcp_code_indexer/server/mcp_server.py +201 -7
- mcp_code_indexer/vector_mode/chunking/ast_chunker.py +103 -84
- mcp_code_indexer/vector_mode/chunking/chunk_optimizer.py +1 -0
- mcp_code_indexer/vector_mode/config.py +113 -45
- mcp_code_indexer/vector_mode/const.py +24 -0
- mcp_code_indexer/vector_mode/daemon.py +860 -98
- mcp_code_indexer/vector_mode/monitoring/change_detector.py +113 -97
- mcp_code_indexer/vector_mode/monitoring/file_watcher.py +175 -121
- mcp_code_indexer/vector_mode/providers/turbopuffer_client.py +291 -98
- mcp_code_indexer/vector_mode/providers/voyage_client.py +140 -38
- mcp_code_indexer/vector_mode/services/__init__.py +9 -0
- mcp_code_indexer/vector_mode/services/embedding_service.py +389 -0
- mcp_code_indexer/vector_mode/services/vector_mode_tools_service.py +459 -0
- mcp_code_indexer/vector_mode/services/vector_storage_service.py +580 -0
- mcp_code_indexer/vector_mode/types.py +46 -0
- mcp_code_indexer/vector_mode/utils.py +50 -0
- {mcp_code_indexer-4.2.15.dist-info → mcp_code_indexer-4.2.17.dist-info}/METADATA +13 -10
- {mcp_code_indexer-4.2.15.dist-info → mcp_code_indexer-4.2.17.dist-info}/RECORD +28 -21
- {mcp_code_indexer-4.2.15.dist-info → mcp_code_indexer-4.2.17.dist-info}/WHEEL +1 -1
- {mcp_code_indexer-4.2.15.dist-info → mcp_code_indexer-4.2.17.dist-info}/entry_points.txt +0 -0
- {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.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: mcp-code-indexer
|
|
3
|
-
Version: 4.2.
|
|
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.
|
|
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 (>=
|
|
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
|
-
[](https://badge.fury.io/py/mcp-code-indexer)
|
|
53
|
+
[](https://pypi.org/project/mcp-code-indexer/)
|
|
53
54
|
[](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 **
|
|
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
|
|
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
|
|
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
|
|
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=
|
|
12
|
-
mcp_code_indexer/database/database_factory.py,sha256=
|
|
13
|
-
mcp_code_indexer/database/exceptions.py,sha256=
|
|
14
|
-
mcp_code_indexer/database/models.py,sha256=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
47
|
-
mcp_code_indexer/vector_mode/chunking/chunk_optimizer.py,sha256=
|
|
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=
|
|
50
|
-
mcp_code_indexer/vector_mode/
|
|
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=
|
|
53
|
-
mcp_code_indexer/vector_mode/monitoring/file_watcher.py,sha256=
|
|
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=
|
|
57
|
-
mcp_code_indexer/vector_mode/providers/voyage_client.py,sha256=
|
|
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
|
|
62
|
-
mcp_code_indexer
|
|
63
|
-
mcp_code_indexer
|
|
64
|
-
mcp_code_indexer
|
|
65
|
-
mcp_code_indexer
|
|
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,,
|
|
File without changes
|
|
File without changes
|