Skip to main content
Glama
CodeaBien

Codeabien Nest MCP PostgreSQL

by CodeaBien
README.md
# Codeabien Nest.js MCP para PostgreSQL DB

Este es un proyecto de demostración que muestra cómo usar un servidor [MCP (Model-driven Co-programming)](https://github.com/modern-copilot/spec) con una base de datos PostgreSQL en una aplicación NestJS.

MIRA LA IMPLEMENTACIÓN COMPLETA EN NUESTRO CANAL DE YOUTUBE [Codea Bien](https://www.youtube.com/watch?v=4mNMuYJKcEQ)

## Prerrequisitos

Asegúrate de tener instaladas las siguientes herramientas en tu sistema:

- [Node.js](https://nodejs.org/) (versión 18 o superior)
- [pnpm](https://pnpm.io/)
- [Docker](https://www.docker.com/)

## Empezando

Sigue estos pasos para poner en marcha el proyecto:

### 1. Clona el repositorio

```bash
git clone <URL_DEL_REPOSITORIO>
cd codeabien-nest-mcp-postgresdb
```

### 2. Instala las dependencias

Usa `pnpm` para instalar las dependencias del proyecto:

```bash
pnpm install
```

### 3. Configuración de la Base de Datos

Este proyecto utiliza Docker para ejecutar una base de datos PostgreSQL.

#### Ejecutar con Docker Compose

El archivo `docker-compose.yml` incluido configurará y ejecutará el contenedor de la base de datos.

```bash
docker compose up -d
```

Esto iniciará un servidor PostgreSQL en el puerto `5436`.

### 4. Configuración del Servidor MCP

Para interactuar con la base de datos usando las herramientas de IA en Cursor, necesitas configurar un servidor MCP.

Añade la siguiente configuración a tu archivo `.vscode/settings.json` en la raíz de tu proyecto:

```json
{
	"mcpServers": {
		"postgres": {
			"command": "docker",
			"args": [
				"run",
				"-i",
				"--rm",
				"mcp/postgres",
				"postgresql://postgres:P@5tgr3s_Db!2025@host.docker.internal:5436/app_sales_db"
			]
		}
	}
}
```

Puedes encontrar la imagen de Docker para el servidor MCP de Postgres en [Docker Hub](https://hub.docker.com/r/mcp/postgres).

### 5. Ejecutar la aplicación

Una vez que la base de datos esté en funcionamiento, puedes iniciar la aplicación NestJS en modo de desarrollo:

```bash
pnpm run start:dev
```

La aplicación estará disponible en `http://localhost:3000`.

## Scripts Disponibles

- `pnpm run build`: Compila la aplicación para producción.
- `pnpm run format`: Formatea el código con Prettier.
- `pnpm run start`: Inicia la aplicación en modo producción.
- `pnpm run start:dev`: Inicia la aplicación en modo de desarrollo con seguimiento de cambios.
- `pnpm run lint`: Analiza el código en busca de errores de estilo.
- `pnpm run test`: Ejecuta las pruebas unitarias.