Skip to main content
Glama
kratos4ai

fichapao-mcp-server

by kratos4ai

Servidor MCP FichaPao

Servidor MCP HTTP para que el agente FichaPao AI controle las fichas técnicas de panadería con Postgres.

El objetivo de esta aplicación es ofrecer herramientas seguras para el agente, sin exponer SQL libre.

Arquitectura

OpenWebUI
  -> Agente FichaPao AI
  -> MCP HTTP /mcp
  -> fichapao-mcp-server
  -> Postgres

Related MCP server: mcp-enterprise-starter

Herramientas MCP

  • search_recipe: busca una ficha por nombre.

  • get_recipe: consulta una ficha por recipe_id, version_id o nombre.

  • create_recipe_draft: crea una ficha en borrador 0.1.

  • update_draft: actualiza una versión en borrador o revisión.

  • create_new_version: crea una nueva versión en borrador.

  • approve_version: aprueba una versión si no hay pendientes bloqueantes.

  • list_pending_items: lista los pendientes.

  • register_production_test: registra una prueba de producción.

  • compare_versions: compara dos versiones.

  • archive_recipe: archiva una ficha.

  • get_database_stats: resumen de la base de datos.

Reglas Implementadas

  • Una ficha nueva siempre entra como borrador.

  • La versión inicial es 0.1.

  • Una ficha aprobada no puede ser editada directamente.

  • Una alteración en una ficha aprobada debe convertirse en una nueva versión en borrador.

  • La aprobación se bloquea cuando existen pendientes críticos.

  • La primera aprobación de una versión 0.x se convierte en 1.0.

  • La base de datos separa:

    • current_version_id: versión más reciente/en trabajo.

    • active_version_id: versión aprobada en producción.

Ejecución Local

cp .env.example .env
docker compose up --build

Verificación de estado (Health check):

curl http://localhost:3001/health

Endpoint MCP:

http://localhost:3001/mcp

En el docker-compose.yml, el puerto local está mapeado como 3001:3000 para evitar conflictos con aplicaciones comunes que ya usan 3000.

Si MCP_API_KEY está configurada, envíe:

Authorization: Bearer sua-chave

Despliegue en EasyPanel

Cree dos servicios:

  1. Postgres

  2. App Docker apuntando a este repositorio

Variables de la App:

NODE_ENV=production
PORT=3000
DATABASE_URL=postgresql://usuario:senha@host:5432/fichapao
AUTO_MIGRATE=true
MCP_API_KEY=troque-por-uma-chave-forte
CORS_ORIGIN=*

Después de publicar, valide:

https://seu-dominio/health

En OpenWebUI:

Admin Settings -> External Tools -> Add MCP Server
URL: https://seu-dominio/mcp
Auth: Bearer token com o valor de MCP_API_KEY

Base de Datos

Migración principal:

migrations/001_init.sql

Tablas:

  • recipes

  • recipe_versions

  • pending_items

  • production_tests

  • change_history

Desarrollo

npm install
npm run typecheck
npm run build
npm run dev

Related MCP Connectors

Related MCP Servers