data_median
Calculate median values for each column in a dataset. Use this tool to analyze and summarize numerical data efficiently. Input the file path to start processing.
Instructions
Median 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_median' tool. It parses arguments to load a DataFrame, computes the median for each column using pandas DataFrame.median(), formats the result as a JSON-serializable dictionary, and returns it as MCP TextContent.async def handle_data_median( arguments: dict[str, Any], ) -> list[types.TextContent | types.ImageContent | types.EmbeddedResource]: data_median_input = DataMedianInputSchema.from_args(arguments) median_df = data_median_input.df.median() # Convert the DataFrame to a dictionary format median_dict = { "description": "Median values for each column", "median_values": { col: str(val) if val is not None else None for col, val in zip(median_df.columns, median_df.row(0)) }, } return [ types.TextContent( type="text", text=json.dumps(median_dict), ) ]
- Pydantic model defining the input schema for 'data_median' tool. Includes static input_schema() method that returns the JSON schema object for MCP tool registration, and factory methods to create instances from file path or arguments.class DataMedianInputSchema(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) -> "DataMedianInputSchema": data = Data.from_file(input_data_file_path) return DataMedianInputSchema(df=data.df) @staticmethod def from_args(arguments: dict[str, Any]) -> "DataMedianInputSchema": input_data_file_path = arguments["input_data_file_path"] return DataMedianInputSchema.from_schema(input_data_file_path=input_data_file_path)
- src/mcp_server_data_wrangler/tools/tools.py:122-126 (registration)Tool registration in MCPServerDataWrangler.tools() static method, creating the MCP Tool object with name 'data_median', description, and inputSchema from DataMedianInputSchema.input_schema().types.Tool( name=MCPServerDataWrangler.data_median.value[0], description=MCPServerDataWrangler.data_median.value[1], inputSchema=DataMedianInputSchema.input_schema(), ),
- src/mcp_server_data_wrangler/tools/tools.py:163-163 (registration)Handler registration in MCPServerDataWrangler.tool_to_handler() dict, mapping tool name to handle_data_median function.MCPServerDataWrangler.data_median.value[0]: handle_data_median,
- src/mcp_server_data_wrangler/tools/tools.py:51-51 (registration)Enum definition in MCPServerDataWrangler providing the canonical name and description for the 'data_median' tool.data_median = ("data_median", "Median values for each column")