Custom Context MCP Server

カスタムコンテキストMCPサーバー

このモデル コンテキスト プロトコル (MCP) サーバーは、JSON テンプレートに従ってテキストを構造化し、テキストからデータを抽出するためのツールを提供します。

特徴

テキストからJSONへの変換

  • プレースホルダー付きのJSONテンプレートに基づいてテキストをグループ化および構造化する
  • AI生成テキストから情報を抽出し、構造化されたJSON形式に変換する
  • ネストされたプレースホルダーを持つ任意の JSON 構造のサポート
  • テキストからのキーと値のペアのインテリジェントな抽出
  • AI出力を下流アプリケーション向けの構造化データに処理する

はじめる

インストール

npm install

サーバーの実行

npm start

ホットリロードを使用した開発の場合:

npm run dev:watch

使用法

この MCP サーバーは、主に 2 つのツールを提供します。

1. JSONでテキストをグループ化する( group-text-by-json

このツールは、プレースホルダー付きの JSON テンプレートを受け取り、テンプレートの構造に従って AI がテキストをグループ化するためのプロンプトを生成します。

{ "template": "{ \"type\": \"<type>\", \"text\": \"<text>\" }" }

このツールはテンプレートを分析し、プレースホルダー キーを抽出し、キーと値の形式で情報を抽出できるように AI をガイドするプロンプトを返します。

2. テキストからJSONへ( text-to-json

このツールは、前のステップでグループ化されたテキスト出力を取得し、元のテンプレートに基づいて構造化された JSON オブジェクトに変換します。

{ "template": "{ \"type\": \"<type>\", \"text\": \"<text>\" }", "text": "type: pen\ntext: This is a blue pen" }

テキストからキーと値のペアを抽出し、テンプレートに従って構造化します。

ワークフローの例

  1. プレースホルダーを含む JSON テンプレートを定義します。
    { "item": { "name": "<name>", "price": "<price>", "description": "<description>" } }
  2. AI のプロンプトを作成するには、 group-text-by-jsonを使用します。
    • このツールはプレースホルダーキー(名前、価格、説明)を識別します。
    • AIにこれらのキーで情報をグループ化するように指示するプロンプトを生成します
  3. プロンプトを AI モデルに送信し、グループ化されたテキストを受信します。
    name: Blue Pen price: $2.99 description: A smooth-writing ballpoint pen with blue ink
  4. グループ化されたテキストを JSON に変換するには、 text-to-jsonを使用します。
    • 結果: GXP8

テンプレート形式

テンプレートには、有効な JSON 構造内の任意の場所にプレースホルダーを含めることができます。

  • 山括弧を使用してプレースホルダーを定義します: <name><type><price>など。
  • テンプレートは有効なJSON文字列である必要があります
  • プレースホルダはどの階層にあっても構いません
  • 複雑なネスト構造をサポート

ネストされたプレースホルダーを含むテンプレートの例:

{ "product": { "details": { "name": "<name>", "category": "<category>" }, "pricing": { "amount": "<price>", "currency": "USD" } }, "metadata": { "timestamp": "2023-09-01T12:00:00Z" } }

実装の詳細

サーバーは次のように動作します:

  1. JSONテンプレートを分析してプレースホルダーキーを抽出する
  2. これらのキーで情報を抽出できるようにAIモデルを誘導するプロンプトを生成する
  3. AI生成テキストを解析してキーと値のペアを抽出する
  4. 元のテンプレート構造に基づいてJSONオブジェクトを再構築する

発達

前提条件

  • Node.js v18以上
  • npmまたはyarn

ビルドと実行

# Install dependencies npm install # Build the project npm run build # Run the server npm start # Development with hot reloading npm run dev:watch

カスタムホットリロード

このプロジェクトには、以下を組み合わせたカスタム ホット リロード セットアップが含まれています。

  • nodemon : src ディレクトリ内のファイルの変更を監視し、TypeScript ファイルを再構築します。
  • browser-sync : ビルドファイルが変更されるとブラウザを自動的に更新します
  • 同時実行:出力同期で両方のサービスを同時に実行します

セットアップは次の場所で構成されます:

  • nodemon.json : TypeScriptの監視と再構築を制御する
  • package.json : nodemon と browser-sync を同時に実行するために使用します

カスタム ホット リロード機能を使用するには:

npm run dev:watch

これにより、次のような開発環境が作成されます。

  1. TypeScriptファイルは変更されると自動的に再構築されます
  2. MCPサーバーは更新されたコードで再起動します
  3. 接続されたブラウザは最新の変更を表示するために更新されます

MCP Inspectorと併用

デバッグには MCP Inspector を使用できます。

npm run dev

これにより、リクエストと応答を視覚的にデバッグするための MCP Inspector を使用してサーバーが実行されます。

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

プレースホルダー付きのテンプレートを使用してテキストを構造化された JSON データに変換するモデル コンテキスト プロトコル サーバー。

  1. Features
    1. Text-to-JSON Transformation
  2. Getting Started
    1. Installation
    2. Running the server
  3. Usage
    1. 1. Group Text by JSON (group-text-by-json)
    2. 2. Text to JSON (text-to-json)
  4. Example Workflow
    1. Template Format
      1. Implementation Details
        1. Development
          1. Prerequisites
          2. Build and Run
          3. Custom Hot Reloading
          4. Using with MCP Inspector
        ID: v4xoule0aw