Custom Context MCP Server

Servidor MCP de contexto personalizado

Este servidor de Protocolo de Contexto de Modelo (MCP) proporciona herramientas para estructurar y extraer datos del texto de acuerdo con plantillas JSON.

Características

Transformación de texto a JSON

  • Agrupar y estructurar texto basado en plantillas JSON con marcadores de posición
  • Extraer información de texto generado por IA en formatos JSON estructurados
  • Soporte para cualquier estructura JSON arbitraria con marcadores de posición anidados
  • Extracción inteligente de pares clave-valor del texto
  • Procesar los resultados de IA en datos estructurados para aplicaciones posteriores

Empezando

Instalación

npm install

Ejecutando el servidor

npm start

Para desarrollo con recarga en caliente:

npm run dev:watch

Uso

Este servidor MCP proporciona dos herramientas principales:

1. Agrupar texto por JSON ( group-text-by-json )

Esta herramienta toma una plantilla JSON con marcadores de posición y genera un mensaje para que una IA agrupe el texto de acuerdo con la estructura de la plantilla.

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

La herramienta analiza la plantilla, extrae claves de marcador de posición y devuelve un mensaje que guía a la IA para extraer información en un formato clave-valor.

2. Texto a JSON ( text-to-json )

Esta herramienta toma la salida de texto agrupada del paso anterior y la convierte en un objeto JSON estructurado basado en la plantilla original.

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

Extrae pares clave-valor del texto y los estructura según la plantilla.

Ejemplo de flujo de trabajo

  1. Defina una plantilla JSON con marcadores de posición:
    { "item": { "name": "<name>", "price": "<price>", "description": "<description>" } }
  2. Utilice group-text-by-json para crear un mensaje para IA:
    • La herramienta identifica claves de marcador de posición: nombre, precio, descripción
    • Genera un mensaje que indica a la IA que agrupe la información mediante estas claves
  3. Envía el mensaje a un modelo de IA y recibe texto agrupado:
    name: Blue Pen price: $2.99 description: A smooth-writing ballpoint pen with blue ink
  4. Utilice text-to-json para convertir el texto agrupado a JSON:
    • Resultado: GXP8

Formato de plantilla

Las plantillas pueden incluir marcadores de posición en cualquier lugar dentro de una estructura JSON válida:

  • Utilice corchetes angulares para definir marcadores de posición: <name> , <type> , <price> , etc.
  • La plantilla debe ser una cadena JSON válida
  • Los marcadores de posición pueden estar en cualquier nivel de anidación.
  • Admite estructuras anidadas complejas

Plantilla de ejemplo con marcadores de posición anidados:

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

Detalles de implementación

El servidor funciona mediante:

  1. Análisis de plantillas JSON para extraer claves de marcador de posición
  2. Generar indicaciones que guíen a los modelos de IA para extraer información mediante estas claves
  3. Análisis de texto generado por IA para extraer pares clave-valor
  4. Reconstrucción de objetos JSON basados en la estructura de la plantilla original

Desarrollo

Prerrequisitos

  • Node.js v18 o superior
  • npm o hilo

Construir y ejecutar

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

Recarga en caliente personalizada

Este proyecto incluye una configuración de recarga en caliente personalizada que combina:

  • nodemon : vigila los cambios de archivos en el directorio src y reconstruye los archivos TypeScript
  • browser-sync : actualiza automáticamente el navegador cuando cambian los archivos de compilación
  • Ejecución concurrente : ejecuta ambos servicios simultáneamente con sincronización de salida

La configuración se realiza en:

  • nodemon.json : controla la observación y reconstrucción de TypeScript
  • package.json : se usa simultáneamente para ejecutar nodemon y browser-sync juntos

Para utilizar la función de recarga en caliente personalizada:

npm run dev:watch

Esto crea un entorno de desarrollo donde:

  1. Los archivos TypeScript se reconstruyen automáticamente cuando se modifican
  2. El servidor MCP se reinicia con el código actualizado
  3. Los navegadores conectados se actualizan para mostrar los últimos cambios

Uso con MCP Inspector

Puede utilizar el Inspector MCP para depurar:

npm run dev

Esto ejecuta el servidor con el Inspector MCP para la depuración visual de solicitudes y respuestas.

You must be authenticated.

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

Un servidor de protocolo de contexto de modelo que transforma texto en datos JSON estructurados utilizando plantillas con marcadores de posición.

  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