Skip to main content
Glama
security.py2.76 kB
"""Excel 安全工具.""" from typing import Any, Optional from fastmcp import FastMCP from loguru import logger from office_mcp_server.handlers.excel_handler import ExcelHandler def register_security_tools(mcp: FastMCP, excel_handler: ExcelHandler) -> None: """注册 Excel 安全工具.""" @mcp.tool() def encrypt_excel_workbook( filename: str, password: str ) -> dict[str, Any]: """加密 Excel 工作簿.""" logger.info(f"MCP工具调用: encrypt_excel_workbook(filename={filename})") return excel_handler.encrypt_workbook(filename, password) @mcp.tool() def lock_excel_cells( filename: str, sheet_name: str, cell_range: str, lock: bool = True ) -> dict[str, Any]: """锁定/解锁 Excel 单元格.""" logger.info(f"MCP工具调用: lock_excel_cells(filename={filename}, cell_range={cell_range}, lock={lock})") return excel_handler.lock_cells(filename, sheet_name, cell_range, lock) @mcp.tool() def hide_excel_formulas( filename: str, sheet_name: str, cell_range: str, hide: bool = True ) -> dict[str, Any]: """隐藏/显示 Excel 公式.""" logger.info(f"MCP工具调用: hide_excel_formulas(filename={filename}, cell_range={cell_range}, hide={hide})") return excel_handler.hide_formulas(filename, sheet_name, cell_range, hide) @mcp.tool() def mask_excel_data( filename: str, sheet_name: str, cell_range: str, mask_type: str = "partial", mask_char: str = "*", keep_first: int = 0, keep_last: int = 0, custom_pattern: Optional[str] = None, ) -> dict[str, Any]: """Excel 数据脱敏.""" logger.info(f"MCP工具调用: mask_excel_data(filename={filename}, type={mask_type})") return excel_handler.mask_data( filename, sheet_name, cell_range, mask_type, mask_char, keep_first, keep_last, custom_pattern ) @mcp.tool() def detect_excel_sensitive_data( filename: str, sheet_name: str, cell_range: Optional[str] = None, ) -> dict[str, Any]: """检测 Excel 中的敏感数据.""" logger.info(f"MCP工具调用: detect_excel_sensitive_data(filename={filename})") return excel_handler.detect_sensitive_data(filename, sheet_name, cell_range) @mcp.tool() def hash_excel_data( filename: str, sheet_name: str, cell_range: str, algorithm: str = "sha256", ) -> dict[str, Any]: """Excel 数据哈希加密.""" logger.info(f"MCP工具调用: hash_excel_data(filename={filename}, algorithm={algorithm})") return excel_handler.hash_data(filename, sheet_name, cell_range, algorithm)

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/walkingzzzy/office-mcp'

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