keyphrases-mcp について
keyphrases-mcpは、テキストやローカルファイルからキーフレーズを抽出するMCPサーバーで、文書の要点を扱うエージェントのワークフロー向けです。KeyBERTのパイプラインでspaCyによる前処理、多言語文埋め込み、関連度の順位付け、多様性選択を行い、元のファイル内容ではなく抽出語句を返します。
主な機能
- 01テキストやファイルからキーフレーズを抽出
- 02KeyBERTによる候補語句の順位付け
- 03spaCy前処理とストップワード除去
- 04MMRによる語句の多様性選択
- 05ファイル内容を渡さず語句のみ返却
活用シーン
- 01文書のメタデータタグ作成
- 02レビューやニュースのテーマ把握
- 03テキスト分類用の特徴量準備
MCP 対応
MCPクライアントにキーフレーズ抽出ツールを提供し、許可されたローカルディレクトリ内のファイルを扱えます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
🔤 Keyphrases-MCP
LLM に本格的なキーフレーズ抽出機能を提供
以下のツールとテクノロジーを使用して構築されています:
概要
この Keyphrases MCP サーバーは、エージェント型アプリケーション向けに設計された自然言語インターフェースで、提供されたテキストからキーフレーズを抽出します。MCP(Model Context Protocol)クライアントとシームレスに連携し、BERT 機械学習モデルを使用して、AI 主導のワークフローでより正確かつ関連性の高いキーフレーズを抽出できます。許可されたディレクトリ内のローカルファイルを直接処理するため、LLM のコンテキストトークンを節約できます。アプリケーションは、元のファイル内容ではなく抽出したキーフレーズのみを MCP クライアントに公開することで、安全なドキュメント処理を実現します。
この MCP サーバーを使用すると、次のような質問ができます:
- 「ファイルからキーフレーズを 7 つ抽出してください。[ABSOLUTE_FILE_PATH]」
- 「ストップワードを無視して、指定したファイルからキーフレーズを 3 つ抽出してください。ストップワード:former, due, amount, [OTHER_STOP_WORDS]。ファイル:[ABSOLUTE_FILE_PATH]」
キーフレーズを使うと、文書全体を読まずに主要なトピックやテーマをすばやく把握でき、次のような用途に活用できます:
- デジタルライブラリでの整理や見つけやすさを向上させる、文書のタグやメタデータ
- 顧客レビュー、ソーシャルメディア、ニュース記事から特定される、新たなトレンドやセンチメント
- テキスト分類やクラスタリングなど、ほかのタスクにおける特徴量や入力
keyphrases-mcp の根拠
Claude や ChatGPT などで使われる自己回帰型 LLM モデルはテキストを逐次処理します。そのため、文書全体にわたるキーフレーズの文脈を十分に捉える能力が制限されるだけでなく、入力が長くなるにつれてコンテキストが劣化し、前半にあるキーフレーズへの注意が薄れていきます。
BERT のような双方向モデルは、左右両方の文脈を考慮し、系列全体でより一貫した注意を維持するため、特にドメイン固有のファインチューニングが適用されていない場合、テキストに含まれる既存のキーフレーズをより正確かつ高い関連性で抽出できます。
ただし、自己回帰型モデルのコンテキストウィンドウが長くなり、入力チャンク分割などの手法が採用されるにつれて、キーフレーズ抽出の性能は向上しており、BERT との差は縮まりつつあります。また、ドメイン固有のファインチューニングによって、自己回帰型 LLM モデルが BERT のソリューションを上回ることもあります。
この MCP サーバーは、キーフレーズ抽出に BERT を、テキストの生成や改善に自己回帰型 LLM を組み合わせ、シームレスなテキスト処理を実現します。
仕組み
このサーバーは、spaCy による NLP 前処理と BERT 埋め込みを組み合わせた多段階抽出パイプラインに KeyBERT フレームワークを使用します。
- 候補の生成:KeyphraseCountVectorizer が spaCy の en_core_web_trf モデルを使用して意味のあるキーフレーズ候補を特定し、ストップワードを除外します
- 意味的エンコード:候補と文書を paraphrase-multilingual-MiniLM-L12-v2 センテンストランスフォーマーで埋め込みます
- 関連度のランキング:KeyBERT が候補キーフレーズと文書の埋め込み間のコサイン類似度を計算します
- 多様性の選択:Maximal Marginal Relevance (MMR) により、多様で重複のないキーフレーズを選択します
- 最終出力:関連度と多様性が最も高い上位 N 件のキーフレーズを選択し、アルファベット順に並べ替えます
詳細については、設定ドキュメントをご覧ください。
ドキュメント
- 🚀 統合 - サーバーを MCP クライアントまたは LLM と統合する方法
- 🔧 設定 - 環境変数と設定
- 🛠️ MCP ツール - 利用可能なすべてのツール
- 🪵 開発とテスト - プロジェクトへの貢献方法
ライセンス
このプロジェクトは MIT License の下でライセンスされています。
お問い合わせ
ご質問やサポートについては、GitHub Issues からお問い合わせください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。