Skip to main content
Glama
pbassilbaqapps

AI Conversational Bot MCP

README.md
# AI Conversational Bot MCP

## 1. De que se trata el proyecto

Este proyecto es un servidor MCP para gestion de ordenes, desarrollado con Node.js, TypeScript, Express y el SDK de Model Context Protocol.

Su objetivo es exponer herramientas MCP que pueden ser consumidas por un agente conversacional para consultar y crear ordenes. El servidor publica un endpoint MCP en `/mcp` y un endpoint de salud en `/health`.

Herramientas disponibles:

- `get_order`: obtiene la informacion completa de una orden.
- `get_order_status`: obtiene solo el estado actual de una orden.
- `create_order`: crea una nueva orden para un cliente.

Actualmente el servicio de ordenes usa datos simulados en `src/services/order.service.ts`, por lo que no depende todavia de una base de datos o API externa real.

## 2. Como se ejecuta

Instala las dependencias:

```bash
npm install
```

Crea un archivo `.env` tomando como base `.env.example`:

```env
PORT=3002
```

Ejecuta el proyecto en modo desarrollo:

```bash
npm run dev
```

Tambien puedes ejecutarlo sin modo watch:

```bash
npm start
```

Para compilar TypeScript:

```bash
npm run build
```

Para ejecutar la version compilada:

```bash
npm run start:compiled
```

Para inspeccionar el servidor MCP con el inspector oficial:

```bash
npm run inspector
```

## 3. Que hay que tener en cuenta para ejecutarlo

- El proyecto requiere Node.js `>=20`.
- Se recomienda usar la version indicada en `.nvmrc`.
- El archivo `.env` debe existir antes de iniciar el proyecto.
- La variable `PORT` es opcional. Si no se define, el servidor usa el puerto `3002`.
- El endpoint MCP queda disponible en `http://localhost:3002/mcp` cuando se usa el puerto por defecto.
- El endpoint de salud queda disponible en `GET http://localhost:3002/health`.
- Por defecto, el servidor permite hosts locales mediante `MCP_ALLOWED_HOSTS` con `localhost` y `127.0.0.1`.
- Las respuestas de ordenes son simuladas; para usar datos reales hay que reemplazar la logica de `src/services/order.service.ts`.

Endpoints principales:

- `ALL /mcp`: punto de entrada para clientes MCP.
- `GET /health`: valida que el servidor esta activo.