mcp-nlp について
mcp-nlp は FastMCP ベースの MCP サーバーで、テキストの距離と類似度を測るツールを提供します。テキスト列の比較や利用可能な指標の確認が必要な MCP クライアント向けです。
主な機能
- 01テキストの距離と類似度を測定
- 02アルゴリズムと指標を選択
- 03対応指標の一覧を取得
- 04streamable HTTP または SSE で実行
- 05任意の API キー認証を設定
活用シーン
- 01入力文と参照文を比較
- 02テキスト比較に使う指標を選択
- 03利用可能な距離指標を確認
MCP 対応
MCP クライアントにテキスト比較と指標一覧のツールを公開します。streamable HTTP と SSE に対応し、README には stdio の設定も記載されています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
mcp-nlp
MCP-NLP は、Model Context Protocol(MCP)を使用して NLP(自然言語処理)機能を提供するために設計された FastMCP アプリケーションです。
- FastMCP Framework v2:高速で Python らしい MCP サーバーを構築するための最新のフレームワークです。
- Model Context Protocol (MCP):LLM コンテキストの管理と制御を可能にするプロトコルです。
- NLP-modules
textdistance:テキスト距離の指標を計算するモジュールです
前提条件
始める前に、以下がインストールされていることを確認してください。
インストール
-
リポジトリをクローンします。
git clone https://github.com/tivaliy/mcp-nlp.git cd mcp-nlp -
依存関係をインストールします(
uvを使用)。uv sync
設定
認証モード
MCP-NLP サーバーは、次の 2 つの認証モードをサポートしています。
-
認証なしモード(デフォルト):
- サーバーへのアクセスに API キーは不要です
- 環境変数
API_KEY_ENABLED=Falseを設定します
-
API キー認証:
- リクエストヘッダーに有効な API キーが必要です
- 環境変数
API_KEY_ENABLED=TrueとAPI_KEY=your-secret-keyを設定します - デフォルトのヘッダー名は
X-API-Keyです(API_KEY_NAMEで変更できます)
.env ファイルの例:
# Authentication configuration
API_KEY_ENABLED=True
API_KEY=not-a-secret
# API_KEY_NAME=X-API-Key # Optional: customize header name
利用可能なツール
MCP-NLP サーバーは現在、次の MCP ツールを提供しています。
テキスト距離モジュール
さまざまなアルゴリズムを使用して、テキストシーケンス間の類似度/距離を計算します。
-
#textdistance_measure:- 目的:2 つの文字列シーケンス間のテキスト距離を測定します
- パラメーター:
source(必須):ソーステキスト文字列reference(必須):比較対象となる参照テキスト文字列algorithm(任意):使用するアルゴリズム(デフォルト:levenshtein)metric(任意):使用する指標(デフォルト:normalized_similarity)
- 戻り値:計算された距離/類似度を表す浮動小数点数
-
#textdistance_list_metrics:- 目的:テキスト距離アルゴリズムでサポートされているすべての指標を一覧表示します
- パラメーター:なし
- 戻り値:利用可能な指標のリスト:
distance、similarity、normalized_distance、normalized_similarity、maximum
-
サポートされている指標:
distance:未加工の距離スコアsimilarity:未加工の類似度スコアnormalized_distance:0~1 の範囲に正規化された距離normalized_similarity:0~1 の範囲に正規化された類似度(デフォルト)maximum:アルゴリズムで取り得る最大値
-
デフォルトのアルゴリズム:
Levenshtein
使用方法
ローカルでの実行
アプリケーションをローカルで実行するには:
-
FastMCP アプリケーションを起動します。
mcp-nlp --transport streamable-http -
(
streamable-httpトランスポートの場合)http://127.0.0.1:8000/mcpの MCP サーバーエンドポイントにアクセスします。
Docker を使用した MCP サーバーの実行
Docker コンテナーで MCP サーバーを実行するには:
-
Docker イメージをビルドします。
docker build -t mcp-nlp . -
Docker コンテナーを実行します。
docker run --rm -e TRANSPORT=streamable-http -p 8000:8000 mcp-nlp -
(
streamable-httpトランスポートの場合)http://127.0.0.1:8000/mcpの MCP サーバーエンドポイントにアクセスします。
Docker コンテナーを実行する際は、環境変数 TRANSPORT を streamable-http または sse に設定してください。
VS Code との統合
MCP-NLP サーバーを VS Code で使用するには:
-
MCP-NLP サーバーが実行中であることを確認します
-
VS Code の
settings.jsonにサーバー設定を追加します(stdioトランスポートを使用)。{ "servers": { "mcp-nlp": { "type": "stdio", "command": "${workspaceFolder}/.venv/bin/mcp-nlp", "env": { "API_KEY_ENABLED": "false" } } } } -
VS Code で MCP を有効にします。
"chat.mcp.enabled": true, "github.copilot.advanced": { "mcp.enabled": true } -
これで GitHub Copilot を通じて、MCP-NLP ツールを VS Code から直接使用できます
MCP | Model Context Protocol | FastMCP | NLP
ライセンス
このプロジェクトは MIT ライセンスのもとで公開されています。詳細は LICENSE ファイルを参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。