mcp-code-indexer 1.0.6__tar.gz → 1.0.7__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.6/src/mcp_code_indexer.egg-info → mcp_code_indexer-1.0.7}/PKG-INFO +1 -1
  2. {mcp_code_indexer-1.0.6 → mcp_code_indexer-1.0.7}/pyproject.toml +1 -1
  3. {mcp_code_indexer-1.0.6 → mcp_code_indexer-1.0.7}/src/mcp_code_indexer/server/mcp_server.py +11 -60
  4. {mcp_code_indexer-1.0.6 → mcp_code_indexer-1.0.7/src/mcp_code_indexer.egg-info}/PKG-INFO +1 -1
  5. {mcp_code_indexer-1.0.6 → mcp_code_indexer-1.0.7}/LICENSE +0 -0
  6. {mcp_code_indexer-1.0.6 → mcp_code_indexer-1.0.7}/MANIFEST.in +0 -0
  7. {mcp_code_indexer-1.0.6 → mcp_code_indexer-1.0.7}/README.md +0 -0
  8. {mcp_code_indexer-1.0.6 → mcp_code_indexer-1.0.7}/docs/api-reference.md +0 -0
  9. {mcp_code_indexer-1.0.6 → mcp_code_indexer-1.0.7}/docs/architecture.md +0 -0
  10. {mcp_code_indexer-1.0.6 → mcp_code_indexer-1.0.7}/docs/configuration.md +0 -0
  11. {mcp_code_indexer-1.0.6 → mcp_code_indexer-1.0.7}/docs/contributing.md +0 -0
  12. {mcp_code_indexer-1.0.6 → mcp_code_indexer-1.0.7}/migrations/001_initial.sql +0 -0
  13. {mcp_code_indexer-1.0.6 → mcp_code_indexer-1.0.7}/migrations/002_performance_indexes.sql +0 -0
  14. {mcp_code_indexer-1.0.6 → mcp_code_indexer-1.0.7}/requirements.txt +0 -0
  15. {mcp_code_indexer-1.0.6 → mcp_code_indexer-1.0.7}/setup.cfg +0 -0
  16. {mcp_code_indexer-1.0.6 → mcp_code_indexer-1.0.7}/setup.py +0 -0
  17. {mcp_code_indexer-1.0.6 → mcp_code_indexer-1.0.7}/src/mcp_code_indexer/__init__.py +0 -0
  18. {mcp_code_indexer-1.0.6 → mcp_code_indexer-1.0.7}/src/mcp_code_indexer/database/__init__.py +0 -0
  19. {mcp_code_indexer-1.0.6 → mcp_code_indexer-1.0.7}/src/mcp_code_indexer/database/database.py +0 -0
  20. {mcp_code_indexer-1.0.6 → mcp_code_indexer-1.0.7}/src/mcp_code_indexer/database/models.py +0 -0
  21. {mcp_code_indexer-1.0.6 → mcp_code_indexer-1.0.7}/src/mcp_code_indexer/error_handler.py +0 -0
  22. {mcp_code_indexer-1.0.6 → mcp_code_indexer-1.0.7}/src/mcp_code_indexer/file_scanner.py +0 -0
  23. {mcp_code_indexer-1.0.6 → mcp_code_indexer-1.0.7}/src/mcp_code_indexer/logging_config.py +0 -0
  24. {mcp_code_indexer-1.0.6 → mcp_code_indexer-1.0.7}/src/mcp_code_indexer/main.py +0 -0
  25. {mcp_code_indexer-1.0.6 → mcp_code_indexer-1.0.7}/src/mcp_code_indexer/merge_handler.py +0 -0
  26. {mcp_code_indexer-1.0.6 → mcp_code_indexer-1.0.7}/src/mcp_code_indexer/middleware/__init__.py +0 -0
  27. {mcp_code_indexer-1.0.6 → mcp_code_indexer-1.0.7}/src/mcp_code_indexer/middleware/error_middleware.py +0 -0
  28. {mcp_code_indexer-1.0.6 → mcp_code_indexer-1.0.7}/src/mcp_code_indexer/server/__init__.py +0 -0
  29. {mcp_code_indexer-1.0.6 → mcp_code_indexer-1.0.7}/src/mcp_code_indexer/tiktoken_cache/9b5ad71b2ce5302211f9c61530b329a4922fc6a4 +0 -0
  30. {mcp_code_indexer-1.0.6 → mcp_code_indexer-1.0.7}/src/mcp_code_indexer/token_counter.py +0 -0
  31. {mcp_code_indexer-1.0.6 → mcp_code_indexer-1.0.7}/src/mcp_code_indexer/tools/__init__.py +0 -0
  32. {mcp_code_indexer-1.0.6 → mcp_code_indexer-1.0.7}/src/mcp_code_indexer.egg-info/SOURCES.txt +0 -0
  33. {mcp_code_indexer-1.0.6 → mcp_code_indexer-1.0.7}/src/mcp_code_indexer.egg-info/dependency_links.txt +0 -0
  34. {mcp_code_indexer-1.0.6 → mcp_code_indexer-1.0.7}/src/mcp_code_indexer.egg-info/entry_points.txt +0 -0
  35. {mcp_code_indexer-1.0.6 → mcp_code_indexer-1.0.7}/src/mcp_code_indexer.egg-info/requires.txt +0 -0
  36. {mcp_code_indexer-1.0.6 → mcp_code_indexer-1.0.7}/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.6
