Document Converter MCP Server
Converts between Markdown and Word documents using pandoc, with support for conversion options, pandoc installation check, and listing supported formats.
README
Document Converter MCP Server
這是一個 Model Context Protocol (MCP) server,用於在 Markdown 和 Word 文件之間進行轉換。它使用 pandoc 作為底層轉換引擎。
功能特色
- 🔄 雙向轉換: 支援 Markdown 轉 Word 和 Word 轉 Markdown
- ⚙️ 豐富選項: 支援多種 pandoc 轉換選項
- 🔍 狀態檢查: 檢查 pandoc 安裝狀態和支援格式
- 🛠️ 易於整合: 遵循 MCP 協議,易於與其他工具整合
安裝需求
1. 安裝 pandoc
在 macOS 上,您可以使用 Homebrew:
brew install pandoc
或者從官方網站下載安裝程式: https://pandoc.org/installing.html
2. 安裝 Node.js 依賴
npm install
建置與執行
建置 TypeScript 代碼
npm run build
執行 MCP Server
npm start
當 MCP server 成功啟動時,您會看到:
Document Converter MCP Server 已啟動
開發模式(自動重建和重啟)
npm run dev
驗證 MCP Server 運行狀態
您可以使用以下方法確認 MCP server 正常運行:
-
檢查進程:
ps aux | grep "node.*index.js" -
測試功能:
node test-conversion.js node simulate-mcp-client.js -
查看日誌:MCP server 會在 stderr 輸出狀態信息
可用工具
1. convert_markdown_to_word
將 Markdown 文件轉換為 Word (.docx) 文件。
參數:
inputPath(必需): Markdown 文件的完整路徑outputPath(可選): Word 文件的輸出路徑options(可選): 轉換選項standalone: 產生完整文件 (預設: true)toc: 產生目錄 (預設: false)numberSections: 自動編號章節 (預設: false)highlightStyle: 程式碼語法高亮樣式 (預設: "pygments")
2. convert_word_to_markdown
將 Word (.docx) 文件轉換為 Markdown 文件。
參數:
inputPath(必需): Word 文件的完整路徑outputPath(可選): Markdown 文件的輸出路徑options(可選): 轉換選項extractMedia: 提取媒體文件到指定目錄wrapText: 文字換行方式 ("auto", "none", "preserve")atxHeaders: 使用 ATX 樣式標題 (預設: true)
3. check_pandoc_installation
檢查 pandoc 是否已安裝並顯示版本信息。
4. list_supported_formats
列出 pandoc 支援的所有輸入和輸出格式。
使用範例
轉換 Markdown 到 Word
{
"tool": "convert_markdown_to_word",
"arguments": {
"inputPath": "/Users/alex/MCP_test/test.md",
"outputPath": "/Users/alex/MCP_test/test.docx",
"options": {
"toc": true,
"numberSections": true
}
}
}
轉換 Word 到 Markdown
{
"tool": "convert_word_to_markdown",
"arguments": {
"inputPath": "/Users/alex/MCP_test/TDD 簡介拷貝.docx",
"outputPath": "/Users/alex/MCP_test/TDD_intro.md",
"options": {
"extractMedia": "./media",
"atxHeaders": true
}
}
}
整合到 MCP 客戶端
Claude Desktop
在 Claude Desktop 中使用此 MCP server,請按照以下步驟:
-
找到配置文件位置:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
-
添加 MCP server 配置:
{
"mcpServers": {
"document-converter": {
"command": "node",
"args": ["/Users/alex/MCP_test/dist/index.js"],
"env": {}
}
}
}
- 重啟 Claude Desktop 以載入新的 MCP server
其他 MCP 客戶端
此 MCP server 遵循標準的 MCP 協議,可以與任何支援 MCP 的客戶端整合:
- 命令:
node - 參數:
["/Users/alex/MCP_test/dist/index.js"] - 通訊協議: stdio
- 功能: 提供 4 個文件轉換工具
驗證整合
整合成功後,您應該能夠在 MCP 客戶端中看到以下 4 個可用工具:
convert_markdown_to_wordconvert_word_to_markdowncheck_pandoc_installationlist_supported_formats
支援的文件格式
此 MCP server 專門針對以下格式進行了優化:
- 輸入: Markdown (.md), Word (.docx)
- 輸出: Markdown (.md), Word (.docx)
pandoc 本身支援更多格式,您可以使用 list_supported_formats 工具查看完整列表。
故障診斷
常見問題
-
"pandoc: command not found"
- 確保已安裝 pandoc 並且在 PATH 中可用
- 執行
which pandoc檢查安裝位置
-
"找不到輸入文件"
- 確保文件路徑正確且文件存在
- 使用絕對路徑以避免路徑問題
-
轉換失敗
- 檢查輸入文件是否損壞
- 確保您有寫入輸出目錄的權限
MCP 服務相關問題
-
MCP server 無法啟動
- 確保已執行
npm run build建置項目 - 檢查 Node.js 版本是否支援 ES modules
- 查看終端錯誤信息以了解具體問題
- 確保已執行
-
MCP 客戶端無法連接
- 確認配置文件路徑正確
- 檢查 MCP server 路徑
/Users/alex/MCP_test/dist/index.js是否存在 - 重啟 MCP 客戶端(如 Claude Desktop)
-
工具無法使用
- 使用
node simulate-mcp-client.js測試 MCP server 功能 - 檢查 pandoc 是否正確安裝
- 確認文件權限設置正確
- 使用
調試方法
-
測試 MCP server:
cd /Users/alex/MCP_test npm start -
測試轉換功能:
node test-conversion.js -
模擬 MCP 客戶端:
node simulate-mcp-client.js
檢查安裝
使用 check_pandoc_installation 工具驗證 pandoc 是否正確安裝。
MCP 服務管理
快速服務管理
使用提供的服務管理腳本來管理 MCP server:
# 啟動 MCP server
./mcp-service.sh start
# 檢查服務狀態
./mcp-service.sh status
# 查看實時日誌
./mcp-service.sh logs
# 停止服務
./mcp-service.sh stop
# 重啟服務
./mcp-service.sh restart
# 測試功能
./mcp-service.sh test
服務狀態檢查
執行 ./mcp-service.sh status 會顯示:
- ✅ 服務運行狀態
- 🔢 進程 ID (PID)
- 💾 內存使用情況
- 🔧 系統依賴檢查(pandoc、Node.js)
日誌管理
- 服務日誌存儲在
mcp-server.log - 使用
./mcp-service.sh logs查看實時日誌 - 日誌包含啟動信息和錯誤詳情
詳細整合指南
查看 MCP_INTEGRATION_GUIDE.md 了解:
- Claude Desktop 配置步驟
- 其他 MCP 客戶端整合
- 故障排除和調試技巧
授權
MIT License
貢獻
歡迎提交 Issues 和 Pull Requests!
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。