Ir al contenido principal

Servidor MCP Propio

Para integraciones avanzadas, puedes construir un servidor MCP propio. Esto da control total sobre la funcionalidad y es ideal para integraciones con sistemas propios o aplicaciones no soportadas.

¿Cuándo un servidor MCP propio?

Un servidor MCP propio es adecuado cuando:

  • Quieres integrarte con una aplicación o base de datos propias
  • La integración deseada no está disponible en Zapier
  • Tienes requisitos de seguridad específicos
  • Necesitas lógica compleja en las herramientas

Conocimientos requeridos

Para construir un servidor MCP propio necesitas:

  • Experiencia en programación (TypeScript/JavaScript o Python)
  • Conocimiento de REST APIs
  • Conocimientos básicos de servidores y hosting

Protocolo de Contexto de Modelo

El Protocolo de Contexto de Modelo (MCP) es un estándar abierto desarrollado por Anthropic. Los servidores MCP pueden usarse con:

  • AI School
  • ChatGPT
  • Claude
  • Visual Studio Code con Copilot
  • Otras aplicaciones compatibles con MCP

Inicio rápido con TypeScript

1. Crear proyecto

mkdir mi-servidor-mcp
cd mi-servidor-mcp
npm init -y
npm install @modelcontextprotocol/sdk

2. Código del servidor

import { Server } from "@modelcontextprotocol/sdk/server";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio";

const server = new Server({
name: "mi-servidor",
version: "1.0.0",
});

// Define tus herramientas
server.setRequestHandler("tools/list", async () => ({
tools: [
{
name: "mi_herramienta",
description: "Descripción de lo que hace la herramienta",
inputSchema: {
type: "object",
properties: {
parameter: {
type: "string",
description: "Un parámetro",
},
},
required: ["parameter"],
},
},
],
}));

// Implementar la herramienta
server.setRequestHandler("tools/call", async (request) => {
if (request.params.name === "mi_herramienta") {
const { parameter } = request.params.arguments;
// Hacer algo con el parámetro
return {
content: [{ type: "text", text: `Resultado: ${parameter}` }],
};
}
});

// Iniciar el servidor
const transport = new StdioServerTransport();
server.connect(transport);

3. Ejecutar el servidor

npx ts-node server.ts

Transporte HTTP para AI School

AI School soporta servidores MCP vía HTTP. Tu servidor debe exponer un endpoint que acepte mensajes MCP:

import express from 'express';

const app = express();
app.use(express.json());

app.post('/mcp', async (req, res) => {
const { method, params } = req.body;

if (method === 'tools/list') {
res.json({ tools: [...] });
} else if (method === 'tools/call') {
// Procesar la llamada a la herramienta
res.json({ content: [...] });
}
});

app.listen(3000);

Opciones de hosting

Tu servidor MCP debe estar accesible por internet:

OpciónAdecuada paraCostos
Cloudflare Workerscargas de trabajo ligerasTier gratuito disponible
Vercelservidores TypeScriptTier gratuito disponible
Railwayaplicaciones completasDesde $5/mes
AWS Lambdasoluciones escalablesPago por uso
Servidor propiocontrol totalVariable

Conectar con AI School

  1. Despliega tu servidor a una URL pública
  2. Ve al panel de AI School
  3. Haz clic en VinculacionesAñadir vínculo
  4. Ingresa la URL de tu servidor MCP
  5. Configura cualquier autenticación

Autenticación

Puedes añadir autenticación a tu servidor MCP:

Autenticación por API Key

app.post("/mcp", (req, res, next) => {
const apiKey = req.headers["x-api-key"];
if (apiKey !== process.env.API_KEY) {
return res.status(401).json({ error: "Unauthorized" });
}
next();
});

En AI School selecciona "API Key" como método de autenticación.

OAuth 2.0

Para autenticación más compleja, puedes implementar OAuth 2.0. AI School admite OAuth 2.1 para servidores MCP.

Ejemplos y recursos

Servidores MCP oficiales

Documentación

Consejos de desarrollo

  1. Empieza simple: comienza con una herramienta y expande
  2. Prueba localmente: usa el MCP Inspector para depuración
  3. Registro: añade registros extensos para solución de problemas
  4. Manejo de errores: devuelve mensajes de error claros
  5. Limitación de tasa: protege tu servidor contra sobrecarga

Integraciones comunes

SistemaHerramientas posibles
LVS (Magister, Somtoday)Consultar calificaciones, ver horarios
Sistemas CRMConsultar datos de clientes, añadir notas
Bases de datosEjecutar consultas, generar informes
Aplicaciones propiasCualquier API que desees exponer

Artículos relacionados