ODT文档处理服务器

一个用于处理OpenDocument Text (.odt)文件的模型上下文协议(MCP)服务器,支持读取、分析和提取ODT文档中的数据。

  • by PeterHeick
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 PeterHeick/odt-mcp-server

使用说明

ODT MCP 服务器

一个用于处理OpenDocument Text(.odt)文件的模型上下文协议(MCP)服务器。该服务器使AI助手能够读取、分析并从ODT文档中提取数据。

特点/特性

  • 读取ODT文本从ODT文档中提取干净文本
  • 获取元数据检索文档信息,如作者、标题、日期等。
  • 列出存档内容查看ODT压缩包中包含的所有文件
  • 提取原始XML访问底层XML文件(content.xml、styles.xml、meta.xml)

先决条件

  • Node.js 版本18.0.0或更高版本
  • npm(Node Package Manager) (随Node.js一起提供)

安装

npm install
npm run build
npm link

快速入门

🚀 试用交互式演示

# Run the full-featured demo
cd examples
node demo.js

# Or test with your own ODT file  
node demo.js path/to/your/file.odt

作为MCP服务器

该服务器设计为可作为MCP服务器,与Claude等AI助手或其他MCP兼容客户端一起使用。

# Run the server directly
./build/index.js

# Or after npm link, run globally
odt-mcp-server

可用工具

1. read_odt

从ODT文件中读取并提取干净的文本。

输入:

  • file_path (字符串):ODT 文件的路径

输出: 从文档中提取干净的文本

2. get_odt_metadata

从ODT文件的meta.xml中检索元数据。

输入:

  • file_path (字符串):ODT 文件的路径

输出: 包含文档元数据的JSON对象

3. list_odt_files

列出ODT存档中的所有文件。

输入:

  • file_path (字符串):ODT 文件的路径

输出: 存档中的文件名列表

4. extract_odt_xml

从ODT存档中的特定文件中提取原始XML内容。

输入:

  • file_path (字符串):ODT 文件的路径
  • xml_file (字符串):XML 文件的名称(例如,'content.xml'、'styles.xml'、'meta.xml')

输出: 原始XML内容

MCP配置

要使用MCP客户端连接此服务器,请在您的配置中添加以下内容:

{
  "mcpServers": {
    "odt": {
      "command": "odt-mcp-server"
    }
  }
}

注: 跑步之后 npm link,的 odt-mcp-server 该命令将在全局范围内可用。

发展

# Build the project
npm run build

# Build in watch mode
npm run watch

技术细节

  • 运行时使用ES模块的Node.js
  • 依赖项:
    • @modelcontextprotocol/sdkMCP SDK
    • adm-zipZIP存档处理
    • xml2jsXML 解析
  • 类型定义全面支持TypeScript

关于ODT格式

OpenDocument 文本(.odt)文件是包含以下内容的 ZIP 压缩包:

  • content.xml文件的主要内容
  • meta.xml元数据(作者、标题等)
  • styles.xml格式化和样式
  • META-INF/manifest.xml存档清单
  • 其他资源(图片、字体等)

这台服务器通过MCP协议提供对所有这些组件的结构化访问。

贡献;做出贡献

欢迎投稿!以下是你如何参与帮助的方式:

  1. 报告问题发现了一个错误或有功能需求? 打开一个议题/问题
  2. 提交拉取请求克隆该仓库,进行更改,然后提交拉取请求
  3. 改进文档帮助使文档更加清晰、全面
  4. 使用ODT文件进行测试使用各种ODT文件进行测试并报告兼容性问题

开发环境设置

git clone https://github.com/PeterHeick/odt-mcp-server.git
cd odt-mcp-server
npm install
npm run build
npm run watch  # For development with auto-rebuild

请确保您的代码遵循现有的编码风格,并包含适当的测试。

许可证

麻省理工学院(MIT)——欢迎出于任何目的(商业或非商业)自由使用此项目。详情请参阅完整的许可文本。