项目简介
Markdownify MCP Server 是一个实现了 Model Context Protocol (MCP) 的服务器,专注于将各种文件类型和在线内容转换为 Markdown 格式。它提供了一系列工具,使 LLM 应用能够轻松地将 PDF、图片、音频、网页等内容转换为结构化的 Markdown 文本,方便后续处理和理解。
主要功能点
- 多格式文件转 Markdown: 支持 PDF, 图片, 音频 (带转录), DOCX, XLSX, PPTX 等多种文件格式转换为 Markdown。
- 在线内容转 Markdown: 支持 YouTube 视频转录, 必应搜索结果, 普通网页等在线内容转换为 Markdown。
- 获取 Markdown 文件: 可以读取服务器上已有的 Markdown 文件内容。
- 标准 MCP 协议: 遵循 MCP 协议标准,易于集成到各种 MCP 客户端应用中。
安装步骤
-
克隆仓库:
git clone https://github.com/hamstershleter7/promised cd promised -
安装依赖:
pnpm install这个命令会自动安装项目依赖,包括 'uv' 和相关的 Python 依赖。
-
构建项目:
pnpm run build -
启动服务器:
pnpm start服务器默认使用标准输入输出 (stdio) 作为传输协议。
服务器配置
对于 MCP 客户端,需要配置服务器连接信息。以下是一个 JSON 格式的配置示例,用于配置名为 "markdownify" 的 MCP 服务器:
{ "mcpServers": { "markdownify": { "command": "node", "args": [ "{ABSOLUTE PATH TO FILE HERE}/dist/index.js" ], "env": { // UV_PATH 环境变量用于指定 'uv' 的安装路径,默认会尝试使用默认安装位置 "UV_PATH": "/path/to/uv" } } } }
配置参数说明:
- '"markdownify"': 服务器名称,客户端用于识别和调用。
- '"command": "node"': 启动服务器的命令,这里使用 Node.js 运行。
- '"args": ["{ABSOLUTE PATH TO FILE HERE}/dist/index.js"]': 命令参数,指定服务器入口文件 'dist/index.js' 的绝对路径。 请务必将 '{ABSOLUTE PATH TO FILE HERE}' 替换为 'promised' 仓库 'dist/index.js' 文件的实际绝对路径。
- '"env": {"UV_PATH": "/path/to/uv"}': 环境变量配置,'UV_PATH' 用于指定 'uv' 可执行文件的路径。 如果 'uv' 安装在默认位置,可以省略 'env' 配置。 如果 'uv' 没有安装在默认位置,需要将 '/path/to/uv' 替换为 'uv' 的实际安装路径。
请注意: MCP 客户端需要根据自身软件的配置方式,将以上 JSON 配置信息添加到客户端的 MCP 服务器配置中。
基本使用方法
- 客户端连接服务器: MCP 客户端根据配置信息连接到 Markdownify MCP Server。
- 列出可用工具: 客户端可以发送 'ListToolsRequest' 请求到服务器,获取服务器提供的工具列表,例如 'youtube-to-markdown', 'pdf-to-markdown' 等。
- 调用工具: 客户端可以发送 'CallToolRequest' 请求来调用具体的工具。例如,调用 'pdf-to-markdown' 工具需要提供 PDF 文件的绝对路径 'filepath' 作为参数;调用 'youtube-to-markdown' 工具需要提供 YouTube 视频的 URL 'url' 作为参数。
- 获取 Markdown 结果: 服务器执行工具后,会返回包含 Markdown 文本内容的 'content' 响应。客户端可以解析响应内容,获取转换后的 Markdown 文本。
示例工具调用 (概念):
- PDF to Markdown: 客户端调用 'pdf-to-markdown' 工具,并传入 PDF 文件路径 '/path/to/document.pdf'。服务器会将该 PDF 文件转换为 Markdown 文本并返回。
- YouTube to Markdown: 客户端调用 'youtube-to-markdown' 工具,并传入 YouTube 视频 URL 'https://www.youtube.com/watch?v=xxxxxxxxxxx'。服务器会获取视频转录 (如果可用) 或网页内容,并转换为 Markdown 文本返回。
信息
分类
开发者工具