Custom Context MCP Server
カスタムコンテキストMCPサーバー
このモデル コンテキスト プロトコル (MCP) サーバーは、JSON テンプレートに従ってテキストを構造化し、テキストからデータを抽出するためのツールを提供します。
特徴
テキストからJSONへの変換
プレースホルダー付きのJSONテンプレートに基づいてテキストをグループ化および構造化する
AI生成テキストから情報を抽出し、構造化されたJSON形式に変換する
ネストされたプレースホルダーを持つ任意の JSON 構造のサポート
テキストからのキーと値のペアのインテリジェントな抽出
AI出力を下流アプリケーション向けの構造化データに処理する
Related MCP server: Unstructured Document Processor MCP
はじめる
インストール
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"
}テキストからキーと値のペアを抽出し、テンプレートに従って構造化します。
ワークフローの例
プレースホルダーを含む JSON テンプレートを定義します。
{ "item": { "name": "<name>", "price": "<price>", "description": "<description>" } }AI のプロンプトを作成するには、
group-text-by-jsonを使用します。このツールはプレースホルダーキー(名前、価格、説明)を識別します。
AIにこれらのキーで情報をグループ化するように指示するプロンプトを生成します
プロンプトを AI モデルに送信し、グループ化されたテキストを受信します。
name: Blue Pen price: $2.99 description: A smooth-writing ballpoint pen with blue inkグループ化されたテキストを 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"
}
}実装の詳細
サーバーは次のように動作します:
JSONテンプレートを分析してプレースホルダーキーを抽出する
これらのキーで情報を抽出できるようにAIモデルを誘導するプロンプトを生成する
AI生成テキストを解析してキーと値のペアを抽出する
元のテンプレート構造に基づいて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これにより、次のような開発環境が作成されます。
TypeScriptファイルは変更されると自動的に再構築されます
MCPサーバーは更新されたコードで再起動します
接続されたブラウザは最新の変更を表示するために更新されます
MCP Inspectorと併用
デバッグには MCP Inspector を使用できます。
npm run devこれにより、リクエストと応答を視覚的にデバッグするための MCP Inspector を使用してサーバーが実行されます。
Available Tools
2 toolsgroup-text-by-jsonC
Gives a prompt text for AI to group text based on JSON placeholders. This tool accepts a JSON template with placeholders.
| Name | Required | Description | Default |
|---|---|---|---|
| template | Yes | JSON template with placeholders |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the tool 'gives a prompt text' but does not explain what happens next—e.g., whether it returns a prompt for AI processing, requires additional steps, or has any side effects like rate limits or authentication needs. This leaves key behavioral traits unspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences that directly address the tool's function and input. It avoids unnecessary details and is front-loaded with the core purpose. However, it could be more structured by explicitly separating usage guidelines or behavioral context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It does not explain what the tool returns (e.g., the prompt text format or any output structure), nor does it cover behavioral aspects like error handling or prerequisites. For a tool with no structured support, the description should provide more context to be fully helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds minimal meaning beyond the input schema, which has 100% coverage for the single parameter 'template.' It restates that the tool 'accepts a JSON template with placeholders,' mirroring the schema's description. Since schema coverage is high, the baseline score is 3, as the description does not significantly enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool 'gives a prompt text for AI to group text based on JSON placeholders,' which provides a vague purpose. It mentions the action ('gives a prompt text') and resource ('JSON placeholders'), but lacks specificity about what 'group text' means or how the prompt is used. It does not clearly distinguish from sibling tool 'text-to-json,' leaving ambiguity in its exact function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no guidance on when to use this tool versus alternatives. It does not mention the sibling tool 'text-to-json' or provide context for choosing between them. Without explicit usage instructions or exclusions, users must infer when this tool is appropriate, leading to potential misuse.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
text-to-jsonB
Converts groupped text from group-text-by-json tool to JSON. This tool accepts a JSON template with placeholders and groupped text from group-text-by-json tool.
| Name | Required | Description | Default |
|---|---|---|---|
| template | Yes | JSON template with placeholders | |
| text | Yes | Groupped text from groupTextByJson tool |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It describes the conversion process but lacks details on error handling, output format, or any constraints (e.g., template syntax, validation rules). For a tool with no annotations, this leaves significant gaps in understanding how it behaves beyond the basic operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences that directly state the tool's function and inputs. It avoids unnecessary words and is front-loaded with the core purpose. However, the repetition of 'group-text-by-json tool' could be slightly streamlined, and it lacks structural elements like bullet points for clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (data transformation with two parameters), lack of annotations, and no output schema, the description is incomplete. It covers the basic operation but misses details on output format, error cases, or example usage. While it mentions the sibling tool, more context on the overall workflow would improve completeness for effective agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters ('template' and 'text') with clear descriptions. The description adds minimal value by repeating that it accepts a 'JSON template with placeholders' and 'groupped text from groupTextByJson tool', but doesn't provide additional semantics beyond what the schema states. This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: converting grouped text to JSON using a template. It specifies the verb 'converts' and the resource 'groupped text from group-text-by-json tool', making the action and input source explicit. However, it doesn't fully distinguish from its sibling 'group-text-by-json' beyond mentioning it as the source, missing an opportunity to clarify the workflow relationship more distinctly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by specifying that it accepts input from 'group-text-by-json tool', suggesting a sequential workflow. However, it lacks explicit guidance on when to use this tool versus alternatives (e.g., direct JSON creation tools) or any prerequisites beyond having the grouped text. No exclusions or clear when-not-to-use scenarios are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
v1.0.0- First observed
group-text-by-json - First observed
text-to-json
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: group-text-by-json prepares text for grouping based on a JSON template, while text-to-json converts that grouped text into JSON. There is no overlap or ambiguity between them, as they represent sequential steps in a workflow.
Both tools follow a consistent verb-noun pattern with hyphens (group-text-by-json and text-to-json), clearly indicating their actions and targets. The naming is predictable and readable across the set.
With only 2 tools, the server feels thin for its apparent purpose of custom context management. This minimal set may limit functionality and require agents to work around gaps, as typical context-related operations might include more than just grouping and conversion.
The tool surface is severely incomplete for a custom context server. It lacks core operations such as creating, updating, deleting, or retrieving context entries, and only covers a narrow text-to-JSON conversion workflow, leaving significant gaps that will likely cause agent failures.
Maintenance
Related MCP Connectors
A Model Context Protocol server for Wix AI tools
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Model Context Protocol server for the Apideck Unified API. Connect any MCP-compatible agent framework to 100+ accounting systems, HRIS platforms, file storage providers, and more through one integration. More information https://www.apideck.com/mcp-server
Hosted MCP server: convert PDFs to clean, LLM-ready Markdown with tables, formulas and OCR.
Related MCP Servers
- AlicenseCqualityFmaintenanceA Model Context Protocol server implementation that enables LLMs to query and manipulate JSON data using JSONPath syntax with extended operations for filtering, sorting, transforming, and aggregating data.236 npm90MIT
- FlicenseBqualityDmaintenanceA Model Context Protocol server that enables LLMs to extract and use content from unstructured documents across a wide variety of file formats.111-
- FlicenseAqualityDmaintenanceA Model Context Protocol server for querying large JSON files using JSONPath expressions, enabling LLMs to efficiently search and extract information from large JSON data.311-
- -licenseBqualityNot gradedmaintenanceA Model Context Protocol server that enables AI models to extract structured data from websites through the extract\_structured\_data tool.121 npm-