Skip to main content
Glama

MCP API Server

by mcgiverdev
README.md3.11 kB
# MCP API Server Servidor MCP (Model Context Protocol) con arquitectura modular que permite conectarse a APIs externas. ## Estructura del Proyecto ``` src/ ├── config/ # Configuración │ ├── api.ts # Configuración de API │ └── env.ts # Variables de entorno ├── services/ # Servicios de negocio │ ├── httpClient.ts # Cliente HTTP base │ ├── userService.ts # Servicio de usuarios │ ├── weatherService.ts # Servicio de clima │ └── companyService.ts # Servicio de empresas ├── tools/ # Herramientas MCP │ ├── weatherTool.ts # Herramienta de clima │ ├── userCreateTool.ts # Crear usuarios │ ├── userListTool.ts # Listar usuarios │ ├── companyCreateTool.ts # Crear empresas │ └── companyListTool.ts # Listar empresas ├── types/ # Tipos TypeScript │ ├── api.ts # Tipos base de API │ └── company.ts # Tipos de empresas └── main.ts # Punto de entrada ``` ## Características - ✅ Arquitectura modular y escalable - ✅ Cliente HTTP reutilizable - ✅ Validación con Zod - ✅ Tipos TypeScript completos - ✅ Manejo de errores robusto - ✅ Configuración por variables de entorno ## Herramientas Disponibles ### Clima - `obtener-clima`: Obtiene información del clima ### Usuarios - `crear-usuario`: Crea un nuevo usuario - `listar-usuarios`: Lista todos los usuarios ### Empresas (API Externa) - `crear-empresa`: Crea una nueva empresa vía API - **Tamaños permitidos**: `small`, `medium`, `large` - `listar-empresas`: Lista empresas desde la API ## Scripts Disponibles ```bash # Construir el proyecto npm run build # Ejecutar en modo desarrollo npm run dev # Ejecutar el servidor npm start # Abrir inspector MCP npm run inspector ``` ## Variables de Entorno ```bash API_BASE_URL=https://api.ejemplo.com # URL base de la API API_TIMEOUT=30000 # Timeout en milisegundos NODE_ENV=development # Entorno de ejecución ``` ## Uso con Inspector MCP 1. Ejecutar el inspector: `npm run inspector` 2. El servidor se iniciará en modo debug 3. Se abrirá automáticamente el navegador con la interfaz ## Agregar Nuevos Servicios Para agregar un nuevo servicio (ej: productos): 1. **Crear tipos** en `src/types/product.ts` 2. **Crear servicio** en `src/services/productService.ts` 3. **Crear herramientas** en `src/tools/productCreateTool.ts`, etc. 4. **Registrar herramientas** en `src/main.ts` 5. **Actualizar configuración** si es necesario ## Estructura de API Externa El servidor está configurado para trabajar con APIs que sigan este formato: ### GET Response ```json { "data": [...], "links": { "first": "string", "last": "string", "prev": "string", "next": "string" }, "meta": { "current_page": 0, "from": 0, "last_page": 0, "per_page": 0, "to": 0, "total": 0 } } ``` ### POST Request ```json { "field1": "value1", "field2": "value2" } ```

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mcgiverdev/mcp-api-v1'

If you have feedback or need assistance with the MCP directory API, please join our Discord server