mcpField
M
mcp-file-processor

mcp-file-processor

本地服务
github.com/opafex记忆与知识04 天前更新

关于 mcp-file-processor

mcp-file-processor 是面向 RAG 流程的本地文本处理 MCP 服务,适用于需要从文件提取并整理文本的开发者。它支持多种文档和代码格式,无需 API 密钥。

主要功能

  1. 01从 PDF、DOCX 和文本格式提取内容
  2. 02按频率提取关键词
  3. 03识别代码、自然语言或混合内容
  4. 04将文本切分为带重叠的块
  5. 05一次处理文件并完成上述步骤

适用场景

  1. 01为 RAG 流程提取文档文本
  2. 02将内容切块以供嵌入处理
  3. 03识别代码文件的内容类型
  4. 04为文档索引生成关键词

MCP 相关

该 MCP 服务向客户端提供文本提取、关键词提取、语言检测、文本切块及整合处理工具,并公开支持格式资源。处理在本地运行,无需 API 密钥。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"opafex-mcp-file-processor": {
"command": "npx",
"args": [
"-y",
"@opafex/mcp-file-processor"
]
}
}
}
启动命令npx -y @opafex/mcp-file-processor

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@opafex/mcp-file-processor0.1.1

工具

6

收录的工具列表 · 更新于 3 天前

参数类型必填说明
contentstring是文件内容——二进制格式(PDF、DOCX)采用 Base64 编码,文本格式采用原始文本
fileTypestring是MIME 类型(例如 "application/pdf")或文件扩展名(例如 ".pdf"、"pdf"、".ts")

详细介绍

@opafex/mcp-file-processor

用于通用文本提取、关键词提取、语言检测和文本分块的 MCP 服务,专为 RAG 工作流设计。

支持 PDF、DOCX、CSV、JSON、Markdown、HTML 和代码文件。零平台依赖。

安装

npm install @opafex/mcp-file-processor

需要 Node.js 20+。

快速开始

添加到 Claude Code / Claude Desktop
{
  "mcpServers": {
    "file-processor": {
      "command": "npx",
      "args": ["@opafex/mcp-file-processor"]
    }
  }
}

无需 API 密钥——所有操作都在本地运行。

工具

extract_text

从文件中提取文本内容。

参数类型必填描述
content字符串是文件内容——二进制格式(PDF、DOCX)使用 base64,文本格式使用原始文本
fileType字符串是MIME 类型(例如 "application/pdf")或扩展名(例如 ".pdf"、"pdf")
示例响应
{
  "success": true,
  "text": "Extracted text content here...",
  "wordCount": 142,
  "pageCount": 3,
  "processingTimeMs": 45
}
extract_keywords

从文本中提取并排序关键词。过滤停用词,按出现频率排序。

参数类型必填描述
text字符串是要从中提取关键词的文本
limit数字否返回的关键词数量上限(默认值:20)
示例响应
{
  "success": true,
  "keywords": [
    { "word": "javascript", "frequency": 8 },
    { "word": "framework", "frequency": 4 },
    { "word": "react", "frequency": 3 }
  ],
  "totalWords": 156
}
detect_language

检测内容属于代码、自然语言还是混合内容。

参数类型必填描述
text字符串是要分析的文本
fileName字符串否用于基于扩展名进行检测的文件名(例如 "app.ts")
示例响应
{
  "success": true,
  "contentType": "code",
  "programmingLanguage": "typescript"
}
chunk_text

将文本拆分为相互重叠的分块,用于 RAG/嵌入工作流。

参数类型必填描述
text字符串是要分块的文本
chunkSize数字否分块的目标字符数(默认值:1000)
overlap数字否分块之间重叠的字符数(默认值:200)
示例响应
{
  "success": true,
  "chunks": [
    { "index": 0, "text": "...", "startOffset": 0, "endOffset": 1000, "wordCount": 167 },
    { "index": 1, "text": "...", "startOffset": 800, "endOffset": 1800, "wordCount": 172 }
  ],
  "totalChunks": 5,
  "totalCharacters": 4200
}
process_file

一站式处理:提取文本、检测内容类型、提取关键词并进行分块。

参数类型必填描述
content字符串是文件内容(base64 或原始文本)
fileType字符串是MIME 类型或文件扩展名
chunkSize数字否分块大小(字符数,默认值:1000)
chunkOverlap数字否重叠大小(字符数,默认值:200)
keywordLimit数字否关键词数量上限(默认值:20)
server_info(内置)

返回服务元数据、已注册工具和资源。

资源

资源描述
file-processor://supported-types列出所有支持的 MIME 类型和文件扩展名

支持的格式

格式扩展名输入
PDF.pdfbase64
Word.docx、.docbase64
纯文本.txt原始文本
Markdown.md原始文本
CSV.csv原始文本
JSON.json原始文本
HTML.html原始文本
XML.xml原始文本
JavaScript.js、.jsx、.mjs原始文本
TypeScript.ts、.tsx原始文本
Python.py原始文本
Java.java原始文本
Go.go原始文本
Rust.rs原始文本
C/C++.c、.cpp、.h原始文本

开发

npm run build    # Compile TypeScript
npm run dev      # Run with tsx
npm test         # Run tests
npm start        # Run compiled server

库用法

import { FileProcessorService } from '@opafex/mcp-file-processor/service';

const service = new FileProcessorService();

const result = await service.processFile(
  'Hello world, this is a document.',
  '.txt',
  500,  // chunk size
  100   // overlap
);

贡献

发现错误或有功能建议?提交 issue。

许可证

MIT — 请参阅 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。