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
Related MCP server: mcp-data-extractor
Empezando
Instalación
npm installEjecutando el servidor
npm startPara desarrollo con recarga en caliente:
npm run dev:watchUso
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
Defina una plantilla JSON con marcadores de posición:
{ "item": { "name": "<name>", "price": "<price>", "description": "<description>" } }Utilice
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
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 inkUtilice
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:
Análisis de plantillas JSON para extraer claves de marcador de posición
Generar indicaciones que guíen a los modelos de IA para extraer información mediante estas claves
Análisis de texto generado por IA para extraer pares clave-valor
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:watchRecarga 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 TypeScriptpackage.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:watchEsto crea un entorno de desarrollo donde:
Los archivos TypeScript se reconstruyen automáticamente cuando se modifican
El servidor MCP se reinicia con el código actualizado
Los navegadores conectados se actualizan para mostrar los últimos cambios
Uso con MCP Inspector
Puede utilizar el Inspector MCP para depurar:
npm run devEsto ejecuta el servidor con el Inspector MCP para la depuración visual de solicitudes y respuestas.
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.