mcpField
C
Custom Context MCP Server

Custom Context MCP Server

ローカル
github.com/omer-ayhanAI・エージェント181 週間前に更新

Custom Context MCP Server について

Custom Context MCP Serverは、JSONテンプレートに沿ってテキストから情報を抽出し、構造化します。AI生成テキストを処理する開発者向けで、テンプレートからプロンプトを作り、解析結果をネストしたJSONに再構成します。

主な機能

  1. 01テンプレートから抽出プロンプトを生成
  2. 02テキストからキーと値を抽出
  3. 03ネストしたJSONを再構成

活用シーン

  1. 01AI生成テキストの整理
  2. 02抽出データの後続アプリへの受け渡し

MCP 対応

MCP サーバーとして、テンプレートに基づくプロンプト生成とテキストのJSON変換を行う `group-text-by-json` と `text-to-json` ツールをMCPクライアントに公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Custom Context MCP サーバー

この Model Context Protocol(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. group-text-by-json を使って AI 向けのプロンプトを作成します:

    • ツールがプレースホルダーのキーを特定します:name、price、description
    • これらのキーごとに情報をグループ化するよう AI に指示するプロンプトを生成します
  3. プロンプトを AI モデルに送信し、グループ化されたテキストを受け取ります:

    name: Blue Pen
    price: $2.99
    description: A smooth-writing ballpoint pen with blue ink
    
  4. text-to-json を使って、グループ化されたテキストを JSON に変換します:

    • 結果:
    {
    	"item": {
    		"name": "Blue Pen",
    		"price": "$2.99",
    		"description": "A smooth-writing ballpoint pen with blue ink"
    	}
    }
    

テンプレート形式

テンプレートでは、有効な 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:concurrently を使って nodemon と browser-sync を同時に実行します

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

npm run dev:watch

これにより、次のような開発環境が構築されます:

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

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

npm run dev

これにより、リクエストとレスポンスを視覚的にデバッグするための MCP Inspector とともにサーバーが起動します。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。