Skip to main content
Glama

transform_column_case

Change text case in a column to uppercase, lowercase, title case, or capitalize sentences for data standardization and consistency.

Instructions

Transform the case of text in a column.

Returns: ColumnOperationResult with transformation details

Examples: # Convert to uppercase transform_column_case(ctx, "code", "upper")

# Convert names to title case transform_column_case(ctx, "name", "title") # Convert to lowercase for comparison transform_column_case(ctx, "email", "lower") # Capitalize sentences transform_column_case(ctx, "description", "capitalize")

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
columnYesColumn name to transform text case in
transformYesCase transformation: upper, lower, title, or capitalize

Implementation Reference

  • The handler function that executes the tool: transforms text case in a dataframe column based on the specified transform type (upper, lower, title, capitalize) using pandas. Validates column existence, applies transformation, counts changes, and returns ColumnOperationResult.
    async def transform_column_case( ctx: Annotated[Context, Field(description="FastMCP context for session access")], column: Annotated[str, Field(description="Column name to transform text case in")], transform: Annotated[ Literal["upper", "lower", "title", "capitalize"], Field(description="Case transformation: upper, lower, title, or capitalize"), ], ) -> ColumnOperationResult: """Transform the case of text in a column. Returns: ColumnOperationResult with transformation details Examples: # Convert to uppercase transform_column_case(ctx, "code", "upper") # Convert names to title case transform_column_case(ctx, "name", "title") # Convert to lowercase for comparison transform_column_case(ctx, "email", "lower") # Capitalize sentences transform_column_case(ctx, "description", "capitalize") """ # Get session_id from FastMCP context session_id = ctx.session_id _session, df = get_session_data(session_id) _validate_column_exists(column, df) # Store original for comparison original_data = df[column].copy() # Apply case transformation str_col = df[column].astype(str) if transform == "upper": df[column] = str_col.str.upper() elif transform == "lower": df[column] = str_col.str.lower() elif transform == "title": df[column] = str_col.str.title() elif transform == "capitalize": df[column] = str_col.str.capitalize() else: msg = "transform" raise InvalidParameterError( msg, transform, "Supported transforms: upper, lower, title, capitalize", ) # Count changes made changes_made = _count_column_changes(original_data, df[column]) return ColumnOperationResult( operation=f"case_{transform}", rows_affected=changes_made, columns_affected=[column], )
  • Registers the transform_column_case handler as an MCP tool named 'transform_column_case' on the FastMCP server instance.
    column_text_server.tool(name="transform_column_case")(transform_column_case)
  • Pydantic schema definitions via Annotated and Field for tool parameters: ctx (Context), column (str), transform (Literal['upper','lower','title','capitalize']).
    ctx: Annotated[Context, Field(description="FastMCP context for session access")], column: Annotated[str, Field(description="Column name to transform text case in")], transform: Annotated[ Literal["upper", "lower", "title", "capitalize"], Field(description="Case transformation: upper, lower, title, or capitalize"), ],

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/jonpspri/databeak'

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