Skip to main content
Glama
extract.py2.1 kB
"""Word 内容提取工具.""" from typing import Any, Optional from fastmcp import FastMCP from loguru import logger from office_mcp_server.handlers.word_handler import WordHandler def register_extract_tools(mcp: FastMCP, word_handler: WordHandler) -> None: """注册 Word 内容提取工具.""" @mcp.tool() def extract_word_text( filename: str, include_tables: bool = False, ) -> dict[str, Any]: """提取 Word 文档中的所有文本. Args: filename: 文件名 include_tables: 是否包含表格文本 (默认 False) Returns: dict: 文本内容 """ logger.info(f"MCP工具调用: extract_word_text(filename={filename})") return word_handler.extract_text(filename, include_tables) @mcp.tool() def extract_word_headings( filename: str, max_level: int = 9, ) -> dict[str, Any]: """提取 Word 文档中的所有标题. Args: filename: 文件名 max_level: 最大标题级别 (1-9) Returns: dict: 标题列表 """ logger.info(f"MCP工具调用: extract_word_headings(filename={filename})") return word_handler.extract_headings(filename, max_level) @mcp.tool() def extract_word_tables( filename: str, ) -> dict[str, Any]: """提取 Word 文档中的所有表格数据. Args: filename: 文件名 Returns: dict: 表格数据列表 """ logger.info(f"MCP工具调用: extract_word_tables(filename={filename})") return word_handler.extract_tables(filename) @mcp.tool() def get_word_statistics( filename: str, ) -> dict[str, Any]: """获取 Word 文档统计信息. Args: filename: 文件名 Returns: dict: 统计信息(字数、段落数、表格数等) """ logger.info(f"MCP工具调用: get_word_statistics(filename={filename})") return word_handler.get_statistics(filename)

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