mcp-code-indexer 4.2.12__tar.gz → 4.2.13__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.
Files changed (64) hide show
  1. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/PKG-INFO +3 -3
  2. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/README.md +2 -2
  3. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/pyproject.toml +1 -1
  4. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/database/database.py +25 -1
  5. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/database/models.py +1 -0
  6. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/vector_mode/daemon.py +5 -3
  7. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/LICENSE +0 -0
  8. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/__init__.py +0 -0
  9. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/__main__.py +0 -0
  10. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/ask_handler.py +0 -0
  11. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/claude_api_handler.py +0 -0
  12. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/cleanup_manager.py +0 -0
  13. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/commands/__init__.py +0 -0
  14. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/commands/makelocal.py +0 -0
  15. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/data/stop_words_english.txt +0 -0
  16. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/database/__init__.py +0 -0
  17. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/database/connection_health.py +0 -0
  18. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/database/database_factory.py +0 -0
  19. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/database/exceptions.py +0 -0
  20. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/database/path_resolver.py +0 -0
  21. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/database/retry_executor.py +0 -0
  22. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/deepask_handler.py +0 -0
  23. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/error_handler.py +0 -0
  24. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/file_scanner.py +0 -0
  25. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/git_hook_handler.py +0 -0
  26. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/logging_config.py +0 -0
  27. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/main.py +0 -0
  28. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/middleware/__init__.py +0 -0
  29. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/middleware/auth.py +0 -0
  30. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/middleware/error_middleware.py +0 -0
  31. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/middleware/logging.py +0 -0
  32. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/middleware/security.py +0 -0
  33. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/migrations/001_initial.sql +0 -0
  34. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/migrations/002_performance_indexes.sql +0 -0
  35. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/migrations/003_project_overviews.sql +0 -0
  36. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/migrations/004_remove_branch_dependency.sql +0 -0
  37. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/migrations/005_remove_git_remotes.sql +0 -0
  38. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/migrations/006_vector_mode.sql +0 -0
  39. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/query_preprocessor.py +0 -0
  40. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/server/__init__.py +0 -0
  41. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/server/mcp_server.py +0 -0
  42. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/tiktoken_cache/9b5ad71b2ce5302211f9c61530b329a4922fc6a4 +0 -0
  43. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/token_counter.py +0 -0
  44. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/tools/__init__.py +0 -0
  45. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/transport/__init__.py +0 -0
  46. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/transport/base.py +0 -0
  47. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/transport/http_transport.py +0 -0
  48. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/transport/stdio_transport.py +0 -0
  49. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/vector_mode/__init__.py +0 -0
  50. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/vector_mode/chunking/__init__.py +0 -0
  51. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/vector_mode/chunking/ast_chunker.py +0 -0
  52. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/vector_mode/chunking/chunk_optimizer.py +0 -0
  53. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/vector_mode/chunking/language_handlers.py +0 -0
  54. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/vector_mode/config.py +0 -0
  55. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/vector_mode/monitoring/__init__.py +0 -0
  56. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/vector_mode/monitoring/change_detector.py +0 -0
  57. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/vector_mode/monitoring/file_watcher.py +0 -0
  58. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/vector_mode/monitoring/merkle_tree.py +0 -0
  59. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/vector_mode/providers/__init__.py +0 -0
  60. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/vector_mode/providers/turbopuffer_client.py +0 -0
  61. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/vector_mode/providers/voyage_client.py +0 -0
  62. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/vector_mode/security/__init__.py +0 -0
  63. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/vector_mode/security/patterns.py +0 -0
  64. {mcp_code_indexer-4.2.12 → mcp_code_indexer-4.2.13}/src/mcp_code_indexer/vector_mode/security/redactor.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: mcp-code-indexer
3
- Version: 4.2.12
3
+ Version: 4.2.13
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
6
  Keywords: mcp,model-context-protocol,code-indexer,ai-tools,codebase-navigation,file-descriptions,llm-tools
@@ -48,8 +48,8 @@ Description-Content-Type: text/markdown
48
48
 
49
49
  # MCP Code Indexer 🚀
50
50
 
