[
    {
        "name": "get_excel_sheets",
        "description": "Get all sheet names list of Excel file. For CSV files, returns ['default']",
        "inputSchema": {
            "type": "object",
            "properties": {
                "file_path": {
                    "type": "string",
                    "description": "Excel file path"
                }
            },
            "required": ["file_path"]
        }
    },
    {
        "name": "get_table_schema",
        "description": "Get schema field list of Excel or CSV file",
        "inputSchema": {
            "type": "object",
            "properties": {
                "file_path": {
                    "type": "string",
                    "description": "Excel or CSV file path"
                },
                "sheet_name": {
                    "type": "string",
                    "description": "Excel sheet name (not required for CSV files)"
                }
            },
            "required": ["file_path"]
        }
    },
    {
        "name": "full_text_search",
        "description": "**Function**: Perform full-text search in Excel/CSV files, supporting mixed search with multiple keywords and regular expressions, returning CSV format results sorted by match count.\n\n**Applicable Scenarios**: Comprehensive search based on text content, finding data rows containing specific keywords or patterns.\n\n**Parameters**:\n- `file_path`: Excel or CSV file path\n- `keywords`: Array of search keywords and regex expressions\n- `top_k`: Maximum number of results to return (default 10)\n- `case_sensitive`: Whether to distinguish case sensitivity (default false)\n\n**Returns**: CSV format results including sheet name, row number, match count, matched content, etc.\n\n**Advantages**:\n- Sorted by match count, prioritizing most relevant results\n- Supports complex regular expression patterns\n- Automatically searches all Excel sheets\n- Results output in CSV format for further processing",
        "inputSchema": {
            "type": "object",
            "properties": {
                "file_path": {
                    "type": "string",
                    "description": "Excel or CSV file path"
                },
                "keywords": {
                    "type": "array",
                    "items": {"type": "string"},
                    "description": "Array of keywords and regex expressions to search. Supports: 1) Regular keywords 2) /pattern/ format regex 3) r\"pattern\" format regex 4) Strings containing regex special characters"
                },
                "top_k": {
                    "type": "integer",
                    "description": "Maximum number of results to return, default 10",
                    "default": 10
                },
                "case_sensitive": {
                    "type": "boolean",
                    "description": "Whether to distinguish case sensitivity, default false",
                    "default": false
                }
            },
            "required": ["file_path", "keywords"]
        }
    },
    {
        "name": "filter_search",
        "description": "**Function**: Search Excel/CSV file data based on specified fields and filter conditions.\n\n**Applicable Scenarios**: Precise data filtering and queries based on specific field conditions.\n\n**Parameters**:\n- `file_path`: Excel or CSV file path\n- `sheet_name`: Excel sheet name (optional)\n- `filters`: Filter condition object, format: {field_name: {operator: operator, value: filter_value}}\n\n**Supported Operators**:\n- `eq`: Equal to\n- `gt`: Greater than\n- `lt`: Less than\n- `gte`: Greater than or equal to\n- `lte`: Less than or equal to\n- `contains`: Contains\n- `regex`: Regular expression match\n\n**Returns**: CSV format filtered results\n\n**Use Cases**:\n- Numeric range queries: Price filtering, quantity filtering, etc.\n- Text pattern matching: Product names, descriptions, etc.\n- Date/time filtering: Filtering based on date fields",
        "inputSchema": {
            "type": "object",
            "properties": {
                "file_path": {
                    "type": "string",
                    "description": "Excel or CSV file path"
                },
                "sheet_name": {
                    "type": "string",
                    "description": "Excel sheet name (optional)"
                },
                "filters": {
                    "type": "object",
                    "description": "Filter condition object, format: {field_name: {operator: operator, value: filter_value}}",
                    "properties": {
                        "operator": {
                            "type": "string",
                            "enum": ["eq", "gt", "lt", "gte", "lte", "contains", "regex"],
                            "description": "Operators: eq(equal), gt(greater than), lt(less than), gte(greater than or equal), lte(less than or equal), contains(contains), regex(regex)"
                        },
                        "value": {
                            "description": "Filter value"
                        }
                    }
                }
            },
            "required": ["file_path", "filters"]
        }
    },
    {
        "name": "get_field_enums",
        "description": "Get enumeration value list of specified fields in Excel/CSV files, supporting statistics of occurrence count and percentage for each value, useful for data analysis and field value exploration",
        "inputSchema": {
            "type": "object",
            "properties": {
                "file_path": {
                    "type": "string",
                    "description": "Excel or CSV file path"
                },
                "sheet_name": {
                    "type": "string",
                    "description": "Excel sheet name (not required for CSV files)"
                },
                "field_names": {
                    "type": "array",
                    "items": {"type": "string"},
                    "description": "Array of field names to get enumeration values for"
                },
                "max_enum_count": {
                    "type": "integer",
                    "description": "Maximum enumeration value count to return per field, default 100",
                    "default": 100
                },
                "min_occurrence": {
                    "type": "integer",
                    "description": "Minimum occurrence count for enumeration values, default 1 (filters out values with too few occurrences)",
                    "default": 1
                }
            },
            "required": ["file_path", "field_names"]
        }
    }
]