使用MCP调用docmind文档解析服务

docmind提供了MCP调用方式docmind-parser-mcp,通过调用文档解析(大模型版)API无缝集成调用,用于将各种文件转换为 Markdown(例如,用于索引、文本分析等),用于提供大模型场景文档内容信息输入。 支持的文档格式:pdf、word【doc、docx】、ppt【ppt、pptx】、Excel【xls、xlsx、xlsm】、Iwork【keynote、numbers、pages】、图片【jpg、jpeg、png、bmp、gif】,其余格式支持markdown、html、epub、mobi、rtf、txt

功能点

convert_to_markdown:将文件转换为markdown格式结构

使用方式

主账号开通后,子账户需依赖主账号授予docmind使用权限

python调用

安装依赖

pip install mcp
pip install uvx

参考代码调用

import asyncio
import os
from mcp.client.stdio import stdio_client
from mcp import ClientSession, StdioServerParameters

# 为 stdio 连接创建服务器参数
server_params = StdioServerParameters(
    command='uvx',
    # 运行的参数
    args=['docmind-parser-mcp'],
    # 环境变量,默认为 None,表示使用当前环境变量
    env={
        "ALIBABA_CLOUD_ACCESS_KEY_ID": os.getenv('ALIBABA_CLOUD_ACCESS_KEY_ID'),
        "ALIBABA_CLOUD_ACCESS_KEY_SECRET": os.getenv('ALIBABA_CLOUD_ACCESS_KEY_SECRET')
    }
)


async def main():
    # 创建 stdio 客户端
    async with stdio_client(server_params) as (stdio, write):
        # 创建 ClientSession 对象
        async with ClientSession(stdio, write) as session:
            # 初始化 ClientSession
            await session.initialize()

            # 列出可用的工具
            response = await session.list_tools()
            print(response)

            # 调用工具
            response = await session.call_tool('convert_to_markdown', {'uri': 'your_file_url'})
            print(response)


if __name__ == '__main__':
    asyncio.run(main())
    

MCP Server

安装uv

UV是由Astral开发的新一代Python包和项目管理工具。
# On macOS and Linux.
curl -LsSf https://astral.sh/uv/install.sh | sh

配置mcp server

可用于VSCode、Cline等支持MCP Server方式调用,手动添加此配置并重新启动以便改动生效

{
  "mcpServers": {
    "docmind-parser-mcp": {
      "timeout": 600,
      "name": "docmind-parser-mcp",
      "command": "uvx",
      "args": ["docmind-parser-mcp"],
      "env": {
        "SERVER_PROTOCOL_MODE": "stdio",
        "ALIBABA_CLOUD_ACCESS_KEY_ID": "YOUR_ALIBABA_CLOUD_ACCESS_KEY_ID",
        "ALIBABA_CLOUD_ACCESS_KEY_SECRET": "YOUR_ALIBABA_CLOUD_ACCESS_KEY_SECRET"
      }
    }
  }
}