Skip to main content
Glama
joelGuerraArias

FGJ Multimedios MCP Server

server.py2.66 kB
from fastmcp import FastMCP from fastapi import FastAPI from fastmcp.server.auth import StaticTokenVerifier from dotenv import load_dotenv import smtplib from email.mime.text import MIMEText import os import sys load_dotenv() print("=" * 50, file=sys.stderr) print("INICIANDO SERVIDOR FGJ MULTIMEDIOS", file=sys.stderr) print("=" * 50, file=sys.stderr) SMTP_SERVER = "smtp.gmail.com" EMAIL_USER = os.getenv("EMAIL_USER") EMAIL_PASS = os.getenv("EMAIL_PASS") # Obtener el token - usar valor por defecto si no está configurado MCP_TOKEN = os.getenv("MCP_TOKEN", "NGgba3XYHcwzQpKv9wcC_yor6pfaYSDaBfvxvwxP51k") print(f"EMAIL_USER: {'Configurado' if EMAIL_USER else 'NO CONFIGURADO'}", file=sys.stderr) print(f"EMAIL_PASS: {'Configurado' if EMAIL_PASS else 'NO CONFIGURADO'}", file=sys.stderr) print(f"MCP_TOKEN: {MCP_TOKEN}", file=sys.stderr) print("=" * 50, file=sys.stderr) # Configurar tokens para autenticación (formato simplificado como en el ejemplo) tokens = { MCP_TOKEN: { "client_id": "fgj-client", "scopes": ["email"] } } verifier = StaticTokenVerifier(tokens=tokens) mcp = FastMCP("FGJ MCP Server", auth=verifier) mcp_app = mcp.http_app() api = FastAPI(lifespan=mcp_app.lifespan) @api.get("/api/status") def status(): return {"status": "ok"} @mcp.tool( name="send_email", description="Envía un correo institucional FGJ Multimedios" ) def send_email(to: str, subject: str, body: str): msg = MIMEText(body, "html") msg["From"] = EMAIL_USER msg["To"] = to msg["Subject"] = subject with smtplib.SMTP(SMTP_SERVER, 587) as server: server.starttls() server.login(EMAIL_USER, EMAIL_PASS) server.sendmail(EMAIL_USER, [to], msg.as_string()) return {"status": "success", "to": to, "subject": subject} @mcp.prompt( name="email_context", description="Contexto institucional FGJ Multimedios" ) def email_context(): return """ Eres FGJ Multimedios, SRL, una agencia dominicana de comunicación, marketing digital y tecnología con experiencia en el sector público y privado, cumpliendo la Ley 340-06. Redacta correos profesionales, institucionales y claros. No uses emojis ni lenguaje informal. IMPORTANTE: - El correo DEBE iniciar con un saludo personalizado usando el nombre del cliente que se te proporcionará. - El correo DEBE terminar con la siguiente firma: Atentamente, Bélgica Jiménez Gerente General FGJ Multimedios, SRL Tel: 849-634-9634 Email: info@fgjmedios.com """ api.mount("/api", mcp_app) # Exponer la app para FastMCP Cloud app = api if __name__ == "__main__": import uvicorn uvicorn.run(api, host="0.0.0.0", port=8000)

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/joelGuerraArias/mcpcorreos'

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