data_max
Extract maximum values for each column in a dataset with MCP Data Wrangler to simplify data analysis and preprocessing tasks.
Instructions
Maximum values for each column
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| input_data_file_path | No | Path to the input data file |
Implementation Reference
- The main handler function for the 'data_max' MCP tool. It parses input arguments using the schema, computes the maximum value for each column in the dataframe, formats the result as JSON, and returns it as TextContent.async def handle_data_max( arguments: dict[str, Any], ) -> list[types.TextContent | types.ImageContent | types.EmbeddedResource]: data_max_input = DataMaxInputSchema.from_args(arguments) max_df = data_max_input.df.max() # Convert the DataFrame to a dictionary format max_dict = { "description": "Maximum values for each column", "max_values": {col: str(val) if val is not None else None for col, val in zip(max_df.columns, max_df.row(0))}, } return [ types.TextContent( type="text", text=json.dumps(max_dict), ) ]
- Pydantic schema class for 'data_max' tool input validation. Defines the JSON input schema via input_schema(), and provides factory methods to construct from file path or arguments.class DataMaxInputSchema(Data): model_config = ConfigDict( validate_assignment=True, frozen=True, extra="forbid", arbitrary_types_allowed=True, ) @staticmethod def input_schema() -> dict: return { "type": "object", "properties": { "input_data_file_path": { "type": "string", "description": "Path to the input data file", }, }, } @staticmethod def from_schema(input_data_file_path: str) -> "DataMaxInputSchema": data = Data.from_file(input_data_file_path) return DataMaxInputSchema(df=data.df) @staticmethod def from_args(arguments: dict[str, Any]) -> "DataMaxInputSchema": input_data_file_path = arguments["input_data_file_path"] return DataMaxInputSchema.from_schema(input_data_file_path=input_data_file_path)
- src/mcp_server_data_wrangler/tools/tools.py:92-96 (registration)Registration of the 'data_max' tool in the MCPServerDataWrangler.tools() static method, specifying name, description, and input schema.types.Tool( name=MCPServerDataWrangler.data_max.value[0], description=MCPServerDataWrangler.data_max.value[1], inputSchema=DataMaxInputSchema.input_schema(), ),
- src/mcp_server_data_wrangler/tools/tools.py:150-168 (registration)Static method providing the mapping from tool names to their handler functions, including 'data_max' mapped to handle_data_max.def tool_to_handler() -> dict[str, Callable]: return { MCPServerDataWrangler.data_shape.value[0]: handle_data_shape, MCPServerDataWrangler.data_schema.value[0]: handle_data_schema, MCPServerDataWrangler.describe_data.value[0]: handle_describe_data, MCPServerDataWrangler.data_estimated_size.value[0]: handle_data_estimated_size, MCPServerDataWrangler.data_count.value[0]: handle_data_count, MCPServerDataWrangler.data_max.value[0]: handle_data_max, MCPServerDataWrangler.data_max_horizontal.value[0]: handle_data_max_horizontal, MCPServerDataWrangler.data_min.value[0]: handle_data_min, MCPServerDataWrangler.data_min_horizontal.value[0]: handle_data_min_horizontal, MCPServerDataWrangler.data_mean.value[0]: handle_data_mean, MCPServerDataWrangler.data_mean_horizontal.value[0]: handle_data_mean_horizontal, MCPServerDataWrangler.data_median.value[0]: handle_data_median, MCPServerDataWrangler.data_product.value[0]: handle_data_product, MCPServerDataWrangler.data_quantile.value[0]: handle_data_quantile, MCPServerDataWrangler.data_std.value[0]: handle_data_std, MCPServerDataWrangler.data_var.value[0]: handle_data_var, }
- src/mcp_server_data_wrangler/tools/tools.py:45-45 (registration)Enum member defining the tool name and description for 'data_max' in MCPServerDataWrangler.data_max = ("data_max", "Maximum values for each column")