Markdownify MCP Server 使用说明
项目简介
Markdownify MCP Server 是一个实现了 Model Context Protocol (MCP) 的服务器,专注于提供文档和网页内容到 Markdown 格式的转换服务。它通过注册一系列工具,允许 LLM 客户端调用这些工具,将 PDF、图片、音频、Office 文档以及网页内容(包括 YouTube 视频、Bing 搜索结果、普通网页)转换为 Markdown 文本。
主要功能点
- 多格式文件转 Markdown: 支持 PDF, 图片, 音频 (带转录), DOCX, XLSX, PPTX 等多种文件格式转换为 Markdown。
- 网页内容转 Markdown: 支持 YouTube 视频转录, Bing 搜索结果, 普通网页等网页内容转换为 Markdown。
- 获取 Markdown 文件: 提供工具用于检索已存在的 Markdown 文件内容。
- 标准 MCP 协议: 遵循 MCP 协议标准,易于集成到任何支持 MCP 协议的 LLM 客户端。
安装步骤
- 克隆仓库
git clone https://github.com/briannaluna17/grew cd grew - 安装依赖
这个命令会安装项目依赖,包括 'uv' 和相关的 Python 依赖。pnpm install - 构建项目
pnpm run build - 启动服务器
服务器默认通过 Stdio 传输协议运行。pnpm start
服务器配置
要将 Markdownify MCP Server 集成到 MCP 客户端,您需要在客户端的服务器配置中添加以下 JSON 配置。这个配置告诉 MCP 客户端如何启动和连接到 Markdownify 服务器。
{ "mcpServers": { "markdownify": { // 服务器名称,客户端用此名称引用 "command": "node", // 启动服务器的命令,这里使用 node.js 运行 "args": [ "{ABSOLUTE PATH TO FILE HERE}/dist/index.js" // 服务器入口文件 index.js 的绝对路径,**请替换为实际路径** ], "env": { "UV_PATH": "/path/to/uv" // uv 执行文件的路径,如果 uv 不在默认路径,需要指定,**请替换为实际 uv 路径** } } } }
配置参数说明:
- 'mcpServers': 定义 MCP 服务器的配置。
- 'markdownify': 为该服务器定义的名称,客户端将使用 "markdownify" 来引用此服务器。
- 'command': 启动服务器的命令,这里是 'node',表示使用 Node.js 运行时。
- 'args': 传递给 'command' 的参数数组。
- '{ABSOLUTE PATH TO FILE HERE}/dist/index.js': 必须替换为 'dist/index.js' 文件在您本地文件系统中的绝对路径。 这是 Markdownify 服务器的入口文件。
- 'env': 设置环境变量。
- 'UV_PATH': 可选配置,但如果 'uv' 不在系统的默认可执行路径中,则需要指定 'uv' 的绝对路径。 'uv' 是项目依赖的 Python 环境管理工具,用于执行 Markdown 转换。
重要提示:
- 绝对路径: 配置文件中的 '{ABSOLUTE PATH TO FILE HERE}/dist/index.js' 和 '/path/to/uv' 必须替换为实际的绝对路径。您需要根据您的项目存放位置和 'uv' 的安装位置进行修改。
- uv 路径: 如果您的 'uv' 可执行文件不在 '/usr/local/bin' 或 '/usr/bin' 等默认路径下,您需要通过 'UV_PATH' 环境变量显式指定其路径。通常 'pnpm install' 会自动安装 'uv' 到用户本地目录,例如 '~/.local/bin/uv',请根据实际情况配置。
基本使用方法
配置完成后,在 MCP 客户端中,您可以通过 "markdownify" 这个服务器名称来调用其提供的工具。例如,要将一个本地 PDF 文件转换为 Markdown,您可以调用 'pdf-to-markdown' 工具,并提供 PDF 文件的绝对路径作为参数。
可用工具列表 (Tool Names):
- 'youtube-to-markdown': 将 YouTube 视频转换为 Markdown (包括转录,如果可用)。需要 'url' 参数 (YouTube 视频 URL)。
- 'pdf-to-markdown': 将 PDF 文件转换为 Markdown。需要 'filepath' 参数 (PDF 文件绝对路径)。
- 'bing-search-to-markdown': 将 Bing 搜索结果页面转换为 Markdown。需要 'url' 参数 (Bing 搜索结果页面 URL)。
- 'webpage-to-markdown': 将网页转换为 Markdown。需要 'url' 参数 (网页 URL)。
- 'image-to-markdown': 将图片转换为 Markdown (包括元数据和描述)。需要 'filepath' 参数 (图片文件绝对路径)。
- 'audio-to-markdown': 将音频文件转换为 Markdown (包括转录,如果可能)。需要 'filepath' 参数 (音频文件绝对路径)。
- 'docx-to-markdown': 将 DOCX 文件转换为 Markdown。需要 'filepath' 参数 (DOCX 文件绝对路径)。
- 'xlsx-to-markdown': 将 XLSX 文件转换为 Markdown。需要 'filepath' 参数 (XLSX 文件绝对路径)。
- 'pptx-to-markdown': 将 PPTX 文件转换为 Markdown。需要 'filepath' 参数 (PPTX 文件绝对路径)。
- 'get-markdown-file': 获取指定路径的 Markdown 文件内容。需要 'filepath' 参数 (Markdown 文件绝对路径)。
示例:客户端调用 'pdf-to-markdown' 工具的请求 (JSON-RPC Request)
{ "jsonrpc": "2.0", "method": "call_tool", "params": { "server_name": "markdownify", "tool_name": "pdf-to-markdown", "arguments": { "filepath": "/path/to/your/document.pdf" // 替换为实际 PDF 文件路径 } }, "id": "123" }
请根据您的 MCP 客户端的具体使用方式,构建相应的 JSON-RPC 请求来调用 Markdownify MCP Server 提供的工具。
信息
分类
生产力应用