mcp-code-indexer 1.0.7__tar.gz → 1.0.8__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 (36) hide show
  1. {mcp_code_indexer-1.0.7/src/mcp_code_indexer.egg-info → mcp_code_indexer-1.0.8}/PKG-INFO +1 -1
  2. {mcp_code_indexer-1.0.7 → mcp_code_indexer-1.0.8}/pyproject.toml +1 -1
  3. {mcp_code_indexer-1.0.7 → mcp_code_indexer-1.0.8}/src/mcp_code_indexer/database/database.py +21 -0
  4. {mcp_code_indexer-1.0.7 → mcp_code_indexer-1.0.8}/src/mcp_code_indexer/server/mcp_server.py +16 -4
  5. {mcp_code_indexer-1.0.7 → mcp_code_indexer-1.0.8/src/mcp_code_indexer.egg-info}/PKG-INFO +1 -1
  6. {mcp_code_indexer-1.0.7 → mcp_code_indexer-1.0.8}/LICENSE +0 -0
  7. {mcp_code_indexer-1.0.7 → mcp_code_indexer-1.0.8}/MANIFEST.in +0 -0
  8. {mcp_code_indexer-1.0.7 → mcp_code_indexer-1.0.8}/README.md +0 -0
  9. {mcp_code_indexer-1.0.7 → mcp_code_indexer-1.0.8}/docs/api-reference.md +0 -0
  10. {mcp_code_indexer-1.0.7 → mcp_code_indexer-1.0.8}/docs/architecture.md +0 -0
  11. {mcp_code_indexer-1.0.7 → mcp_code_indexer-1.0.8}/docs/configuration.md +0 -0
  12. {mcp_code_indexer-1.0.7 → mcp_code_indexer-1.0.8}/docs/contributing.md +0 -0
  13. {mcp_code_indexer-1.0.7 → mcp_code_indexer-1.0.8}/migrations/001_initial.sql +0 -0
  14. {mcp_code_indexer-1.0.7 → mcp_code_indexer-1.0.8}/migrations/002_performance_indexes.sql +0 -0
  15. {mcp_code_indexer-1.0.7 → mcp_code_indexer-1.0.8}/requirements.txt +0 -0
  16. {mcp_code_indexer-1.0.7 → mcp_code_indexer-1.0.8}/setup.cfg +0 -0
  17. {mcp_code_indexer-1.0.7 → mcp_code_indexer-1.0.8}/setup.py +0 -0
  18. {mcp_code_indexer-1.0.7 → mcp_code_indexer-1.0.8}/src/mcp_code_indexer/__init__.py +0 -0
  19. {mcp_code_indexer-1.0.7 → mcp_code_indexer-1.0.8}/src/mcp_code_indexer/database/__init__.py +0 -0
  20. {mcp_code_indexer-1.0.7 → mcp_code_indexer-1.0.8}/src/mcp_code_indexer/database/models.py +0 -0
  21. {mcp_code_indexer-1.0.7 → mcp_code_indexer-1.0.8}/src/mcp_code_indexer/error_handler.py +0 -0
  22. {mcp_code_indexer-1.0.7 → mcp_code_indexer-1.0.8}/src/mcp_code_indexer/file_scanner.py +0 -0
  23. {mcp_code_indexer-1.0.7 → mcp_code_indexer-1.0.8}/src/mcp_code_indexer/logging_config.py +0 -0
  24. {mcp_code_indexer-1.0.7 → mcp_code_indexer-1.0.8}/src/mcp_code_indexer/main.py +0 -0
  25. {mcp_code_indexer-1.0.7 → mcp_code_indexer-1.0.8}/src/mcp_code_indexer/merge_handler.py +0 -0
  26. {mcp_code_indexer-1.0.7 → mcp_code_indexer-1.0.8}/src/mcp_code_indexer/middleware/__init__.py +0 -0
  27. {mcp_code_indexer-1.0.7 → mcp_code_indexer-1.0.8}/src/mcp_code_indexer/middleware/error_middleware.py +0 -0
  28. {mcp_code_indexer-1.0.7 → mcp_code_indexer-1.0.8}/src/mcp_code_indexer/server/__init__.py +0 -0
  29. {mcp_code_indexer-1.0.7 → mcp_code_indexer-1.0.8}/src/mcp_code_indexer/tiktoken_cache/9b5ad71b2ce5302211f9c61530b329a4922fc6a4 +0 -0
  30. {mcp_code_indexer-1.0.7 → mcp_code_indexer-1.0.8}/src/mcp_code_indexer/token_counter.py +0 -0
  31. {mcp_code_indexer-1.0.7 → mcp_code_indexer-1.0.8}/src/mcp_code_indexer/tools/__init__.py +0 -0
  32. {mcp_code_indexer-1.0.7 → mcp_code_indexer-1.0.8}/src/mcp_code_indexer.egg-info/SOURCES.txt +0 -0
  33. {mcp_code_indexer-1.0.7 → mcp_code_indexer-1.0.8}/src/mcp_code_indexer.egg-info/dependency_links.txt +0 -0
  34. {mcp_code_indexer-1.0.7 → mcp_code_indexer-1.0.8}/src/mcp_code_indexer.egg-info/entry_points.txt +0 -0
  35. {mcp_code_indexer-1.0.7 → mcp_code_indexer-1.0.8}/src/mcp_code_indexer.egg-info/requires.txt +0 -0
  36. {mcp_code_indexer-1.0.7 → mcp_code_indexer-1.0.8}/src/mcp_code_indexer.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcp-code-indexer