3
+ Version: 1.0.7
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.6"
7
+ version = "1.0.7"
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"}
@@ -165,22 +165,7 @@ class MCPCodeIndexServer:
165
165
  ),
166
166
  types.Tool(
167
167
  name="find_missing_descriptions",
168
- description="Scans the project folder to find files that don't have descriptions yet. This is stage 1 of a two-stage process for updating missing descriptions.",
169
- inputSchema={
170
- "type": "object",
171
- "properties": {
172
- "projectName": {"type": "string", "description": "The name of the project"},
173
- "folderPath": {"type": "string", "description": "Absolute path to the project folder on disk"},
174
- "branch": {"type": "string", "description": "Git branch name"},
175
- "remoteOrigin": {"type": ["string", "null"], "description": "Git remote origin URL if available"},
176
- "upstreamOrigin": {"type": ["string", "null"], "description": "Upstream repository URL if this is a fork"}
177
- },
178
- "required": ["projectName", "folderPath", "branch"]
179
- }
180
- ),
181
- types.Tool(
182
- name="update_missing_descriptions",
183
- description="Batch updates descriptions for multiple files at once. This is stage 2 after find_missing_descriptions.",
168
+ description="Scans the project folder to find files that don't have descriptions yet. Use update_file_description to add descriptions for individual files.",
184
169
  inputSchema={
185
170
  "type": "object",
186
171
  "properties": {
@@ -189,20 +174,9 @@ class MCPCodeIndexServer:
189
174
  "branch": {"type": "string", "description": "Git branch name"},
190
175
  "remoteOrigin": {"type": ["string", "null"], "description": "Git remote origin URL if available"},
191
176
  "upstreamOrigin": {"type": ["string", "null"], "description": "Upstream repository URL if this is a fork"},
192
- "descriptions": {
193
- "type": "array",
194
- "description": "Array of file paths and their descriptions",
195
- "items": {
196
- "type": "object",
197
- "properties": {
198
- "filePath": {"type": "string", "description": "Relative path to the file"},
199
- "description": {"type": "string", "description": "Detailed description of the file"}
200
- },
201
- "required": ["filePath", "description"]
202
- }
203
- }
177
+ "limit": {"type": "integer", "description": "Maximum number of missing files to return (optional)"}
204
178
  },
205
- "required": ["projectName", "folderPath", "branch", "descriptions"]
179
+ "required": ["projectName", "folderPath", "branch"]
206
180
  }
207
181
  ),
208
182
  types.Tool(
@@ -276,7 +250,6 @@ class MCPCodeIndexServer:
276
250
  "update_file_description": self._handle_update_file_description,
277
251
  "check_codebase_size": self._handle_check_codebase_size,
278
252
  "find_missing_descriptions": self._handle_find_missing_descriptions,
279
- "update_missing_descriptions": self._handle_update_missing_descriptions,
280
253
  "search_descriptions": self._handle_search_descriptions,
281
254
  "get_codebase_overview": self._handle_get_codebase_overview,
282
255
  "merge_branch_descriptions": self._handle_merge_branch_descriptions,
@@ -445,45 +418,23 @@ class MCPCodeIndexServer:
445
418
  missing_files = scanner.find_missing_files(existing_paths)
446
419
  missing_paths = [scanner.get_relative_path(f) for f in missing_files]
447
420
 
421
+ # Apply limit if specified
422
+ limit = arguments.get("limit")
423
+ total_missing = len(missing_paths)
424
+ if limit is not None and isinstance(limit, int) and limit > 0:
425
+ missing_paths = missing_paths[:limit]
426
+
448
427
  # Get project stats
449
428
  stats = scanner.get_project_stats()
450
429
 
451
430
  return {
452
431
  "missingFiles": missing_paths,
453
- "totalMissing": len(missing_paths),
432
+ "totalMissing": total_missing,
433
+ "returnedCount": len(missing_paths),
454
434
  "existingDescriptions": len(existing_paths),
455
435
  "projectStats": stats
456
436
  }
457
437
 
458
- async def _handle_update_missing_descriptions(self, arguments: Dict[str, Any]) -> Dict[str, Any]:
459
- """Handle update_missing_descriptions tool calls."""
460
- project_id = await self._get_or_create_project_id(arguments)
461
- descriptions_data = arguments["descriptions"]
462
-
463
- # Create FileDescription objects
464
- file_descriptions = []
465
- for desc_data in descriptions_data:
466
- file_desc = FileDescription(
467
- project_id=project_id,
468
- branch=arguments["branch"],
469
- file_path=desc_data["filePath"],
470
- description=desc_data["description"],
471
- file_hash=None, # Hash not provided in batch operations
472
- last_modified=datetime.utcnow(),
473
- version=1
474
- )
475
- file_descriptions.append(file_desc)
476
-
477
- # Batch create descriptions
478
- await self.db_manager.batch_create_file_descriptions(file_descriptions)
479
-
480
- return {
481
- "success": True,
482
- "updatedFiles": len(file_descriptions),
483
- "files": [desc["filePath"] for desc in descriptions_data],
484
- "message": f"Successfully updated descriptions for {len(file_descriptions)} files"
485
- }
486
-
487
438
  async def _handle_search_descriptions(self, arguments: Dict[str, Any]) -> Dict[str, Any]:
488
439
  """Handle search_descriptions tool calls."""
489
440
  project_id = await self._get_or_create_project_id(arguments)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcp-code-indexer
3
- Version: 1.0.6
3
+ Version: 1.0.7
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