文件转换服务

MagicConvert MCP Server 是一个基于 Model Context Protocol (MCP) 的服务器,提供强大且可扩展的文件、URL 和文本转换功能,输出为结构化的 Markdown 格式。

  • by MuhammadNoman76
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 muhammadnoman76/magicconvert_mcp_server

使用说明

MagicConvert MCP 服务器

A. 模型上下文协议(MCP) 服务器,使用 MagicConvert 图书馆。输出以干净、结构化的方式交付 降价 格式。


🌟 特性

  • ✅ 文档转换:

    • 字 .docx
    • 可移植文档格式 .pdf
    • 幻灯片 .pptx
    • Excel .xlsx
    • CSV文件 .csv
  • 🖼️ 图像OCR:

    • JPEG图像 .jpg, .jpeg
    • 便携式网络图形 .png
    • 标签式图像文件格式 .tiff
    • 位图 .bmp
  • 🌐 Web内容到Markdown:

    • URL(http://, https://)
    • 一项 .html, .htm
  • ✍️ 文本转换:

    • 纯文本
    • 超文本标记语言
    • CSV文件
  • 🧩 灵活的输入选项:

    • 本地文件路径
    • Base64编码上传
    • 直接URL
    • 原始文本输入
  • 🧼 清洁输出:

    • 结构良好、可读的Markdown输出
  • 🔁 临时文件处理:

    • 安全和自动的临时文件创建和清理

🚀 安装

先决条件

安装核心库:

pip install magicconvert

安装MCP服务器包:

pip install magicconvert-mcp-server

与一起跑步 uvx (推荐)

在MCP配置中添加服务器(mcp.yaml 或 .mcp/config.json):

{
  "mcpServers": {
    "magicconvert": {
      "command": "uvx magicconvert-mcp-server"
    }
  }
}

然后运行服务器:

uvx magicconvert-mcp-server

🛠️ 支持的工具

服务器通过MCP公开以下工具:

1. convert_file_to_markdown

描述:将文件从本地文件系统转换为Markdown。

{
  "file_path": "/path/to/your/file.pdf"
}

2. convert_base64_file_to_markdown

描述:接受base64编码的文件(来自上传)并对其进行转换。

{
  "base64_data": "base64string==",
  "filename": "document.pdf"
}

3. convert_url_to_markdown

描述:从URL下载网页或文档并对其进行转换。

{
  "url": "https://example.com/article"
}

4. convert_text_to_markdown

描述:将原始文本内容转换为Markdown。支持纯文本、HTML和CSV。

{
  "text_content": "<p>Hello</p>",
  "format_type": "html"
}

接受 format_type 值:

  • plain (默认)
  • html
  • csv

5. get_supported_formats

描述:返回支持的输入类型和功能的Markdown格式列表。

无需参数。


📦 示例用法

from mcp.client import Client

client = Client()

response = client.call_tool("magicconvert", "convert_file_to_markdown", {
    "file_path": "example.pdf"
})

print(response[0].text)

🔒 临时文件管理

所有创建的临时文件(例如,用于base64或文本输入)都是:

  • 存储在平台安全的临时目录中(例如。, /tmp, %TEMP%)
  • 转换后自动清理
  • 经过路径安全验证

⚙️ 日志记录

服务器将消息记录到 mcp_magicconvert_server 记录仪。

要启用调试日志记录,请设置环境变量:

export LOGLEVEL=DEBUG

🧪 开发与测试

克隆存储库并运行:

python -m magicconvert_mcp_server

要使用stdio传输(MCP)运行:

uvx magicconvert-mcp-server

要通过CLI进行测试,MCP兼容客户端如 mcp[cli] 推荐。


📚 高级:MCP集成

此库设计用于 MCP兼容环境例如:

  • OpenAI的API调用工具
  • 带MCP扩展的LangChain或LlamaIdex
  • 自定义MCP客户端实现

🧠 内部概述

服务器定义:

  • A. MagicConvertProcessor 环绕核心 MagicConvert 逻辑
  • 完全支持异步base64解码 aiofiles
  • 通过文件名和扩展名进行智能MIME推理
  • 模块化 Server 类使用 mcp 具有定义工具接口的框架

📄 许可证

MIT许可证。看 许可证 了解详情。


🔗 链接