3
- Version: 1.0.7
3
+ Version: 1.0.8
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
  Author: MCP Code Indexer Contributors
6
6
  Maintainer: MCP Code Indexer Contributors
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "mcp-code-indexer"
7
- version = "1.0.7"
7
+ version = "1.0.8"
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
  readme = "README.md"
10
10
  license = {text = "MIT"}
@@ -189,6 +189,27 @@ class DatabaseManager:
189
189
  )
190
190
  await db.commit()
191
191
 
192
+ async def update_project(self, project: Project) -> None:
193
+ """Update an existing project record."""
194
+ async with self.get_connection() as db:
195
+ await db.execute(
196
+ """
197
+ UPDATE projects
198
+ SET name = ?, remote_origin = ?, upstream_origin = ?, aliases = ?, last_accessed = ?
199
+ WHERE id = ?
200
+ """,
201
+ (
202
+ project.name,
203
+ project.remote_origin,
204
+ project.upstream_origin,
205
+ json.dumps(project.aliases),
206
+ project.last_accessed,
207
+ project.id
208
+ )
209
+ )
210
+ await db.commit()
211
+ logger.debug(f"Updated project: {project.id}")
212
+
192
213
  # File description operations
193
214
 
194
215
  async def create_file_description(self, file_desc: FileDescription) -> None:
@@ -283,10 +283,9 @@ class MCPCodeIndexServer:
283
283
  folder_path = arguments["folderPath"]
284
284
  branch = arguments.get("branch", "main")
285
285
 
286
- # Create project ID from identifiers (normalize None values for consistent hashing)
287
- remote_key = remote_origin or ""
288
- upstream_key = upstream_origin or ""
289
- id_source = f"{project_name}:{remote_key}:{upstream_key}:{folder_path}"
286
+ # Create project ID from stable identifiers only (name + folder path)
287
+ # This ensures consistent project IDs regardless of whether remote_origin/upstream_origin are provided
288
+ id_source = f"{project_name}:{folder_path}"
290
289
  project_id = hashlib.sha256(id_source.encode()).hexdigest()[:16]
291
290
 
292
291
  # Check if project exists, create if not
@@ -315,6 +314,19 @@ class MCPCodeIndexServer:
315
314
  # Update last accessed time
316
315
  await self.db_manager.update_project_access_time(project_id)
317
316
 
317
+ # Update remote/upstream origins if provided and different from existing
318
+ should_update = False
319
+ if remote_origin and project.remote_origin != remote_origin:
320
+ project.remote_origin = remote_origin
321
+ should_update = True
322
+ if upstream_origin and project.upstream_origin != upstream_origin:
323
+ project.upstream_origin = upstream_origin
324
+ should_update = True
325
+
326
+ if should_update:
327
+ await self.db_manager.update_project(project)
328
+ logger.debug(f"Updated project metadata for {project_name}")
329
+
318
330
  # Check if upstream inheritance is needed for existing project
319
331
  if upstream_origin and await self.db_manager.check_upstream_inheritance_needed(project):
320
332
  try:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcp-code-indexer
3
- Version: 1.0.7
3
+ Version: 1.0.8
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
  Author: MCP Code Indexer Contributors
6
6
  Maintainer: MCP Code Indexer Contributors