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ón | Adecuada para | Costos |
|---|---|---|
| Cloudflare Workers | cargas de trabajo ligeras | Tier gratuito disponible |
| Vercel | servidores TypeScript | Tier gratuito disponible |
| Railway | aplicaciones completas | Desde $5/mes |
| AWS Lambda | soluciones escalables | Pago por uso |
| Servidor propio | control total | Variable |
Conectar con AI School
- Despliega tu servidor a una URL pública
- Ve al panel de AI School
- Haz clic en Vinculaciones → Añadir vínculo
- Ingresa la URL de tu servidor MCP
- 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
- MCP Servers GitHub - Ejemplos oficiales
Documentación
- Especificación MCP - Especificación completa del protocolo
- Documentación SDK - SDK TypeScript
Consejos de desarrollo
- Empieza simple: comienza con una herramienta y expande
- Prueba localmente: usa el MCP Inspector para depuración
- Registro: añade registros extensos para solución de problemas
- Manejo de errores: devuelve mensajes de error claros
- Limitación de tasa: protege tu servidor contra sobrecarga
Integraciones comunes
| Sistema | Herramientas posibles |
|---|---|
| LVS (Magister, Somtoday) | Consultar calificaciones, ver horarios |
| Sistemas CRM | Consultar datos de clientes, añadir notas |
| Bases de datos | Ejecutar consultas, generar informes |
| Aplicaciones propias | Cualquier API que desees exponer |
Artículos relacionados
- Zapier MCP Server - Enlaces simples sin código