Construyendo un servidor MCP mínimo

Un servidor mínimo expone una capacidad limitada con argumentos y resultados predecibles.

lo que aprenderás

  • Explique: host, cliente y servidor.
  • Aplique la idea en un ejemplo: creación de un servidor MCP mínimo
  • Reconocer las limitaciones y verificar el resultado del ejercicio.

Un servidor mínimo expone una capacidad limitada con argumentos y resultados predecibles. Comience con acciones ficticias y sin escrituras.

Este es un laboratorio conceptual o externo. No asume que la aplicación expone todos los controles descritos.

Cómo funciona, paso a paso

Controlador de demostración y pruebas.

El controlador de demostración siguiente utiliza únicamente datos ficticios. Para un servidor MCP real, regístrelo con el SDK y transporte elegido, luego pruebe el descubrimiento y las llamadas con un cliente compatible. stdio se adapta a los subprocesos locales; HTTP transmitible se adapta a puntos finales remotos. Verifique explícitamente la compatibilidad con SSE heredado o revisiones más recientes.

const stock = new Map([['LX-240', 3], ['P-12', 5], ['A-7', 2]]);

function getProductStock(input) {
    if (!input || typeof input.sku !== 'string' || !input.sku.trim())
        throw new TypeError('A nonempty sku is required.');
    const sku = input.sku.trim();
    return stock.has(sku)
        ? { status: 'found', sku, quantity: stock.get(sku), synthetic: true }
        : { status: 'not_found', sku, synthetic: true };
}

console.log(getProductStock({ sku: 'LX-240' }));
// { status: 'found', sku: 'LX-240', quantity: 3, synthetic: true }

El esquema explicativo

Construyendo un servidor MCP mínimo Siga las flechas sólidas para el flujo principal. Las flechas azules discontinuas proporcionan datos o contexto; Las flechas discontinuas de color rosa muestran comentarios o resultados devueltos. Colores y formas distinguen modelos, tiendas, decisiones y resultados. Conexiones: cliente MCP → servidor MCP; servidor MCP → Validar argumentos y permisos.; Validar argumentos y permisos. → Manipuladora de herramientas; Manipuladora de herramientas → Datos bursátiles ficticios; Datos bursátiles ficticios → Resultados de la herramienta; Resultados de la herramienta → Pruebas de patio de recreo; Pruebas de patio de recreo → Verificación humana; Esquema de entrada/salida → Validar argumentos y permisos.; Transporte y autenticación → servidor MCP; Conjunto de datos de evaluación → Pruebas de patio de recreo. M04 · mapa de relaciones Construyendo un servidor MCP mínimo Tratamiento cliente MCP Datos Esquema de entrada/salida Decisión/control Transporte y autenticación Herramienta / servicio servidor MCP Decisión/control Validar argumentos y permisos. Tratamiento Manipuladora de herramientas Tienda/índice Datos bursátiles ficticios Datos Resultados de la herramienta Tienda/índice Conjunto de datos de evaluación Tratamiento Pruebas de patio de recreo Decisión/control Verificación humana Flujo principal Datos y contexto Comentarios y devolución

Siga las flechas sólidas para el flujo principal. Las flechas azules discontinuas proporcionan datos o contexto; Las flechas discontinuas de color rosa muestran comentarios o resultados devueltos. Colores y formas distinguen modelos, tiendas, decisiones y resultados. En pantallas pequeñas, desplázate horizontalmente para seguir todo el esquema.

Un ejemplo completo

get_product_stock acepta un sku de cadena. LX-240 devuelve cantidad=3; El SKU desconocido devuelve not_found en lugar de cero. Un servidor real también comprueba los permisos del catálogo.

{"name":"get_product_stock","description":"Read fictional stock; never reserve it","inputSchema":{"type":"object","properties":{"sku":{"type":"string","minLength":1}},"required":["sku"],"additionalProperties":false}}

Pruébalo tú mismo

  1. Implemente el contrato utilizando el dispositivo y pruebe las entradas faltantes, desconocidas y válidas.
  2. Registre la entrada, la fuente y el resultado esperado antes de ejecutar el experimento. Utilice únicamente los datos ficticios del ejemplo.
  3. Siga las etapas del diagrama. En cada paso registre qué información se recibe y se produce; No confunda el resultado intermedio con el resultado final.
  4. Repita después de eliminar la información necesaria o hacer que la entrada sea ambigua. Compruebe si el sistema aclara, detiene o inventa una respuesta.
  5. Comparar con la solución explicada. Conserve la configuración, fecha, resultado y una explicación de las diferencias. Cambie una cosa y vuelva a probar.

Una solución explicada

El contrato distingue lo encontrado, lo no encontrado y lo fallido para que los clientes no tengan que adivinar. Un ejercicio exitoso le permite mostrar la conexión entre los aportes, las etapas y el resultado. Cuando falta información, una respuesta cautelosa es más útil que detalles inventados. Compare más que estilo: compruebe también las condiciones, las fuentes y las operaciones.

Cuándo resulta útil y cuáles son sus límites

Pin SDK y revisión de protocolo; un ejemplo de contrato no es un apretón de manos completo. Elija este enfoque cuando mejore una necesidad medida. Mantenga una línea de base simple y compare los resultados utilizando insumos idénticos. Un ejemplo exitoso no establece confiabilidad en todas las situaciones.

Comprueba lo que has aprendido

¿Un servidor con herramientas ofrece automáticamente recursos e indicaciones?

No. Las capacidades son opcionales y deben descubrirse y comprobarse.

¿Quién ejecuta una llamada propuesta por el modelo?

La aplicación o servicio de alojamiento después de la validación. El modelo no obtiene automáticamente acceso ilimitado.

¿Qué resultado debería producir este ejercicio?

El contrato distingue lo encontrado, lo no encontrado y lo fallido para que los clientes no tengan que adivinar.

Términos que conviene recordar

  • servidor MCP: Un servicio que expone capacidades a través del Protocolo de contexto modelo.
  • Llamada de herramientas: una solicitud estructurada para utilizar una capacidad externa.
  • Autorizar / Autorización: Comprobar el derecho de acceso a una operación o recurso.

Fuentes y su próximo paso

Para preparar: M03: seguridad y solución de problemas de MCP