Skip to main content
Glama

FastAPI MCP Server

by DavidHolguin

MCP Server (FastAPI + Supabase + n8n)

Estructura

  • main.py: App FastAPI y healthcheck /healthz.
  • app/mcp/server.py: Endpoint /mcp JSON-RPC 2.0 (tools/list, tools/call).
  • app/integrations/supabase.py: Operaciones DB/Storage/Vector.
  • app/integrations/n8n.py: Invocación de webhooks n8n.
  • app/security/auth.py: API tokens por cabecera x-api-key.
  • app/config.py: Carga de variables de entorno.
  • migrations/001_init.sql: Esquema Supabase (session_state, tool_audit, vector_store, RPC match_vectors).
  • tools.schema.json: Definiciones de herramientas MCP.

Variables de entorno

Copiar .env.example a .env en local o configurar en Railway.

  • SUPABASE_URL: URL del proyecto Supabase.
  • SUPABASE_SERVICE_ROLE_KEY: clave service role (solo backend).
  • SUPABASE_ANON_KEY: opcional.
  • N8N_WEBHOOK_BASE: base de webhooks públicos de n8n, ej: https://n8n.tu-dominio.com/webhook.
  • MCP_API_TOKENS: CSV de tokens válidos, ej: token1,token2.
  • ALLOW_ORIGINS: lista CORS, ej: https://mi-host-agente.com.

Desarrollo local (Windows PowerShell)

python -m venv .venv . .venv/Scripts/Activate.ps1 pip install -r requirements.txt $env:MCP_API_TOKENS="dev-token" $env:SUPABASE_URL="https://xxxxx.supabase.co" $env:SUPABASE_SERVICE_ROLE_KEY="eyJ..." $env:N8N_WEBHOOK_BASE="https://n8n.tu-dominio.com/webhook" uvicorn main:app --host 0.0.0.0 --port 8000 --reload

Probar:

  • GET http://localhost:8000/healthz
  • POST http://localhost:8000/mcp con header x-api-key: dev-token y body:
{"jsonrpc":"2.0","id":"1","method":"tools/list"}

Despliegue en Railway

  • Añadir servicio Dockerfile.
  • Variables de entorno: SUPABASE_URL, SUPABASE_SERVICE_ROLE_KEY, N8N_WEBHOOK_BASE, MCP_API_TOKENS, ALLOW_ORIGINS.
  • Comando inicio: uvicorn main:app --host 0.0.0.0 --port $PORT --proxy-headers.
  • Healthcheck: /healthz.
  • Escalado horizontal: habilitar auto-scale; la app es stateless.

Migraciones Supabase

Ejecutar migrations/001_init.sql en el SQL Editor de Supabase.

Seguridad

  • Mantener Service Role solo en backend.
  • Rotar MCP_API_TOKENS periódicamente.
  • Opcional: firmar requests con HMAC y timestamp para antireplay.
-
security - not tested
F
license - not found
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Enables interaction with Supabase databases and n8n workflows through a JSON-RPC 2.0 MCP server. Provides database operations, vector search capabilities, and webhook-based workflow automation with secure API token authentication.

  1. Estructura
    1. Variables de entorno
      1. Desarrollo local (Windows PowerShell)
        1. Despliegue en Railway
          1. Migraciones Supabase
            1. Seguridad

              Related MCP Servers

              • A
                security
                A
                license
                A
                quality
                An MCP server that provides tools for interacting with Supabase databases, storage, and edge functions.
                Last updated -
                14
                43
                JavaScript
                MIT License
              • A
                security
                A
                license
                A
                quality
                This server enables interaction with Supabase PostgreSQL databases through the MCP protocol, allowing seamless integration with Cursor and Windsurf IDEs for secure and validated database management.
                Last updated -
                11
                784
                Python
                Apache 2.0
                • Apple
                • Linux
              • -
                security
                A
                license
                -
                quality
                An MCP server that connects to Supabase PostgreSQL databases, exposing table schemas as resources and providing tools for data analysis through SQL queries.
                Last updated -
                1
                JavaScript
                MIT License
              • A
                security
                A
                license
                A
                quality
                🪄 MCP server for programmatic creation and management of n8n workflows. Enables AI assistants to build, modify, and manage workflows without direct user intervention through a comprehensive set of tools and resources for interacting with n8n's REST API.
                Last updated -
                10
                14
                62
                TypeScript
                MIT License
                • Linux

              View all related MCP servers

              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/DavidHolguin/mcpEAM'

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