カスタムコンテキストMCPサーバー
このモデル コンテキスト プロトコル (MCP) サーバーは、JSON テンプレートに従ってテキストを構造化し、テキストからデータを抽出するためのツールを提供します。
特徴
テキストからJSONへの変換
- プレースホルダー付きのJSONテンプレートに基づいてテキストをグループ化および構造化する
- AI生成テキストから情報を抽出し、構造化されたJSON形式に変換する
- ネストされたプレースホルダーを持つ任意の JSON 構造のサポート
- テキストからのキーと値のペアのインテリジェントな抽出
- AI出力を下流アプリケーション向けの構造化データに処理する
はじめる
インストール
サーバーの実行
ホットリロードを使用した開発の場合:
使用法
この MCP サーバーは、主に 2 つのツールを提供します。
1. JSONでテキストをグループ化する( group-text-by-json
)
このツールは、プレースホルダー付きの JSON テンプレートを受け取り、テンプレートの構造に従って AI がテキストをグループ化するためのプロンプトを生成します。
このツールはテンプレートを分析し、プレースホルダー キーを抽出し、キーと値の形式で情報を抽出できるように AI をガイドするプロンプトを返します。
2. テキストからJSONへ( text-to-json
)
このツールは、前のステップでグループ化されたテキスト出力を取得し、元のテンプレートに基づいて構造化された JSON オブジェクトに変換します。
テキストからキーと値のペアを抽出し、テンプレートに従って構造化します。
ワークフローの例
- プレースホルダーを含む JSON テンプレートを定義します。Copy
- AI のプロンプトを作成するには、
group-text-by-json
を使用します。- このツールはプレースホルダーキー(名前、価格、説明)を識別します。
- AIにこれらのキーで情報をグループ化するように指示するプロンプトを生成します
- プロンプトを AI モデルに送信し、グループ化されたテキストを受信します。Copy
- グループ化されたテキストを JSON に変換するには、
text-to-json
を使用します。- 結果: GXP8
テンプレート形式
テンプレートには、有効な JSON 構造内の任意の場所にプレースホルダーを含めることができます。
- 山括弧を使用してプレースホルダーを定義します:
<name>
、<type>
、<price>
など。 - テンプレートは有効なJSON文字列である必要があります
- プレースホルダはどの階層にあっても構いません
- 複雑なネスト構造をサポート
ネストされたプレースホルダーを含むテンプレートの例:
実装の詳細
サーバーは次のように動作します:
- JSONテンプレートを分析してプレースホルダーキーを抽出する
- これらのキーで情報を抽出できるようにAIモデルを誘導するプロンプトを生成する
- AI生成テキストを解析してキーと値のペアを抽出する
- 元のテンプレート構造に基づいてJSONオブジェクトを再構築する
発達
前提条件
- Node.js v18以上
- npmまたはyarn
ビルドと実行
カスタムホットリロード
このプロジェクトには、以下を組み合わせたカスタム ホット リロード セットアップが含まれています。
- nodemon : src ディレクトリ内のファイルの変更を監視し、TypeScript ファイルを再構築します。
- browser-sync : ビルドファイルが変更されるとブラウザを自動的に更新します
- 同時実行:出力同期で両方のサービスを同時に実行します
セットアップは次の場所で構成されます:
nodemon.json
: TypeScriptの監視と再構築を制御するpackage.json
: nodemon と browser-sync を同時に実行するために使用します
カスタム ホット リロード機能を使用するには:
これにより、次のような開発環境が作成されます。
- TypeScriptファイルは変更されると自動的に再構築されます
- MCPサーバーは更新されたコードで再起動します
- 接続されたブラウザは最新の変更を表示するために更新されます
MCP Inspectorと併用
デバッグには MCP Inspector を使用できます。
これにより、リクエストと応答を視覚的にデバッグするための MCP Inspector を使用してサーバーが実行されます。
You must be authenticated.
プレースホルダー付きのテンプレートを使用してテキストを構造化された JSON データに変換するモデル コンテキスト プロトコル サーバー。