SAM Lambda MCP
Implementación del Protocolo de Contexto de Modelo (MCP) utilizando AWS Lambda y SAM.
Descripción general
Este proyecto proporciona una implementación sin servidor del Protocolo de Contexto de Modelo, con dos interfaces distintas:
Configuración del sistema (administrativa):
Registro de herramientas, recursos y avisos de MCP
Gestión de permisos de IAM
Configuración y configuración de la infraestructura
Uso del sistema (cliente):
Establecimiento de conexiones SSE
Envío de comandos
Recibir respuestas en streaming
Arquitectura
Diagrama de sirena
Puedes visualizar el sistema utilizando esta sintaxis de Mermaid:
MCP Lambda lee registros de la tabla de registros durante el inicio y al manejar solicitudes.
Utiliza la tabla de sesión para conservar el estado de la sesión.
Invoca herramientas Lambda registradas dinámicamente utilizando los ARN almacenados en la tabla de registro.
Guía de configuración del sistema (administradores)
Esta sección es para los administradores de sistemas que necesitan configurar y administrar el servidor MCP.
Despliegue
El comando solicitará interactivamente la configuración administrativa:
Nombre de la pila (para múltiples instancias)
Región de AWS
Configuración de VPC (opcional)
Descripción general de permisos
Para acceder a los puntos finales de MCP, los usuarios y clientes deben tener permiso de IAM para invocar las URL de función relevantes.
Administradores : deben tener permiso para invocar la URL de la función
mcp-registration
Clientes : se debe permitir invocar la URL de la función
mcp
Puede otorgar acceso mediante una política de IAM o mediante aws lambda add-permission
(ver a continuación).
Asignación de permisos a través de AWS CLI
Para conceder permiso para invocar la función de registro URL :
Para otorgar permiso para invocar la URL de la función MCP (SSE y mensaje):
Reemplace <registration-function-name>
y <mcp-function-name>
con los nombres de función Lambda reales.
API de registro
Utilice estos puntos finales para administrar herramientas, recursos y avisos de MCP:
Registrar una nueva herramienta
Actualizar registro
Eliminar registro
Lista de registros
Permisos de IAM necesarios
Para administradores
Los administradores necesitan estos permisos para gestionar los registros:
Guía de uso del sistema (clientes)
Esta sección es para los clientes que desean utilizar el servidor MCP.
Permisos de IAM necesarios
Los clientes necesitan estos permisos para utilizar el servidor MCP:
Conectarse al servidor
Establecer conexión SSE :
Ejemplo de cURL para SSE
El primer evento incluirá un sessionId
. Úselo al enviar mensajes.
Enviar comandos :
Manejo de errores
Errores comunes del cliente
401
: Credenciales de AWS no válidas o faltantes403
: Permisos insuficientes404
: ID de sesión no válido429
: Límite de velocidad excedido
Solución de problemas
Problemas de conexión :
Verificar las credenciales de AWS
Comprobar los permisos de IAM
Garantizar la conectividad de la red
Errores de ejecución de comandos :
Verificar que el ID de sesión esté activo
Compruebe que el formato del comando coincida con el registro de la herramienta
Asegúrese de que los parámetros coincidan con el esquema
Requisitos
AWS CLI instalada y configurada
AWS SAM CLI instalado
Node.js 20.x o posterior
Una cuenta de AWS con permisos para crear:
Funciones lambda
Tablas de DynamoDB
Roles de IAM
Colas SQS
Configuración de la CLI de AWS SAM
Para implementar esta aplicación localmente o en AWS mediante la CLI de AWS SAM:
Instale la CLI de AWS SAM: https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/install-sam-cli.html
Asegúrese de que esté disponible en su PATH:
Construya e implemente la aplicación:
Siga las instrucciones para configurar el nombre de la pila, la región, las capacidades y las anulaciones de parámetros.
Puede volver a ejecutar sam deploy
sin --guided
para usar la configuración guardada.
Instalación
Puede instalar e implementar esta aplicación de cuatro maneras:
1. Uso del repositorio de aplicaciones sin servidor de AWS (SAR)
La forma más sencilla de implementar el servidor MCP es a través del repositorio de aplicaciones sin servidor (SAR) de AWS:
Vaya a la consola SAR
Búsqueda de mcp-lambda-sam por Mark Van Proctor
Haga clic en Implementar
Establezca sus parámetros:
StackIdentifier
: ID único para esta instancia del servidor MCPVpcEnabled
: configúrelo comotrue
si se implementa en una VPCVpcId
ySubnetIds
: Proporcione solo siVpcEnabled
estrue
Siga las instrucciones para implementar
Alternativamente, puede implementar desde la AWS CLI:
2. Uso de npx (CLI)
El comando solicitará interactivamente la configuración administrativa:
Nombre de la pila (para múltiples instancias)
Región de AWS
Configuración de VPC (opcional)
3. Uso programático con instalación
Instalar el paquete:
Después de instalar el paquete, puedes usarlo programáticamente:
4. Desarrollo local y despliegue
Instalar el paquete:
Después de realizar cambios de desarrollo, puedes implementarlo manualmente:
Desarrollo
Publicación en SAR
Si está contribuyendo a este proyecto y necesita publicar actualizaciones en SAR:
Empaquetar la aplicación:
Publicar en SAR:
Hacer pública la aplicación (configuración única):
Vaya a la consola de AWS > Repositorio de aplicaciones sin servidor
Seleccione la aplicación
Haga clic en "Compartir" y seleccione "Público".
Aplicar la siguiente política de uso compartido: GXP25
Licencia
Instituto Tecnológico de Massachusetts (MIT)
Contribuyendo
Bifurcar el repositorio
Crea tu rama de funciones
Confirme sus cambios
Empujar hacia la rama
Crear una nueva solicitud de extracción
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Un paquete Node.js que proporciona infraestructura de servidor de protocolo de contexto de modelo para funciones de AWS Lambda con soporte SSE, lo que permite a los desarrolladores implementar herramientas y avisos de MCP como funciones sin servidor.
Related MCP Servers
- AsecurityAlicenseAqualityEnables AI models to interact with AWS Lambda functions via the MCP protocol, allowing access to private resources, real-time data, and custom computation in a secure environment.Last updated -2108MIT License
- AsecurityAlicenseAqualityA comprehensive Model Context Protocol server that provides advanced Node.js development tooling for automating project creation, component generation, package management, and documentation with AI-powered assistance.Last updated -75MIT License
- AsecurityAlicenseAqualityA Model Context Protocol server implementation that enables Claude to perform AWS operations on S3 and DynamoDB services through natural language commands.Last updated -23127MIT License
- -securityAlicense-qualityA Node.js package providing Model Context Protocol server infrastructure for AWS Lambda functions with streaming response capabilities through Server-Sent Events.Last updated -11212MIT License