mcpField
M
mcp-file-processor

mcp-file-processor

ローカル
github.com/opafexメモリ・ナレッジ04 日前に更新

mcp-file-processor について

mcp-file-processor は、RAG ワークフロー向けのローカルテキスト処理 MCP サーバーです。ファイルからテキストを抽出して整える開発者向けで、API キーなしで複数の文書・コード形式を扱います。

主な機能

  1. 01PDF、DOCX、テキスト形式から内容を抽出
  2. 02頻度順にキーワードを抽出
  3. 03コード、自然言語、混在を判定
  4. 04重複を含むテキストチャンクの作成
  5. 05一括処理で各工程を実行

活用シーン

  1. 01RAG ワークフロー用の文書テキスト抽出
  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

RAG パイプライン向けに設計された、汎用的なテキスト抽出、キーワード抽出、言語検出、テキスト分割を行う MCP サーバーです。

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

ファイルからテキストコンテンツを抽出します。

パラメーター型必須説明
contentstringはいファイルのコンテンツ。バイナリ形式(PDF、DOCX)は base64、テキスト形式は生テキストです
fileTypestringはいMIME タイプ(例:"application/pdf")または拡張子(例:".pdf"、"pdf")
応答例
{
  "success": true,
  "text": "Extracted text content here...",
  "wordCount": 142,
  "pageCount": 3,
  "processingTimeMs": 45
}
extract_keywords

テキストから重要度順にキーワードを抽出します。ストップワードを除外し、出現頻度順に並べます。

パラメーター型必須説明
textstringはいキーワードを抽出するテキスト
limitnumberいいえ返すキーワードの最大数(デフォルト:20)
応答例
{
  "success": true,
  "keywords": [
    { "word": "javascript", "frequency": 8 },
    { "word": "framework", "frequency": 4 },
    { "word": "react", "frequency": 3 }
  ],
  "totalWords": 156
}
detect_language

コンテンツがコード、自然言語、または混在のいずれであるかを検出します。

パラメーター型必須説明
textstringはい分析するテキスト
fileNamestringいいえ拡張子に基づく検出に使用するファイル名(例:"app.ts")
応答例
{
  "success": true,
  "contentType": "code",
  "programmingLanguage": "typescript"
}
chunk_text

RAG/埋め込みパイプライン向けに、重複部分を含むチャンクにテキストを分割します。

パラメーター型必須説明
textstringはい分割するテキスト
chunkSizenumberいいえチャンクの目標サイズ(文字数)(デフォルト:1000)
overlapnumberいいえチャンク間の重複文字数(デフォルト: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

一括処理:テキストの抽出、コンテンツタイプの検出、キーワードの抽出、チャンクへの分割を行います。

パラメーター型必須説明
contentstringはいファイルのコンテンツ(base64 または生テキスト)
fileTypestringはいMIME タイプまたはファイル拡張子
chunkSizenumberいいえチャンクサイズ(文字数)(デフォルト:1000)
chunkOverlapnumberいいえ重複する文字数(デフォルト:200)
keywordLimitnumberいいえキーワードの最大数(デフォルト: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 を参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。