Skip to main content
Glama
joao-parana

AutoPeças MCP Server

by joao-parana

MCP con N8N

mcp-autopartes con n8n

Servidor MCP en Python que lee y escribe en pestañas de una hoja de cálculo de Google Sheets a través del protocolo MCP — compatible con Claude Desktop, Claude Code y cualquier cliente MCP (incluido el nodo mcpClientTool de N8N).

El servidor cubre dos dominios en un único proceso, cada uno mapeado a una pestaña de la misma hoja de cálculo:

Dominio

Pestaña

Herramientas

Autopartes (AutoMax)

AutoPeças (gid=0)

6 herramientas — solo lectura

Camas Hospitalarias

Leitos (gid=1562350974)

9 herramientas — lectura, escritura, correo electrónico y SMS

Requisitos previos

  • Python 3.12+

  • uv (recomendado) o pip

  • Cuenta de servicio de Google con permiso de Editor en la hoja de cálculo (necesario para leitos_atualizar_status_limpeza)

Instalación

cd mcp-alura
uv sync          # ou: pip install -e .

Configuración

1. Credenciales de Google (Cuenta de servicio)

En Google Cloud Console:

  1. Crea un proyecto → APIs & Services → Habilita Google Sheets API

  2. Crea una Service Account → genera y descarga la clave JSON

  3. Comparte la hoja de cálculo con el correo electrónico de la cuenta de servicio con permiso de Editor

2. Variables de entorno

cp .env.example .env

Edita el .env con al menos:

SPREADSHEET_ID=1zt4h2v3ldK3zELNNmvyn02elEB9dHdfXD5q85ZYh2k0
AUTOPECAS_SHEET_NAME=AutoPeças
LEITOS_SHEET_NAME=Leitos
GOOGLE_CREDENTIALS_PATH=/caminho/para/service_account.json

# Para leitos_enviar_notificacao (e-mail):
GMAIL_USER=setor@hospital.com.br
GMAIL_APP_PASSWORD=xxxx_xxxx_xxxx_xxxx

# Para leitos_enviar_sms:
TWILIO_ACCOUNT_SID=ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
TWILIO_AUTH_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
TWILIO_FROM_NUMBER=+18647139932

El SPREADSHEET_ID se encuentra en la URL: docs.google.com/spreadsheets/d/**{ID}**/edit

Estructura esperada de la hoja de cálculo

Pestaña AutoPeças:

Código

Nombre

Categoría

Marca

Precio

Stock

Proveedor

Descripción

Ubicación

F-1023

Filtro de aceite

Motor

Bosch

35.90

48

AutoDist

...

Estante A3

Pestaña Leitos — columnas confirmadas por el esquema del nodo N8N:

ID_Leito

Habitación

Tipo_Habitación

Estado_Ocupación

Estado_Limpieza

Paciente

Última_Limpieza

A-101

Habitación 10

Enfermería

Ocupado

Concluido

Juan Silva

2025-03-28

UTI-05

UTI Norte

UTI

Disponible

Pendiente

2025-03-27

Los nombres de las columnas se pueden ajustar en el .env con COL_* y LEITOS_COL_*.


Herramientas de Autopartes

Herramienta

Qué hace

autopecas_buscar_peca

Busca por nombre, código o descripción

autopecas_listar_pecas

Lista el catálogo con paginación y filtros

autopecas_obter_detalhes

Detalles completos de una pieza por código

autopecas_listar_categorias

Categorías con conteo de piezas

autopecas_verificar_estoque

Stock por código o resumen por categoría

autopecas_listar_marcas

Fabricantes con conteo de piezas

Herramientas de Camas Hospitalarias

Mapeo de los agentes N8N (mcp-all-nodes.json) a herramientas de Python:

Agente N8N

Filtro

Herramientas equivalentes

Agente Dirección

Acceso total

leitos_listar_leitos, leitos_resumo_ocupacao, leitos_verificar_disponibilidade, leitos_obter_detalhes_leito

Agente Enfermería

Tipo_Quarto = Enfermaria

