mcpField
M

mcp-file-processor

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

关于 mcp-file-processor

mcp-file-processor 是面向 RAG 流程的本地 MCP 服务,可从文档和代码中提取并整理文本。它结合格式处理、关键词提取、内容类型检测和可配置分块。

主要功能

  1. 01从文档和代码提取文本
  2. 02提取排序后的关键词
  3. 03识别代码与自然语言
  4. 04将文本切分为重叠片段
  5. 05一次操作完成文件处理

适用场景

  1. 01为 RAG 准备 PDF 和办公文档
  2. 02为嵌入流程切分文本
  3. 03识别文件内容中的编程语言

MCP 相关

它向 MCP 客户端提供文件处理工具和支持类型资源。服务在本地运行,无需 API 密钥。

配置

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

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

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

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

工具

6

收录的工具列表 · 更新于 2 周前

参数类型必填说明
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 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。