geronimo-pericoli's picture
Update app.py
71b13e7 verified
raw
history blame
1.58 kB
from fastapi import FastAPI, Request
from fastapi.responses import RedirectResponse
import gradio as gr
from server import mcp # Tu servidor MCP original
import datetime
app = FastAPI(title="MCP Server")
# Interfaz Gradio mejorada
def create_demo():
with gr.Blocks(title="MCP Dashboard") as demo:
gr.Markdown("# 🚀 MCP Server Dashboard")
with gr.Row():
gr.Markdown("Bienvenido al panel de control del servidor MCP")
with gr.Row():
status = gr.Textbox(label="Estado", value="✅ Servidor activo")
btn = gr.Button("Actualizar")
def update_status():
return f"✅ Servidor activo (Última verificación: {datetime.datetime.now().strftime('%H:%M:%S')}"
btn.click(update_status, outputs=status)
gr.Markdown("### Endpoints disponibles:")
gr.Markdown("- `/get_document_info` - Información de documentos")
gr.Markdown("- `/sse` - Stream de eventos")
return demo
# Redirección inteligente para Hugging Face Spaces
@app.get("/")
async def root(request: Request):
# Verifica si el acceso viene de la página principal del Space
if "hf.space" in request.headers.get("referer", ""):
return RedirectResponse(url="/gradio")
return {"message": "MCP Server API", "docs": "/gradio"}
# Montaje de Gradio
gradio_app = create_demo()
app = gr.mount_gradio_app(app, gradio_app, path="/gradio")
if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host="0.0.0.0", port=7860)