rebuild_metadata_index
Scan SQL configs and Java files to rebuild metadata index after adding new files or updating annotations. Ensures accurate search results for trade surveillance workflows.
Instructions
Rebuild the metadata index by scanning all SQL configs and Java files.
Use this tool when you've added new files or updated metadata annotations.
The index is automatically built on first search, but you can manually rebuild
it with this tool.
Args:
config_directory: Path to the directory containing SQL config files
code_directory: Path to the directory containing Java source files
Returns:
A summary of the indexing operation
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| config_directory | No | ./configs | |
| code_directory | No | ./src |
Input Schema (JSON Schema)
{
"properties": {
"code_directory": {
"default": "./src",
"title": "Code Directory",
"type": "string"
},
"config_directory": {
"default": "./configs",
"title": "Config Directory",
"type": "string"
}
},
"type": "object"
}
Implementation Reference
- trade_surveillance_mcp/server.py:441-473 (handler)The handler function for the 'rebuild_metadata_index' tool. It is registered via @mcp.tool() decorator. Scans SQL config and Java directories using MetadataIndex to rebuild the index and returns a summary of indexed files.async def rebuild_metadata_index( config_directory: str = "./configs", code_directory: str = "./src" ) -> dict[str, Any]: """ Rebuild the metadata index by scanning all SQL configs and Java files. Use this tool when you've added new files or updated metadata annotations. The index is automatically built on first search, but you can manually rebuild it with this tool. Args: config_directory: Path to the directory containing SQL config files code_directory: Path to the directory containing Java source files Returns: A summary of the indexing operation """ logger.info("Rebuilding metadata index...") sql_count = len(metadata_index.scan_sql_configs(config_directory)) java_count = len(metadata_index.scan_java_classes(code_directory)) result = { "status": "success", "sql_configs_indexed": sql_count, "java_classes_indexed": java_count, "total_files_indexed": sql_count + java_count, "index_file": str(metadata_index.index_file.absolute()) } logger.info(f"Index rebuilt: {sql_count} SQL configs, {java_count} Java classes") return result