Skip to main content
Glama
shibuiwilliam

MCP Data Wrangler

data_min_horizontal

Calculate minimum values across columns for each row in a dataset. Specify the input file path to process data and generate row-wise minimums using MCP Data Wrangler.

Instructions

Minimum values across columns for each row

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
input_data_file_pathNoPath to the input data file

Implementation Reference

  • The main handler function for the 'data_min_horizontal' tool. It parses input using DataMinInputSchema, computes df.min_horizontal(), formats results as JSON, and returns as TextContent. Handles exceptions.
    async def handle_data_min_horizontal( arguments: dict[str, Any], ) -> list[types.TextContent | types.ImageContent | types.EmbeddedResource]: data_min_input = DataMinInputSchema.from_args(arguments) try: min_horizontal_df = data_min_input.df.min_horizontal() # Convert the DataFrame to a dictionary format min_horizontal_dict = { "description": "Minimum values across columns for each row", "min_values": {str(i): str(val) if val is not None else None for i, val in enumerate(min_horizontal_df)}, } return [ types.TextContent( type="text", text=json.dumps(min_horizontal_dict), ) ] except Exception as e: logger.error(f"Error calculating min: {e}") return [ types.TextContent( type="text", text=json.dumps( { "error": "Failed to calculate min values.", "message": str(e), } ), ) ]
  • Pydantic schema for input validation. Defines input_schema() for the tool's inputSchema, loads Data from file, provides from_args/from_schema factory methods.
    class DataMinInputSchema(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) -> "DataMinInputSchema": data = Data.from_file(input_data_file_path) return DataMinInputSchema(df=data.df) @staticmethod def from_args(arguments: dict[str, Any]) -> "DataMinInputSchema": input_data_file_path = arguments["input_data_file_path"] return DataMinInputSchema.from_schema(input_data_file_path=input_data_file_path)
  • Tool registration in MCPServerDataWrangler.tools(): creates types.Tool object with name, description from enum, and inputSchema from DataMinInputSchema.
    types.Tool( name=MCPServerDataWrangler.data_min_horizontal.value[0], description=MCPServerDataWrangler.data_min_horizontal.value[1], inputSchema=DataMinInputSchema.input_schema(), ),
  • Handler mapping in MCPServerDataWrangler.tool_to_handler(): maps tool name to handle_data_min_horizontal function.
    MCPServerDataWrangler.data_min_horizontal.value[0]: handle_data_min_horizontal,
  • Enum definition in MCPServerDataWrangler providing the tool name and description used in registration.
    data_min_horizontal = ("data_min_horizontal", "Minimum values across columns for each row")
Install Server

Other Tools

Related Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/shibuiwilliam/mcp-server-data-wrangler'

If you have feedback or need assistance with the MCP directory API, please join our Discord server