Skip to main content
Glama

MCP HTTP TAVILY DATE OAUTH

by growley
OAUTH_SETUP_GUIDE.md4.74 kB
# Guía de Configuración OAuth2 ## 🔧 Configurar Google OAuth2 (Ejemplo Completo) ### Paso 1: Crear Proyecto en Google Cloud Console 1. **Ir a Google Cloud Console**: https://console.cloud.google.com/ 2. **Crear nuevo proyecto** o seleccionar uno existente 3. **Habilitar Google+ API**: - Ir a "APIs & Services" > "Library" - Buscar "Google+ API" y habilitarla ### Paso 2: Crear Credenciales OAuth2 1. **Ir a "APIs & Services" > "Credentials"** 2. **Hacer clic en "Create Credentials" > "OAuth 2.0 Client IDs"** 3. **Configurar pantalla de consentimiento** (si es la primera vez): - Application name: "MCP HTTP Server" - User support email: tu email - Developer contact: tu email 4. **Crear OAuth 2.0 Client ID**: - Application type: "Web application" - Name: "MCP Server" - Authorized redirect URIs: `http://localhost:8001/auth/callback/google` ### Paso 3: Obtener Credenciales Después de crear, obtendrás: - **Client ID**: algo como `123456789-abc123.apps.googleusercontent.com` - **Client Secret**: algo como `GOCSPX-abc123def456` ### Paso 4: Configurar en tu aplicación Editar archivo `.env`: ```bash # Google OAuth2 GOOGLE_CLIENT_ID=123456789-abc123.apps.googleusercontent.com GOOGLE_CLIENT_SECRET=GOCSPX-abc123def456 ``` ## 🔧 Configurar GitHub OAuth2 ### Paso 1: Crear OAuth App en GitHub 1. **Ir a GitHub Settings**: https://github.com/settings/applications/new 2. **Llenar formulario**: - Application name: "MCP HTTP Server" - Homepage URL: `http://localhost:8001` - Authorization callback URL: `http://localhost:8001/auth/callback/github` ### Paso 2: Obtener Credenciales Después de crear: - **Client ID**: algo como `Iv1.abc123def456` - **Client Secret**: algo como `abc123def456ghi789` ### Paso 3: Configurar en .env ```bash # GitHub OAuth2 GITHUB_CLIENT_ID=Iv1.abc123def456 GITHUB_CLIENT_SECRET=abc123def456ghi789 ``` ## 🚀 Cómo Funciona el Flujo Completo ### 1. Usuario visita tu aplicación ``` http://localhost:8001/login ``` ### 2. Selecciona proveedor (ej: Google) ``` Usuario hace clic en "Iniciar sesión con Google" ``` ### 3. Redirección a Google ``` https://accounts.google.com/o/oauth2/v2/auth? response_type=code& client_id=TU_CLIENT_ID& redirect_uri=http://localhost:8001/auth/callback/google& scope=openid email profile ``` ### 4. Usuario autoriza en Google ``` Google muestra: "¿Permitir que MCP Server acceda a tu información?" Usuario hace clic en "Permitir" ``` ### 5. Google redirige de vuelta ``` http://localhost:8001/auth/callback/google?code=ABC123&state=XYZ789 ``` ### 6. Tu servidor intercambia código por tokens ``` POST https://oauth2.googleapis.com/token { "grant_type": "authorization_code", "client_id": "TU_CLIENT_ID", "client_secret": "TU_CLIENT_SECRET", "code": "ABC123", "redirect_uri": "http://localhost:8001/auth/callback/google" } ``` ### 7. Google devuelve access_token ```json { "access_token": "ya29.abc123...", "token_type": "Bearer", "expires_in": 3600 } ``` ### 8. Tu servidor obtiene info del usuario ``` GET https://www.googleapis.com/oauth2/v2/userinfo Authorization: Bearer ya29.abc123... Respuesta: { "id": "123456789", "email": "usuario@gmail.com", "name": "Juan Pérez", "picture": "https://..." } ``` ### 9. Tu servidor crea JWT token propio ```json { "sub": "user_id_interno", "email": "usuario@gmail.com", "name": "Juan Pérez", "exp": 1234567890 } ``` ### 10. Usuario puede usar tu API ```bash curl -H "Authorization: Bearer TU_JWT_TOKEN" \ http://localhost:8001/mcp ``` ## 🎯 Ventajas de OAuth2 ### Para el Usuario: - ✅ No necesita crear otra cuenta - ✅ No necesita recordar otra contraseña - ✅ Usa credenciales que ya conoce y confía - ✅ Puede revocar acceso desde Google/GitHub ### Para el Desarrollador: - ✅ No manejas contraseñas (más seguro) - ✅ No necesitas sistema de registro - ✅ Verificación de email automática - ✅ Información de perfil incluida ## 🔒 Seguridad ### Lo que NO ve tu aplicación: - ❌ Contraseña del usuario - ❌ Datos personales no autorizados ### Lo que SÍ obtiene tu aplicación: - ✅ Email verificado - ✅ Nombre público - ✅ ID único del proveedor - ✅ Avatar (si está público) ## 📝 Ejemplo de Uso Real Una vez configurado, el flujo sería: 1. **Usuario va a**: `http://localhost:8001/login` 2. **Ve opciones**: "Iniciar sesión con Google" | "Iniciar sesión con GitHub" 3. **Hace clic en Google** 4. **Se abre Google**: "¿Permitir acceso a MCP Server?" 5. **Usuario acepta** 6. **Vuelve a tu app**: Ya autenticado con token 7. **Puede usar MCP**: Con su token personal ¡Es como usar "Iniciar sesión con Google" en cualquier app que hayas usado antes!

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/growley/MCP_TAVILI_DATE_OAUT'

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