51
- [![PyPI version](https://badge.fury.io/py/mcp-code-indexer.svg?59)](https://badge.fury.io/py/mcp-code-indexer)
52
- [![Python](https://img.shields.io/pypi/pyversions/mcp-code-indexer.svg?59)](https://pypi.org/project/mcp-code-indexer/)
51
+ [![PyPI version](https://badge.fury.io/py/mcp-code-indexer.svg?60)](https://badge.fury.io/py/mcp-code-indexer)
52
+ [![Python](https://img.shields.io/pypi/pyversions/mcp-code-indexer.svg?60)](https://pypi.org/project/mcp-code-indexer/)
53
53
  [![License](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
54
54
 
55
55
  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.
@@ -1,7 +1,7 @@
1
1
  # MCP Code Indexer 🚀
2
2
 
3
- [![PyPI version](https://badge.fury.io/py/mcp-code-indexer.svg?59)](https://badge.fury.io/py/mcp-code-indexer)
4
- [![Python](https://img.shields.io/pypi/pyversions/mcp-code-indexer.svg?59)](https://pypi.org/project/mcp-code-indexer/)
3
+ [![PyPI version](https://badge.fury.io/py/mcp-code-indexer.svg?60)](https://badge.fury.io/py/mcp-code-indexer)
4
+ [![Python](https://img.shields.io/pypi/pyversions/mcp-code-indexer.svg?60)](https://pypi.org/project/mcp-code-indexer/)
5
5
  [![License](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
6
6
 
7
7
  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.
@@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api"
4
4
 
5
5
  [tool.poetry]
6
6
  name = "mcp-code-indexer"
7
- version = "4.2.12"
7
+ version = "4.2.13"
8
8
  description = "MCP server that tracks file descriptions across codebases, enabling AI agents to efficiently navigate and understand code through searchable summaries and token-aware overviews."
9
9
  authors = ["MCP Code Indexer Contributors"]
10
10
  maintainers = ["MCP Code Indexer Contributors"]
@@ -744,7 +744,7 @@ class DatabaseManager:
744
744
  """Get all projects in the database."""
745
745
  async with self.get_connection() as db:
746
746
  cursor = await db.execute(
747
- "SELECT id, name, aliases, created, last_accessed FROM projects"
747
+ "SELECT id, name, aliases, created, last_accessed, COALESCE(vector_mode, 0) FROM projects"
748
748
  )
749
749
  rows = await cursor.fetchall()
750
750
 
@@ -757,6 +757,30 @@ class DatabaseManager:
757
757
  aliases=aliases,
758
758
  created=row[3],
759
759
  last_accessed=row[4],
760
+ vector_mode=bool(row[5]),
761
+ )
762
+ projects.append(project)
763
+
764
+ return projects
765
+
766
+ async def get_vector_enabled_projects(self) -> List[Project]:
767
+ """Get projects that have vector mode enabled."""
768
+ async with self.get_connection() as db:
769
+ cursor = await db.execute(
770
+ "SELECT id, name, aliases, created, last_accessed, vector_mode FROM projects WHERE vector_mode = 1"
771
+ )
772
+ rows = await cursor.fetchall()
773
+
774
+ projects = []
775
+ for row in rows:
776
+ aliases = json.loads(row[2]) if row[2] else []
777
+ project = Project(
778
+ id=row[0],
779
+ name=row[1],
780
+ aliases=aliases,
781
+ created=row[3],
782
+ last_accessed=row[4],
783
+ vector_mode=bool(row[5]),
760
784
  )
761
785
  projects.append(project)
762
786
 
@@ -32,6 +32,7 @@ class Project(BaseModel):
32
32
  last_accessed: datetime = Field(
33
33
  default_factory=datetime.utcnow, description="Last access timestamp"
34
34
  )
35
+ vector_mode: bool = Field(default=False, description="Enable vector search for this project")
35
36
 
36
37
 
37
38
  class FileDescription(BaseModel):
@@ -113,11 +113,13 @@ class VectorDaemon:
113
113
 
114
114
  while self.is_running:
115
115
  try:
116
- # Get all projects that need vector indexing
117
- projects = await self.db_manager.get_all_projects()
116
+ # Get projects that have vector mode enabled
117
+ projects = await self.db_manager.get_vector_enabled_projects()
118
118
 
119
119
  for project in projects:
120
- if project.name not in self.monitored_projects and project.aliases:
120
+ if (project.name not in self.monitored_projects and
121
+ project.aliases and
122
+ project.vector_mode):
121
123
  logger.info(f"Adding project to monitoring: {project.name}")
122
124
  self.monitored_projects.add(project.name)
123
125