读取文件url

This commit is contained in:
2026-02-12 17:41:02 +08:00
parent 13d84ff352
commit 4b98e94942
3 changed files with 191 additions and 55 deletions

View File

@@ -1,10 +1,18 @@
## DOCX 转换工具 MCP 服务器
## DOCX 转换 / 编辑 MCP 服务器
这是一个基于 MCP (Model Context Protocol) 的服务器,目前**只提供 HTML → DOCX** 的转换能力,底层通过 Pandoc 实现高质量排版。
这是一个基于 MCP (Model Context Protocol) 的服务器,目前提供两类能力:
- **DOCX 编辑工具**:基于 `mcp_docx.py`,支持列出图片、文本替换、关键字上色、图片替换(可直接使用 URL 作为输入)。
- **HTML → DOCX 转换工具**:基于 Pandoc实现高质量排版。
### 功能
- **html_to_docx_pandoc**:将包含 HTML 标签的文本转换为 DOCX 文件支持引用模板、Lua 过滤器等高级格式控制
- `list_docx_images`:列出 DOCX 中的图片信息,支持 `docx_path` 为本地路径或 HTTP/HTTPS URL
- `edit_docx`:对 DOCX 进行编辑,支持:
- `input_docx` 为本地路径或 HTTP/HTTPS URL
- `image_replacements[*].file` 为本地路径或 HTTP/HTTPS URL
- 返回结果中包含 `output_path` 和可选的 `output_url`(见下文)。
- `html_to_docx_pandoc`:将包含 HTML 标签的文本转换为 DOCX 文件支持引用模板、Lua 过滤器等高级格式控制。
### 安装依赖(本机运行)
@@ -24,7 +32,25 @@ pip install -r requirements.txt
python mcp_docx_server.py
```
在 MCP 客户端中连接该服务器后,会看到一个名为 `html_to_docx_pandoc`工具。
在 MCP 客户端中连接该服务器后,会看到上述三个工具。
#### 输出 URLoutput_url
如果你希望 `edit_docx` 返回一个可直接访问的 URL需要
- 在运行服务器前设置环境变量 `MCP_OUTPUT_BASE_URL`,例如:
```bash
set MCP_OUTPUT_BASE_URL=http://localhost:8000/files/
```
或在类 Unix 系统中:
```bash
export MCP_OUTPUT_BASE_URL="http://localhost:8000/files/"
```
然后确保你的 HTTP 服务器能在该前缀下提供生成的 DOCX 文件(默认逻辑是:`output_url = MCP_OUTPUT_BASE_URL + 文件名`)。
#### 方式二:使用 Docker 封装运行