Aloje un servidor de Model Context Protocol (MCP) en Knative para aprovechar su arquitectura serverless. Esta arquitectura ofrece escalado automático bajo demanda y procesamiento basado en eventos para los servicios de IA.
Cómo funciona
A continuación se muestra el flujo de trabajo que describe cómo una aplicación de IA en Knative utiliza MCP para interactuar con herramientas externas.
-
Inicio de la solicitud: un usuario envía un comando a un agente de IA. El cliente MCP integrado del agente genera una solicitud estandarizada de llamada a herramientas y la transmite mediante Server-Sent Events (SSE) o HTTP.
Knative no es compatible con servidores MCP que utilizan el protocolo de transporte stdio.
-
Gestión y ejecución del servicio: el servicio de Knative recibe la solicitud HTTP, la enruta a una instancia de MCP Server y escala automáticamente según la carga.
Para construir su propio MCP Server, consulte el SDK de MCP Server o FastMCP . También puede encontrar implementaciones existentes en el repositorio de GitHub de MCP Server .
Respuesta con el resultado: el MCP Server devuelve el resultado de la tarea al agente de IA, que luego envía la respuesta final al usuario.
Requisitos previos
Ya desplegó Knative en el clúster. Para obtener más información, consulte Deploy and manage Knative components.
Paso 1: Desplegar el MCP Server
En esta sección, desplegará un MCP Server para planificar viajes en China (Hangzhou). Este servidor agrupa las funciones de planificación de viajes, búsqueda de vuelos, reserva de hoteles y pronóstico del clima en herramientas estandarizadas que los agentes de IA pueden invocar.
-
Cree el archivo
mcp-server.yaml.En el siguiente ejemplo se define un servicio de Knative que extrae la imagen de muestra del MCP Server.
apiVersion: serving.knative.dev/v1 kind: Service metadata: name: helloworld-go namespace: default spec: template: spec: containers: - env: - name: TARGET value: Knative # Replace {region} in the image address with your actual region ID, such as cn-hangzhou image: >- registry-{region}-vpc.ack.aliyuncs.com/acs/knative-samples-mcp-trip:v1.0-6b9fc59 name: user-container -
Cree el servicio de Knative.
kubectl apply -f mcp-server.yaml
Paso 2: Acceder al servicio
Una vez desplegado el servicio, envíe una solicitud MCP para comprobar que funciona correctamente.
-
En la página Services, obtenga los valores de Gateway y Default Domain del servicio.
En este ejemplo, el valor de Gateway corresponde a una dirección de Application Load Balancer (ALB), como
alb-xxx.aliyuncsslb.com. El valor de Default Domain del servicio helloworld-go eshelloworld-go.default.example.com. -
Acceda al servicio
helloworld-go.Reemplace
helloworld-go.default.example.compor su nombre de dominio real y<GATEWAY_IP>por la dirección de su gateway.Este comando envía una solicitud
tools/listal servicio para listar todas las herramientas compatibles.curl -H "Host: helloworld-go.default.example.com" http://<GATEWAY_IP>/mcp -H "Content-Type: application/json" \ -d '{ "jsonrpc": "2.0", "id": "1", "method": "tools/list", "params": {} }' | jq .El comando devuelve una respuesta JSON formateada que contiene la lista de herramientas proporcionadas por el MCP Server.
Facturación
El complemento de Knative no genera cargos adicionales. Sin embargo, cada producto en la nube cobra por los recursos de cómputo, de red y otros recursos que usted consuma. Para obtener más información, consulte Cloud resource costs.