Skip to content

mcgiverdev/mcp-api-v1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

# 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

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

{
  "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

{
  "field1": "value1",
  "field2": "value2"
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published