Skip to main content
Glama

set_table_cell_alignment

Align text horizontally and vertically within a specific table cell in a Microsoft Word document by specifying filename, table index, row, and column indices.

Instructions

Set text alignment for a specific table cell.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
col_indexYes
filenameYes
horizontalNoleft
row_indexYes
table_indexYes
verticalNotop

Implementation Reference

  • The primary handler function implementing the tool logic: validates inputs, loads the document, applies alignment via helper, and saves the file.
    async def set_table_cell_alignment(filename: str, table_index: int, row_index: int, col_index: int, horizontal: str = "left", vertical: str = "top") -> str: """Set text alignment for a specific table cell. Args: filename: Path to the Word document table_index: Index of the table (0-based) row_index: Row index (0-based) col_index: Column index (0-based) horizontal: Horizontal alignment ("left", "center", "right", "justify") vertical: Vertical alignment ("top", "center", "bottom") """ filename = ensure_docx_extension(filename) # Ensure numeric parameters are the correct type try: table_index = int(table_index) row_index = int(row_index) col_index = int(col_index) except (ValueError, TypeError): return "Invalid parameter: table_index, row_index, and col_index must be integers" # Validate alignment parameters valid_horizontal = ["left", "center", "right", "justify"] valid_vertical = ["top", "center", "bottom"] if horizontal.lower() not in valid_horizontal: return f"Invalid horizontal alignment. Valid options: {', '.join(valid_horizontal)}" if vertical.lower() not in valid_vertical: return f"Invalid vertical alignment. Valid options: {', '.join(valid_vertical)}" if not os.path.exists(filename): return f"Document {filename} does not exist" # Check if file is writeable is_writeable, error_message = check_file_writeable(filename) if not is_writeable: return f"Cannot modify document: {error_message}. Consider creating a copy first." try: doc = Document(filename) # Validate table index if table_index < 0 or table_index >= len(doc.tables): return f"Invalid table index. Document has {len(doc.tables)} tables (0-{len(doc.tables)-1})." table = doc.tables[table_index] # Apply cell alignment success = set_cell_alignment_by_position(table, row_index, col_index, horizontal, vertical) if success: doc.save(filename) return f"Cell alignment set successfully for table {table_index}, cell ({row_index},{col_index}) to {horizontal}/{vertical}." else: return f"Failed to set cell alignment. Check that indices are valid." except Exception as e: return f"Failed to set cell alignment: {str(e)}"
  • Tool registration using FastMCP @mcp.tool() decorator, defining input schema via type annotations and docstring, delegates to async implementation.
    @mcp.tool() def set_table_cell_alignment(filename: str, table_index: int, row_index: int, col_index: int, horizontal: str = "left", vertical: str = "top"): """Set text alignment for a specific table cell.""" return format_tools.set_table_cell_alignment(filename, table_index, row_index, col_index, horizontal, vertical)
  • Supporting utility that locates the table cell by indices and invokes the low-level alignment setter function.
    def set_cell_alignment_by_position(table, row_index, col_index, horizontal="left", vertical="top"): """ Set text alignment for a specific cell by position. Args: table: The table containing the cell row_index: Row index (0-based) col_index: Column index (0-based) horizontal: Horizontal alignment ("left", "center", "right", "justify") vertical: Vertical alignment ("top", "center", "bottom") Returns: True if successful, False otherwise """ try: if (0 <= row_index < len(table.rows) and 0 <= col_index < len(table.rows[row_index].cells)): cell = table.rows[row_index].cells[col_index] return set_cell_alignment(cell, horizontal, vertical) else: return False except Exception as e: print(f"Error setting cell alignment by position: {e}") return False

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/GongRzhe/Office-Word-MCP-Server'

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