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. 01PDF やオフィス文書の RAG 用準備
  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

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 つのサーバーを複数のクライアントで再利用できます。