safety-eval-service-frontend/.cursor/skills/markdownify-mcp/SKILL.md

72 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
name: markdownify-mcp
description: >-
使用 req-doc-markdownifymcp-markdownify-server将本地 PDF、DOCX 等转为 Markdown供需求分析使用。
在用户要解析需求文档、钉钉导出文件、PRD 转文本时使用。
---
# 需求文档 Markdownify MCP 使用指南
> **配图 PRD**Word 含截图时 **优先** 使用 `admin/scripts/docx_to_markdown_with_images.py`(或复制到全局脚本目录),生成含 `![](…media/…)` 的 `.md`;纯文本、简单结构可用本 MCP `docx-to-markdown`。得到 `.md` 后,在业务仓库用 **`requirements-analysis`** 直接 **Read** 该文件做落点与清单,无需单独的「整理版」智能体。
## 何时使用
- 已把钉钉导出的 **PDF / Word.docx** 存到本机,需要转成 Markdown 再给 AI 做需求分析
- 用户提供「本地文件路径」,希望抽取正文与表格(效果受版式影响,需人工抽查)
## Cursor 中的服务名
配置键名:`req-doc-markdownify`(见 `admin/mcp.json`)。
首次用 `npx` 拉起时,包内 `preinstall` 会尝试执行 `python -m venv` 并安装 `markitdown`**需本机已安装 Python 且可在终端执行 `python`**。若失败,请在终端手动执行一次 `npx -y mcp-markdownify-server` 查看报错。
**手动补环境(在 `mcp-markdownify-server` 包目录下,与 `package.json` 同级)**
```powershell
python -m venv .venv
.\.venv\Scripts\pip.exe install "markitdown[docx]"
```
仅装 `markitdown` 不含 Word 依赖时,调用 `docx-to-markdown` 会报 `MissingDependencyException`Word 须使用 **`markitdown[docx]`**(或 `markitdown[all]`。PDF 可再按需安装 `markitdown[pdf]` 等,见 markitdown 文档。
## 常用工具
以下工具参数中的 **`filepath` 必须为绝对路径**Windows 例如 `D:\\docs\\需求.docx`)。
| tool | 说明 | 必选参数 |
|----------------------|-------------|------------|
| `docx-to-markdown` | Word 转 MD | `filepath` |
| `pdf-to-markdown` | PDF 转 MD | `filepath` |
| `get-markdown-file` | 读取已有 .md | `filepath` |
其他:`xlsx-to-markdown`、`pptx-to-markdown`、`image-to-markdown`、`webpage-to-markdown` 等见上游 README。
## 可选环境变量
- **`MD_SHARE_DIR`**:若设置,则 `get-markdown-file` 仅能读取该目录下的 Markdown降低误读路径风险。
## 限制说明
- 上游 README 标注 **Windows 支持仍在完善**,复杂 PDF/扫描件可能需 OCR 或改导出 Word 再转。
- **钉钉链拉取** 不在本 MCP 内;流程为:钉钉下载 → 本地路径 → 调用 `docx-to-markdown` / `pdf-to-markdown`
### Word 里的截图/图片为什么 MCP 里「没了」?
- **MCP / markitdown**:底层用 mammoth 等做结构转换,在 **表格嵌套、图文混排** 等版式下,经常出现 **整格图片被省略**,只保留右侧文字(与插件「看到的样子」不一致)。
- **Office Viewer等插件**:是编辑器 **按 Word 规则直接渲染**,不是把 docx 抽成纯 Markdown所以版式与图片更完整。
**需要正文的图片一并给 AI 时**,优先用仓库脚本(导出 PNG + Markdown 相对路径):
```powershell
pip install mammoth
python admin/scripts/docx_to_markdown_with_images.py ".temp\你的需求.docx" -o ".temp\你的需求.md" --media-dir "你的需求.media"
```
生成的 `.md` 中会包含 `![](你的需求.media/image_001.png)` 等引用,同目录旁会有图片文件夹。再让 AI `Read``.md` 即可。
- **选型**:纯文本、简单结构可用 MCP `docx-to-markdown`**强依赖版面截图**时用本脚本或 **Pandoc**`--extract-media`)做对照。
## 调用方式
使用 Cursor MCP 工具调用界面或 `call_mcp_tool``server` 为配置中的键名(如 `req-doc-markdownify``toolName` 为上表名称,`arguments` 传 JSON`{ "filepath": "D:\\\\docs\\\\需求.docx" }`)。