Skip to main content
Glama

get_cell_value

Retrieve specific cell values from CSV data using row and column coordinates, returning data with type information for analysis.

Instructions

Get value of specific cell with coordinate targeting.

Supports column name or index targeting. Returns value with coordinates and data type information.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
row_indexYesRow index (0-based) to retrieve cell from
columnYesColumn name or column index (0-based) to retrieve

Implementation Reference

  • The handler function that executes the get_cell_value tool logic: retrieves cell value from DataFrame, validates indices, handles column name/index, converts pandas types, returns CellValueResult.
    def get_cell_value( ctx: Annotated[Context, Field(description="FastMCP context for session access")], row_index: Annotated[int, Field(description="Row index (0-based) to retrieve cell from")], column: Annotated[ str | int, Field(description="Column name or column index (0-based) to retrieve"), ], ) -> CellValueResult: """Get value of specific cell with coordinate targeting. Supports column name or index targeting. Returns value with coordinates and data type information. """ session_id = ctx.session_id _session, df = get_session_data(session_id) # Validate row index if row_index < 0 or row_index >= len(df): msg = f"Row index {row_index} out of range (0-{len(df) - 1})" raise ToolError(msg) # Handle column specification if isinstance(column, int): # Column index if column < 0 or column >= len(df.columns): msg = f"Column index {column} out of range (0-{len(df.columns) - 1})" raise ToolError(msg) column_name = df.columns[column] else: # Column name if column not in df.columns: raise ColumnNotFoundError(column, list(df.columns)) column_name = column # Get the cell value value = df.iloc[row_index, df.columns.get_loc(column_name)] # type: ignore[index] # Handle pandas/numpy types for JSON serialization if pd.isna(value): value = None elif hasattr(value, "item"): # numpy scalar value = value.item() # type: ignore[assignment] # Get column data type data_type = str(df[column_name].dtype) # No longer recording operations (simplified MCP architecture) return CellValueResult( value=value, coordinates={"row": row_index, "column": column_name}, data_type=data_type, )
  • Registers the get_cell_value function as a tool with name 'get_cell_value' on the FastMCP row_operations_server instance.
    row_operations_server.tool(name="get_cell_value")(get_cell_value)
  • Pydantic model for the output response of the get_cell_value tool, including value, coordinates, and data_type.
    class CellValueResult(BaseToolResponse): """Response model for cell value operations.""" value: str | int | float | bool | None = Field(description="Cell value (None if null/missing)") coordinates: dict[str, str | int] = Field( description="Cell coordinates with row index and column name", ) data_type: str = Field(description="Pandas data type of the column")

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