Resumen
El Protocolo de Contexto del Modelo (MCP) es un estándar para conectar asistentes de IA a fuentes de datos externas y APIs. Permite que Claude Desktop, Cursor y otras herramientas de IA accedan a tu API de forma segura. Modern PetstoreAPI implementa MCP para que los asistentes de IA puedan buscar mascotas, realizar pedidos y gestionar el inventario a través del lenguaje natural.
Introducción
Le preguntas a Claude Desktop: “Muéstrame gatos disponibles por menos de $300.” Claude responde: “No tengo acceso a los datos de la tienda de mascotas.” Necesitas copiar/pegar de tu API, interrumpiendo tu flujo de trabajo.
Con MCP (Protocolo de Contexto del Modelo), Claude puede acceder a tu API directamente. Haces la misma pregunta, y Claude consulta la PetstoreAPI, filtra los resultados y te muestra los gatos disponibles por menos de $300.
Modern PetstoreAPI implementa MCP, permitiendo que los asistentes de IA interactúen con la tienda de mascotas a través del lenguaje natural.
Si estás construyendo APIs para la integración de IA, Apidog te ayuda a probar las implementaciones de MCP y a validar las interacciones de los asistentes de IA.
¿Qué es MCP?
MCP es un protocolo creado por Anthropic para conectar asistentes de IA a recursos externos.
El Problema que Resuelve MCP
Los asistentes de IA son potentes pero están aislados. No pueden:
- Acceder a las APIs internas de tu empresa
- Consultar tu base de datos
- Leer archivos de tu sistema de archivos
- Interactuar con servicios externos
MCP proporciona una forma estándar para que los asistentes de IA se conecten a estos recursos de forma segura.
Componentes de MCP
- 1. Servidor MCP - Expone recursos y herramientas a los asistentes de IA
- 2. Cliente MCP - Asistente de IA (Claude Desktop, Cursor, etc.)
- 3. Recursos - Datos que la IA puede leer (archivos, registros de bases de datos, respuestas de API)
- 4. Herramientas - Acciones que la IA puede realizar (crear pedido, actualizar mascota, buscar inventario)
Arquitectura de MCP
AI Assistant (Claude Desktop)
↓ MCP Protocol
MCP Server (PetstoreAPI MCP Server)
↓ Internal APIs
PetstoreAPI Backend
↓
Database
Cómo Funciona MCP
1. Registro del Servidor
Configura Claude Desktop para conectarse al servidor MCP:
{
"mcpServers": {
"petstore": {
"command": "node",
"args": ["/path/to/petstore-mcp-server.js"],
"env": {
"PETSTORE_API_KEY": "your-api-key"
}
}
}
}
2. Descubrimiento de Herramientas
El asistente de IA pregunta: “¿Qué herramientas están disponibles?”
El servidor MCP responde:
{
"tools": [
{
"name": "search_pets",
"description": "Search for pets by species, status, and price",
"inputSchema": {
"type": "object",
"properties": {
"species": {"type": "string", "enum": ["CAT", "DOG"]},
"maxPrice": {"type": "number"},
"status": {"type": "string", "enum": ["AVAILABLE", "ADOPTED"]}
}
}
},
{
"name": "create_order",
"description": "Place an order for a pet",
"inputSchema": {
"type": "object",
"properties": {
"petId": {"type": "string"},
"userId": {"type": "string"}
},
"required": ["petId", "userId"]
}
}
]
}
3. Ejecución de Herramientas
El usuario pregunta: “Muéstrame gatos disponibles por menos de $300”
El asistente de IA llama:
{
"tool": "search_pets",
"arguments": {
"species": "CAT",
"status": "AVAILABLE",
"maxPrice": 300
}
}
El servidor MCP ejecuta:
async function search_pets({ species, status, maxPrice }) {
const response = await fetch(
`https://petstoreapi.com/v1/pets?species=${species}&status=${status}&maxPrice=${maxPrice}`
);
return await response.json();
}
Devuelve los resultados a la IA, que los formatea para el usuario.
MCP vs. APIs Tradicionales
| Característica | API Tradicional | MCP |
|---|---|---|
| Acceso | HTTP Directo | A través del asistente de IA |
| Interfaz | REST/GraphQL | Lenguaje natural |
| Autenticación | Claves API, OAuth | El servidor MCP gestiona la autenticación |
| Descubrimiento | Documentación OpenAPI | Esquemas de herramientas |
| Uso | Código/curl | Conversacional |
| Gestión de Errores | Códigos de estado HTTP | La IA interpreta los errores |
Comparación de Ejemplos
API Tradicional:
curl -H "Authorization: Bearer token" \
"https://petstoreapi.com/v1/pets?species=CAT&maxPrice=300"
MCP:
User: "Show me available cats under $300"
AI: [Calls search_pets tool, formats results]
"Here are 5 available cats under $300:
1. Fluffy - $250
2. Whiskers - $280
..."
Cómo Modern PetstoreAPI Implementa MCP
Modern PetstoreAPI proporciona un servidor MCP.
Herramientas Disponibles
- 1. search_pets - Buscar mascotas por criterios
- 2. get_pet - Obtener detalles de la mascota
- 3. create_order - Realizar un pedido
- 4. get_inventory - Verificar inventario
- 5. update_pet_status - Actualizar estado de la mascota
Ejemplo: Buscar y Pedir
Usuario: “Encuéntrame un perro por menos de $500 y haz un pedido”
Flujo de trabajo de la IA:
1. Call search_pets({species: "DOG", maxPrice: 500})
2. Show results to user
3. User confirms: "Order the Labrador"
4. Call create_order({petId: "019b4132", userId: "user-456"})
5. Confirm order placed
Código del Servidor MCP
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
const server = new Server({
name: 'petstore-mcp',
version: '1.0.0'
}, {
capabilities: {
tools: {}
}
});
server.setRequestHandler('tools/list', async () => ({
tools: [
{
"name": "search_pets",
"description": "Search for pets",
"inputSchema": {
"type": "object",
"properties": {
"species": { "type": "string" },
"maxPrice": { "type": "number" }
}
}
}
]
}));
server.setRequestHandler('tools/call', async (request) => {
const { name, arguments: args } = request.params;
if (name === 'search_pets') {
const response = await fetch(
`https://petstoreapi.com/v1/pets?${new URLSearchParams(args)}`
);
return { content: [{ type: 'text', text: JSON.stringify(await response.json()) }] };
}
});
const transport = new StdioServerTransport();
await server.connect(transport);
Probando MCP con Apidog
Apidog ayuda a probar las implementaciones de MCP:
- Probar que las APIs subyacentes funcionan correctamente
- Validar que los esquemas de herramientas coinciden con los contratos de la API
- Probar el manejo de errores
- Verificar los flujos de autenticación
Por Qué MCP Importa
1. APIs Nativas de IA
Las APIs se vuelven accesibles a través del lenguaje natural. Los usuarios no técnicos pueden interactuar con tu API a través de asistentes de IA.
2. Estandarización
MCP se está convirtiendo en el estándar para la integración IA-API. Sopórtalo una vez, funciona con todos los clientes MCP.
3. Seguridad
Los servidores MCP manejan la autenticación. Los asistentes de IA no necesitan acceso directo a la API.
4. Componibilidad
Los asistentes de IA pueden combinar múltiples servidores MCP, creando flujos de trabajo entre servicios.
Conclusión
MCP une a los asistentes de IA y las APIs. Modern PetstoreAPI implementa MCP, permitiendo que Claude Desktop y otras herramientas de IA interactúen con la tienda de mascotas a través del lenguaje natural.
Puntos clave:
- MCP conecta asistentes de IA a APIs
- Las herramientas definen lo que la IA puede hacer
- El lenguaje natural reemplaza las llamadas a la API
- Modern PetstoreAPI muestra la implementación de MCP
Preguntas Frecuentes
¿Qué asistentes de IA soportan MCP?
Claude Desktop, Cursor y otras herramientas impulsadas por Anthropic. El soporte está creciendo.
¿Es MCP seguro?
Sí. Los servidores MCP gestionan la autenticación. Los asistentes de IA no ven las claves API.
¿Puedo usar MCP con APIs existentes?
Sí. Construye un servidor MCP que envuelva tu API existente.
¿MCP reemplaza a las APIs REST?
No. MCP es para el acceso de asistentes de IA. Las APIs REST permanecen para el acceso programático directo.
¿Cómo pruebo las herramientas MCP?
Usa Apidog para probar las APIs subyacentes, luego prueba las herramientas MCP con Claude Desktop.
