Automatización con IA, RAG y MCP
3 min de lectura
Por el equipo de ingeniería de UnlockLive IT
A Django or FastAPI app offering WebMCP tools to a browser AI agent

Las aplicaciones web en Python necesitan muy poco para admitir WebMCP. La herramienta se ejecuta en el navegador como unas pocas líneas de JavaScript, y su aplicación Django o FastAPI hace el trabajo real por detrás. ¿Es nuevo en el tema? Empiece por qué es WebMCP.

Un endpoint de FastAPI

La validación de la consulta detiene las entradas incorrectas antes de que se ejecute su código, y un modelo de respuesta limita lo que sale del servidor:

from fastapi import APIRouter, Query
from pydantic import BaseModel

router = APIRouter()

class ProductOut(BaseModel):
    name: str
    price: float
    url: str

@router.get('/agent/products', response_model=list[ProductOut])
async def search_products(q: str = Query(min_length=1, max_length=80)):
    return await search_catalog(q, limit=5)  # your own function

Una vista de Django

from django.http import JsonResponse
from django.views.decorators.http import require_GET

from .models import Product

@require_GET
def agent_products(request):
    q = request.GET.get('q', '').strip()[:80]
    if not q:
        return JsonResponse({'error': 'missing_query'}, status=400)
    items = Product.objects.filter(published=True, name__icontains=q)[:5]
    return JsonResponse(list(items.values('name', 'price', 'slug')), safe=False)

Añada también un límite de peticiones, por ejemplo en el proxy o con las herramientas de limitación de su framework.

El script del navegador

Cárguelo desde su plantilla base o su frontend:

const mc = document.modelContext || navigator.modelContext;
if (mc && mc.registerTool) {
  mc.registerTool({
    name: 'search_products',
    description: 'Search published products. Returns name, price and link.',
    inputSchema: {
      type: 'object',
      properties: { q: { type: 'string', description: 'Keywords' } },
      required: ['q'],
    },
    annotations: { readOnlyHint: true },
    execute: async ({ q }) => {
      const res = await fetch('/agent/products?q=' + encodeURIComponent(q));
      return await res.text();
    },
  });
}

Sesiones, CSRF y permisos

Las herramientas se ejecutan en la página, así que las peticiones del mismo origen llevan las cookies del visitante, y login_required o sus dependencias de FastAPI funcionan como siempre. En las herramientas POST de Django, envíe la cookie csrftoken en la cabecera X-CSRFToken y marque la herramienta con consequentialHint: true.

Reglas de seguridad

  • Empiece con solo lectura. Primero búsqueda y detalles; márquelos con readOnlyHint.
  • Pregunte antes de actuar. Marque las acciones de carrito, reserva y formularios con consequentialHint para que el visitante confirme.
  • Compruebe en el servidor. El navegador no es una barrera de seguridad, así que valide cada entrada y cada permiso en su backend.
  • Devuelva lo mínimo. Envíe solo lo que un cliente puede ver, nunca datos de administración ni registros de otros clientes.

Pruébelo

  1. Use una versión reciente de Chrome con WebMCP activado, mediante la prueba de origen o la opción de pruebas.
  2. Llame a cada herramienta con entradas correctas e incorrectas.
  3. Compruebe que los visitantes normales no notan ningún cambio.
  4. Ejecute el comprobador WebMCP gratuito en la página exacta donde están sus herramientas.

Cuándo conviene más un servidor MCP

Si las aplicaciones de IA deben usar sus datos sin abrir su sitio, cree en su lugar un servidor MCP. Consulte WebMCP frente a MCP y nuestro servicio de desarrollo de servidores MCP. Para la parte del navegador, consulte nuestros servicios de integración de WebMCP.

Preguntas frecuentes

¿Existe una biblioteca de Python para WebMCP?

WebMCP es una API del navegador, así que la herramienta en sí es JavaScript. Python aporta el endpoint que hay detrás. Para un servidor al que se conecten aplicaciones de IA, use en su lugar un SDK de MCP.

¿Cómo gestiono el CSRF en Django?

En las herramientas POST, lea la cookie csrftoken de Django y envíela en la cabecera X-CSRFToken. Las herramientas GET de solo lectura no la necesitan.

¿Funciona con un frontend separado?

Sí. Registre las herramientas en su frontend y llame a su API de Python. Si está en otro dominio, configure con cuidado CORS y las credenciales.

¿Debo crear WebMCP o un servidor MCP en Python?

Elija WebMCP para ayudar a los visitantes de su sitio, usando su sesión. Elija un servidor MCP para las aplicaciones de IA que se conectan sin abrir su sitio.

Cómo podemos ayudarle

  • Servicios de integración WebMCPWebMCP development for any stack, from WordPress and Shopify to Next.js, Laravel and Django: search, FAQs and forms offered as secure tools for AI browser agents, with a free audit.
  • Desarrollo con Python y FastAPIBackends Python de alto rendimiento y microservicios FastAPI para SaaS, APIs de inferencia de IA, pipelines ETL y sistemas basados en eventos.
  • Servicios de desarrollo de servidores MCPServidores Model Context Protocol (MCP) a medida que exponen sus APIs, bases de datos y herramientas internas a Claude, Cursor, ChatGPT y cualquier IA compatible con MCP.

Hable con un ingeniero sobre su proyecto

Cuéntenos qué está construyendo. Respondemos en un día hábil con una opinión franca sobre alcance, enfoque y esfuerzo.

Reserve una llamada estratégica gratuita

Escrito por el equipo de ingeniería de UnlockLive IT. UnlockLive IT Limited trabaja con sus clientes a través de su sede central en Los Ángeles y su oficina de Toronto, y entrega ingeniería desde su centro de desarrollo en Dhaka. Acerca de nosotros

Artículos relacionados

Automatización con IA, RAG y MCPWebMCP en Laravel: añada herramientas para agentes de IA a su aplicación PHPAutomatización con IA, RAG y MCPWebMCP en Next.js y React: registre herramientas para agentes de IA correctamenteAutomatización con IA, RAG y MCPWebMCP para Shopify: cómo preparar su tienda para agentes de IA

Contáctenos

Complete el formulario a continuación y nuestro equipo se pondrá en contacto con usted en breve para ayudarle con su consulta.