leitos_listar_enfermaria

Agente UTI

Tipo_Quarto = UTI

leitos_listar_uti

Todos los agentes

leitos_enviar_notificacao, leitos_enviar_sms

Nodo de escritura N8N

row_numberID_Leito

leitos_atualizar_status_limpeza

Herramienta

Lectura/Escritura

Qué hace

leitos_listar_leitos

Lectura

Lista todas las camas; filtrable por Tipo_Quarto, Status_Ocupacao, Status_Limpeza

leitos_listar_enfermaria

Lectura

Filtro fijo Tipo_Quarto=Enfermaria — informes de ocupación y limpieza

leitos_listar_uti

Lectura

Filtro fijo Tipo_Quarto=UTI — días internados y conteo de pacientes

leitos_verificar_disponibilidade

Lectura

Camas con Status_Ocupacao=Disponível, resumen por tipo

leitos_obter_detalhes_leito

Lectura

Datos completos de una cama por ID_Leito

leitos_resumo_ocupacao

Lectura

Panel: ocupación y limpieza agrupados por Tipo_Quarto

leitos_atualizar_status_limpeza

Escritura

Actualiza Status_Limpeza de una cama por ID_Leito

leitos_enviar_notificacao

Externo

Envía correo electrónico vía Gmail SMTP

leitos_enviar_sms

Externo

Envía SMS vía Twilio REST API

Estado_Ocupación: Disponible 🟢 · Ocupado 🔴 · Reservado 🔵

Estado_Limpieza: Concluido ✅ · Pendiente ⚠️ · En curso 🔄

Tipos de habitación: Enfermería · UTI · Apartamento · Semi-Intensivo

Configuración del envío de correo electrónico

La herramienta leitos_enviar_notificacao utiliza Gmail SMTP con Contraseña de Aplicación:

  1. Activa la verificación en dos pasos en la cuenta de Google

  2. Accede a myaccount.google.com/apppasswords

  3. Crea una contraseña para "Email" y pégala en GMAIL_APP_PASSWORD en el .env

Configuración del envío de SMS

La herramienta leitos_enviar_sms utiliza la API REST de Twilio:

  1. Crea una cuenta en twilio.com

  2. Obtén Account SID y Auth Token en el panel de control

  3. Registra o compra un número remitente y configura TWILIO_FROM_NUMBER


Uso en Claude Desktop

Añade a ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "hospital-mcp": {
      "command": "uv",
      "args": ["run", "--project", "/caminho/para/mcp-alura", "python", "server.py"],
      "env": {
        "SPREADSHEET_ID": "1zt4h2v3ldK3zELNNmvyn02elEB9dHdfXD5q85ZYh2k0",
        "AUTOPECAS_SHEET_NAME": "AutoPeças",
        "LEITOS_SHEET_NAME": "Leitos",
        "GOOGLE_CREDENTIALS_PATH": "/caminho/para/service_account.json",
        "GMAIL_USER": "setor@hospital.com.br",
        "GMAIL_APP_PASSWORD": "xxxx_xxxx_xxxx_xxxx",
        "TWILIO_ACCOUNT_SID": "ACxxxxxxxx",
        "TWILIO_AUTH_TOKEN": "xxxxxxxx",
        "TWILIO_FROM_NUMBER": "+18647139932"
      }
    }
  }
}

Uso en Claude Code

claude mcp add hospital-mcp -- uv run --project /caminho/para/mcp-alura python server.py

Uso en N8N (Cliente MCP)

Configura el nodo MCP Client Tool apuntando al endpoint del servidor. Los tres agentes N8N pueden compartir el mismo servidor MCP de Python, cada uno utilizando las herramientas adecuadas para su rol mediante include: selected.

Prueba local

uv run python server.py

Para inspeccionar las 15 herramientas con el Inspector MCP:

npx @modelcontextprotocol/inspector uv run python server.py
Install Server
A
security – no known vulnerabilities
F
license - not found
A
quality - A tier

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

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/joao-parana/mcp-alura'

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