Brand MCP Server
MCP para GBL
Un servidor seguro y multiinquilino del Protocolo de Contexto de Modelos (MCP) para acceder a bases de datos Postgres específicas de cada marca. Este servidor admite tanto la ejecución local como el acceso remoto autenticado mediante HTTP/SSE.
🔐 Autenticación y Seguridad
Este servidor utiliza Autenticación mediante Token Bearer. El acceso a los endpoints /sse y /messages requiere una clave API válida con el prefijo gbl-.
CLI de Gestión de Claves
Gestione sus claves localmente o en EC2 utilizando el módulo de autenticación integrado:
# Activate your environment first
source .venv/bin/activate # Linux/EC2
.\.venv\Scripts\activate # Windows
### 6. Manage Multi-Tenant API Keys (Admin API)
To provision unique database tenants to separate keys, we host an internal Admin REST API.
This API handles secrets, so it should **only** be accessed from localhost on your EC2 instance (binds to `:8001`).
### Option A: Use it securely locally via SSH Tunneling (Recommended)
You can build a secure tunnel from your Windows PC directly to your EC2 instance so you can interact with the Admin API from your own local browser (like Swagger UI) or local terminal smoothly:
```powershell
# Run this on your local Windows PC
ssh -i "path/to/your/key.pem" -L 8001:127.0.0.1:8001 ubuntu@YOUR_EC2_IPAhora, puede interactuar con la API o ver la interfaz de Swagger directamente desde su máquina local: http://127.0.0.1:8001/docs
Opción B: Usarlo directamente en EC2
Para iniciar la API de administración en EC2:
python3 -m src.admin_apiCon la API de administración en ejecución, puede crear una nueva clave de inquilino de marca desde otra ventana de terminal de EC2:
curl -X POST http://127.0.0.1:8001/keys/generate \
-H "Content-Type: application/json" \
-d '{"db_user": "brand_a_user", "db_pass": "supersecret"}'(La respuesta contendrá la api_key asignada a brand_a_user.)
Otros endpoints de utilidad:
Listar inquilinos:
curl http://127.0.0.1:8001/keysRevocar inquilino:
curl -X DELETE http://127.0.0.1:8001/keys/brand_a_user
Related MCP server: PostgreSQL MCP Server for Claude Desktop
🖥️ Despliegue en EC2 (Persistencia con systemd)
Para producción, utilizamos systemd para garantizar que el servidor se inicie automáticamente al reiniciar y se reinicie si falla.
1. Configuración del Proyecto
git clone https://github.com/intern-analytics/MCPforGBL.git
cd MCPforGBL
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt2. Configuración
Cree un archivo .env para las credenciales de la base de datos (ignorado por git):
nano .env
# Add DB_USER, DB_PASS, DB_HOST, etc.3. Crear el Servicio del Sistema
Cree un archivo de servicio:
sudo nano /etc/systemd/system/mcp-server.servicePegue lo siguiente (ajuste las rutas si es necesario):
[Unit]
Description=Brand MCP FastAPI Server
After=network.target
[Service]
User=ubuntu
WorkingDirectory=/home/ubuntu/projects/MCPforGBL
ExecStart=/home/ubuntu/projects/MCPforGBL/.venv/bin/python -m src.server2
Restart=always
RestartSec=3
[Install]
WantedBy=multi-user.target4. Habilitar e Iniciar
sudo systemctl daemon-reload
sudo systemctl enable mcp-server
sudo systemctl start mcp-server
sudo systemctl status mcp-server🤖 Conexión a Claude
Opción A: Usar Claude.ai (Aplicación Web)
Debido a que este servidor está expuesto públicamente a través de Nginx y protegido con un certificado HTTPS de Let's Encrypt, puede conectarse directamente en su navegador.
Vaya a la Configuración de Claude.ai -> Desarrollador / Conectores.
Haga clic en Añadir conector personalizado.
Pegue su URL segura:
https://mcpforgbl.duckdns.org/sse?token=gbl-YOUR_KEY_HERE¡Conéctese y consulte!
Opción B: Usar la aplicación Claude Desktop (HTTPS)
Actualice su %APPDATA%\Claude\claude_desktop_config.json en Windows.
[!IMPORTANT] Use
C:\\PROGRA~1\\nodejs\\npx.cmdpara evitar problemas con espacios en la ruta de archivo de Windows.
{
"mcpServers": {
"gbl-data-lake": {
"command": "C:\\PROGRA~1\\nodejs\\npx.cmd",
"args": [
"-y",
"mcp-remote",
"https://mcpforgbl.duckdns.org/sse?token=gbl-YOUR_KEY_HERE"
]
}
}
}Opción C: Usar la aplicación Claude Desktop (Dirección IP HTTP y Cabecera Bearer)
Si prefiere conectarse directamente a la IP de la instancia EC2 sin usar la URL de DuckDNS o desea pasar el token como una cabecera en lugar de un parámetro de URL, utilice esta configuración:
{
"mcpServers": {
"gbl-data-lake": {
"command": "C:\\PROGRA~1\\nodejs\\npx.cmd",
"args": [
"-y",
"mcp-remote",
"http://YOUR-EC2-PUBLIC-IP:8000/sse",
"--allow-http",
"--header",
"Authorization: Bearer gbl-YOUR_KEY_HERE"
]
}
}
}📈 Hoja de ruta de escalabilidad
Nuestra plataforma está diseñada para escalar de forma segura y eficiente a través de un sistema robusto de control de acceso basado en roles.
Planeamos escalar la gestión de usuarios generando claves API separadas y dedicadas para cada usuario/inquilino. En nuestra arquitectura, la clave API actúa como algo más que un simple token de autenticación: define intrínsecamente el perfil de permisos completo del usuario. La clave en sí le indica al servidor exactamente cuánto acceso tiene el usuario.
Este enfoque nos permite aplicar estrictamente las interacciones con la base de datos y la disponibilidad de herramientas basadas en cuentas de acceso limitado y archivos de habilidades personalizados, asegurando que cada usuario solo interactúe con los datos y capacidades que está explícitamente autorizado a usar.
🛠️ Desarrollo
Servidor Local:
python -m src.server(stdio estándar)Servidor SSE:
python -m src.server2(HTTP/SSE vía FastAPI)Utilidades de Autenticación:
src/auth.pyLógica de Base de Datos:
src/db.py
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables interaction with PostgreSQL databases through a production-ready MCP server with global connection pooling, automatic AWS password rotation, and comprehensive SQL operations. Supports multiple concurrent Claude sessions while maintaining efficient connection limits to the database.Apache 2.0
- FlicenseNot gradedqualityDmaintenanceEnables Claude Desktop to interact with PostgreSQL databases through natural language for schema exploration, data analysis, and query execution. Users can search schemas, describe tables, and perform read or write operations without needing to write manual SQL.
- AlicenseNot gradedqualityCmaintenanceA production-ready MCP server for PostgreSQL — built for Claude Desktop, Claude Code, and any MCP-compatible AI agent.Apache 2.0
- FlicenseNot gradedqualityCmaintenanceEnables Claude Desktop to connect to PostgreSQL databases, allowing users to query, explore schemas, and analyze data using plain English without writing SQL.
Related MCP Connectors
Analytical memory for AI agents: a real Postgres queried in plain English over MCP. One command.
Query PostgreSQL databases in plain English — LLM-generated, safety-validated SQL.
MCP server for managing Prisma Postgres.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/intern-analytics/MCPforGBL'
If you have feedback or need assistance with the MCP directory API, please join our Discord server