Mineru MCP服务器
模型上下文协议(MCP)文档解析服务器,与Mineru API集成,提供强大的文档解析功能。
特性
- 单文件解析:通过URL创建文档解析任务
- 批处理文件解析:支持多文件批量上传和解析
- 任务状态监控:实时查询解析进度和结果
- 多格式支持:支持PDF、DOC、DOCX、PPT、PPTX、PNG、JPG、JPEG等格式
- OCR功能:可选OCR文本识别
- 公式识别:支持数学公式识别
- 表识别:支持表结构识别
- 多语言支持:支持中文、英文和其他语言
安装
npm install配置
在使用之前,您需要配置Mineru API密钥:
const config = {
mineruApiKey: "your-mineru-api-bearer-token", // Mineru API Bearer token
mineruBaseUrl: "https://mineru.net/api/v4" // Mineru API base URL
};可用工具
1.create_parsing_task
为单个文件创建文档解析任务
参数:
url(必填):文件URL
is_ocr(可选):启用OCR,默认为false
enable_formula(可选):启用公式识别,默认为true
enable_table(可选):启用表格识别,默认为true
language(可选):文档语言,默认“ch”
page_ranges(可选):页面范围,例如“1-10、15-20”
model_version(可选):型号版本,“v1”或“v2”
extra_formats(可选):其他导出格式,\[“docx”、“html”、“latex”\]
2.获取任务状态
查询解析任务状态
参数:
task_id(必填):任务ID
3.create_batch_parsing_task
创建批处理文件上传解析任务(用于本地文件上传)
参数:
files(必填):文件数组,每个文件包含名称、is_ocr、page_ranges和其他属性enable_formula(可选):启用公式识别enable_table(可选):启用表格识别language(可选):文档语言model_version(可选):型号版本extra_formats(可选):其他导出格式
4.create_batch_url_parsing_task
创建批处理URL解析任务(用于远程文件URL)
参数:
files(必填):文件数组,每个文件包含url、is_ocr、page_ranges和其他属性enable_formula(可选):启用公式识别enable_table(可选):启用表格识别language(可选):文档语言model_version(可选):型号版本extra_formats(可选):其他导出格式
5.get_batch_task_results
查询批量解析任务结果(支持URL批量解析和本地上传批量解析)
参数:
batch_id(必填):批处理任务ID(来自create_Batch_url_parsing_task或create_Batch_parsing_task)
使用示例
单文件解析
// Create parsing task
const taskResult = await create_parsing_task({
url: "https://example.com/document.pdf",
is_ocr: true,
enable_formula: true,
language: "en"
});
// Query task status
const status = await get_task_status({
task_id: taskResult.task_id
});批处理文件上传解析
// Create batch upload task
const batchResult = await create_batch_parsing_task({
files: [
{ name: "document1.pdf", is_ocr: true },
{ name: "document2.docx" }
],
enable_formula: true,
language: "ch"
});
// Query batch task results (applicable to both batch parsing methods)
const batchStatus = await get_batch_task_results({
batch_id: batchResult.batch_id
});批处理URL解析
// Create batch URL parsing task
const batchUrlResult = await create_batch_url_parsing_task({
files: [
{ url: "https://example.com/doc1.pdf", is_ocr: true },
{ url: "https://example.com/doc2.docx" }
],
enable_formula: true,
language: "en"
});
// Query batch task results (applicable to both batch parsing methods)
const batchUrlStatus = await get_batch_task_results({
batch_id: batchUrlResult.batch_id
});发展
npm run dev重要提示
- 单个文件大小不能超过200MB,页数不能超过600页
- 每个帐户每天有2000页最高优先级的解析配额
- 由于网络限制,GitHub和AWS等外部URL可能会超时
- 批量上传文件链接的有效期为24小时
- 上传文件时无需设置Content-Type标头
常见错误代码
| 错误代码 | 描述 | 解决方案 |
|---|---|---|
| A0202 | 令牌错误 | 检查令牌是否正确,或用新令牌替换 |
| A0211 | 令牌已过期 | 替换为新令牌 |
| -500 | 参数错误 | 确保参数类型和内容类型正确 |
| -10001 | 服务异常 | 请稍后重试 |
| -10002 | 请求参数错误 | 检查请求参数格式 |
| -60001 | 生成上传URL失败 | 请稍后重试 |
| -60002 | 无法获取匹配的文件格式 | 文件类型检测失败,请确保请求的文件名和链接具有正确的扩展名,并且文件是pdf、doc、docx、ppt、pptx、png、jp(e)g之一 |
| -60003 | 文件读取失败 | 检查文件是否损坏并重新上传 |
| -60004 | 空文件 | 请上传有效文件 |
| -60005 | 文件大小超出限制 | 检查文件大小,最大支持200MB |
| -60006 | 文件页数超过限制 | 请拆分文件并重试 |
| -60007 | 型号服务暂时不可用 | 请稍后重试或联系技术支持 |
| -60008 | 文件读取超时 | 检查URL是否可访问 |
| -60009 | 任务提交队列已满 | 请稍后重试 |
| -60010 | 解析失败 | 请稍后重试 |
| -60011 | 无法获取有效文件 | 请确保文件已上传 |
| -60012 | 未找到任务 | 请确保Task_id有效且未被删除 |
| -60013 | 无权访问此任务 | 只能访问您自己提交的任务 |
| -60014 | 删除正在运行的任务 | 正在运行的作业不支持删除 |
| -60015 | 文件转换失败 | 可以手动转换为PDF并上传 |
| -60016 | 文件转换失败 | 文件转换为指定格式失败,可以尝试其他格式导出或重试 |
许可证
国际协调委员会
