Skip to main content
Glama
joao-parana

AutoPeças MCP Server

by joao-parana

N8N을 활용한 MCP

n8n과 함께하는 mcp-autopeças

MCP 프로토콜을 통해 Google Sheets 시트의 탭을 읽고 쓰는 Python 기반 MCP 서버입니다. Claude Desktop, Claude Code 및 모든 MCP 클라이언트(N8N의 mcpClientTool 노드 포함)와 호환됩니다.

이 서버는 단일 프로세스 내에서 두 개의 도메인을 다루며, 각 도메인은 동일한 스프레드시트의 한 탭에 매핑됩니다.

도메인

도구(Tools)

자동차 부품 (AutoMax)

AutoPeças (gid=0)

6개 도구 — 읽기 전용

병상 (Leitos)

Leitos (gid=1562350974)

9개 도구 — 읽기, 쓰기, 이메일 및 SMS

사전 요구 사항

  • Python 3.12+

  • uv (권장) 또는 pip

  • 스프레드시트에 편집자(Editor) 권한이 있는 Google 서비스 계정 (leitos_atualizar_status_limpeza에 필요)

설치

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

설정

1. Google 자격 증명 (서비스 계정)

Google Cloud Console에서:

  1. 프로젝트 생성 → APIs & Services → Google Sheets API 활성화

  2. 서비스 계정(Service Account) 생성 → JSON 키 생성 및 다운로드

  3. 서비스 계정 이메일에 스프레드시트 편집자(Editor) 권한 부여

2. 환경 변수

cp .env.example .env

.env 파일을 최소한 아래와 같이 편집하세요:

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

SPREADSHEET_ID는 URL에서 확인할 수 있습니다: docs.google.com/spreadsheets/d/**{ID}**/edit

예상 스프레드시트 구조

AutoPeças 탭:

코드

이름

카테고리

브랜드

가격

재고

공급업체

설명

위치

F-1023

오일 필터

엔진

Bosch

35.90

48

AutoDist

...

선반 A3

Leitos — N8N 노드 스키마에 의해 확인된 열:

ID_Leito

방_유형

점유_상태

청소_상태

환자

마지막_청소

A-101

10호실

병동

점유됨

완료

João Silva

2025-03-28

UTI-05

북쪽 중환자실

중환자실

사용 가능

대기 중

2025-03-27

열 이름은 .env 파일에서 COL_*LEITOS_COL_*로 조정할 수 있습니다.


자동차 부품 도구

도구

기능

autopecas_buscar_peca

이름, 코드 또는 설명으로 검색

autopecas_listar_pecas

페이지네이션 및 필터가 포함된 카탈로그 나열

autopecas_obter_detalhes

코드로 부품의 전체 세부 정보 확인

autopecas_listar_categorias

부품 수가 포함된 카테고리 나열

autopecas_verificar_estoque

코드별 재고 또는 카테고리별 요약 확인

autopecas_listar_marcas

부품 수가 포함된 제조사 나열

병상 관리 도구

N8N 에이전트(mcp-all-nodes.json)와 Python 도구 간의 매핑:

N8N 에이전트

필터

대응 도구

경영진 에이전트

전체 접근

leitos_listar_leitos, leitos_resumo_ocupacao, leitos_verificar_disponibilidade, leitos_obter_detalhes_leito

병동 에이전트

Tipo_Quarto = Enfermaria

leitos_listar_enfermaria

중환자실 에이전트

Tipo_Quarto = UTI

leitos_listar_uti

모든 에이전트

leitos_enviar_notificacao, leitos_enviar_sms

N8N 쓰기 노드

row_numberID_Leito

leitos_atualizar_status_limpeza

도구

읽기/쓰기

기능

leitos_listar_leitos

읽기

모든 병상 나열; Tipo_Quarto, Status_Ocupacao, Status_Limpeza로 필터링 가능

leitos_listar_enfermaria

읽기

고정 필터 Tipo_Quarto=Enfermaria — 점유 및 청소 보고서

leitos_listar_uti

읽기

고정 필터 Tipo_Quarto=UTI — 입원 일수 및 환자 수

leitos_verificar_disponibilidade

읽기

Status_Ocupacao=Disponível인 병상, 유형별 요약

leitos_obter_detalhes_leito

읽기

ID_Leito로 병상의 전체 데이터 확인

leitos_resumo_ocupacao

읽기

대시보드: Tipo_Quarto별로 그룹화된 점유 청소 상태

leitos_atualizar_status_limpeza

쓰기

ID_Leito로 병상의 Status_Limpeza 업데이트

leitos_enviar_notificacao

외부

Gmail SMTP를 통한 이메일 전송

leitos_enviar_sms

외부

Twilio REST API를 통한 SMS 전송

점유 상태(Status_Ocupacao): Disponível(사용 가능) 🟢 · Ocupado(점유됨) 🔴 · Reservado(예약됨) 🔵

청소 상태(Status_Limpeza): Concluído(완료) ✅ · Pendente(대기 중) ⚠️ · Em Andamento(진행 중) 🔄

방 유형: Enfermaria(병동) · UTI(중환자실) · Apartamento(아파트형) · Semi-Intensivo(준중환자실)

이메일 전송 설정

leitos_enviar_notificacao 도구는 앱 비밀번호를 사용하는 Gmail SMTP를 사용합니다:

  1. Google 계정에서 2단계 인증 활성화

  2. myaccount.google.com/apppasswords 접속

  3. "Email"용 비밀번호를 생성하여 .envGMAIL_APP_PASSWORD에 붙여넣기

SMS 전송 설정

leitos_enviar_sms 도구는 Twilio REST API를 사용합니다:

  1. twilio.com에서 계정 생성

  2. 대시보드에서 Account SIDAuth Token 획득

  3. 발신 번호를 등록하거나 구매하고 TWILIO_FROM_NUMBER 설정


Claude Desktop에서 사용

~/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"
      }
    }
  }
}

Claude Code에서 사용

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

N8N에서 사용 (MCP Client)

서버 엔드포인트를 가리키는 MCP Client Tool 노드를 구성하세요. 세 개의 N8N 에이전트는 동일한 Python MCP 서버를 공유할 수 있으며, 각 에이전트는 include: selected를 통해 자신의 역할에 맞는 도구만 사용합니다.

로컬 테스트

uv run python server.py

MCP Inspector로 15개의 도구를 검사하려면:

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