Context7
Up-to-date docs for AI agents
作者による説明(英語の原文)
Text extraction, keyword extraction, language detection, and chunking for RAG
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"file-processor": {
"command": "npx",
"args": [
"-y",
"@opafex/mcp-file-processor"
]
}
}
}ターミナルでこれを実行します
claude mcp add file-processor -- npx -y @opafex/mcp-file-processorプロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"file-processor": {
"command": "npx",
"args": [
"-y",
"@opafex/mcp-file-processor"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"file-processor": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@opafex/mcp-file-processor"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月6日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント opafex で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.1.1)がレジストリに届いたのは12 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:Context7, Codebase Memory, Exa
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Up-to-date docs for AI agents
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
MCP server for universal text extraction, keyword extraction, language detection, and text chunking — designed for RAG pipelines.
Supports PDF, DOCX, CSV, JSON, Markdown, HTML, and code files. Zero platform dependencies.
npm install @opafex/mcp-file-processor
Requires Node.js 20+.
{
"mcpServers": { "file-processor": { "command": "npx", "args": ["@opafex/mcp-file-processor"] } } }
No API keys needed — everything runs locally.
extract_textExtract text content from a file.
| Parameter | Type | Required | Description |
|---|---|---|---|
content | string | Yes | File content — base64 for binary formats (PDF, DOCX), raw text for text formats |
fileType | string | Yes | MIME type (e.g. "application/pdf") or extension (e.g. ".pdf", "pdf") |
Example response
{
"success": true, "text": "Extracted text content here...", "wordCount": 142, "pageCount": 3, "processingTimeMs": 45 }
</details>
extract_keywordsExtract ranked keywords from text. Filters stop words, sorted by frequency.
| Parameter | Type | Required | Description |
|---|---|---|---|
text | string | Yes | Text to extract keywords from |
limit | number | No | Max keywords to return (default: 20) |
Example response
{
"success": true, "keywords": [ { "word": "javascript", "frequency": 8 }, { "word": "framework", "frequency": 4 }, { "word": "react", "frequency": 3 } ], "totalWords": 156 }
</details>
detect_languageDetect whether content is code, natural language, or mixed.
| Parameter | Type | Required | Description |
|---|---|---|---|
text | string | Yes | Text to analyse |
fileName | string | No | File name for extension-based detection (e.g. "app.ts") |
Example response
{
"success": true, "contentType": "code", "programmingLanguage": "typescript" }
</details>
chunk_textSplit text into overlapping chunks for RAG/embedding pipelines.
| Parameter | Type | Required | Description |
|---|---|---|---|
text | string | Yes | Text to chunk |
chunkSize | number | No | Target chunk size in characters (default: 1000) |
overlap | number | No | Overlap between chunks in characters (default: 200) |
Example response
{
"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 }
</details>
process_fileAll-in-one: extract text, detect content type, extract keywords, and chunk.
| Parameter | Type | Required | Description |
|---|---|---|---|
content | string | Yes | File content (base64 or raw text) |
fileType | string | Yes | MIME type or file extension |
chunkSize | number | No | Chunk size in characters (default: 1000) |
chunkOverlap | number | No | Overlap in characters (default: 200) |
keywordLimit | number | No | Max keywords (default: 20) |
server_info (built-in)Returns server metadata, registered tools, and resources.
| Resource | Description |
|---|---|
file-processor://supported-types | Lists all supported MIME types and file extensions |
| Format | Extension | Input |
|---|---|---|
.pdf | base64 | |
| Word | .docx, .doc | base64 |
| Plain text | .txt | raw text |
| Markdown | .md | raw text |
| CSV | .csv | raw text |
| JSON | .json | raw text |
| HTML | .html | raw text |
| XML | .xml | raw text |
| JavaScript | .js, .jsx, .mjs | raw text |
| TypeScript | .ts, .tsx | raw text |
| Python | .py | raw text |
| Java | .java | raw text |
| Go | .go | raw text |
| Rust | .rs | raw text |
| C/C++ | .c, .cpp, .h | raw text |
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 );
Found a bug or have a feature request? Open an issue.
MIT — see LICENSE.