hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
Allows LLMs to use AWS Lambda functions as tools, enabling models to execute code in Lambda environments, access real-time data, interact with AWS services, and perform specialized calculations without code changes. The server acts as a bridge between MCP clients and Lambda functions.
MCP2Lambda
Ejecute cualquier función de AWS Lambda como una herramienta de modelo de lenguaje grande (LLM) sin cambios de código utilizando el Protocolo de contexto de modelo (MCP) de Anthropic .
Este servidor MCP actúa como puente entre los clientes MCP y las funciones Lambda de AWS, lo que permite que los modelos de IA generativa accedan y ejecuten funciones Lambda como herramientas. Esto resulta útil, por ejemplo, para acceder a recursos privados, como aplicaciones y bases de datos internas, sin necesidad de proporcionar acceso a la red pública. Este enfoque permite que el modelo utilice otros servicios de AWS, redes privadas e internet público.
Desde una perspectiva de seguridad , este enfoque implementa la segregación de funciones al permitir que el modelo invoque las funciones Lambda, pero no acceda directamente a los demás servicios de AWS. El cliente solo necesita las credenciales de AWS para invocar las funciones Lambda. Estas pueden interactuar con otros servicios de AWS (mediante el rol de función) y acceder a redes públicas o privadas.
El servidor MCP da acceso a dos herramientas:
- La primera herramienta puede detectar automáticamente todas las funciones Lambda de su cuenta que coincidan con un prefijo o una lista de nombres permitidos. Esta herramienta comparte los nombres de las funciones y sus descripciones con el modelo.
- La segunda herramienta permite invocar aquellas funciones Lambda por nombre pasando los parámetros requeridos.
No se requieren cambios de código. Debe cambiar estas configuraciones para mejorar los resultados:
Selección de estrategia
La puerta de enlace admite dos estrategias diferentes para gestionar funciones Lambda:
- Modo de predescubrimiento (predeterminado: habilitado): Registra cada función Lambda como una herramienta individual al inicio. Esto proporciona una interfaz más intuitiva donde cada función aparece como una herramienta con su propio nombre.
- Modo genérico : utiliza dos herramientas genéricas (
list_lambda_functions
einvoke_lambda_function
) para interactuar con funciones Lambda.
Puedes controlar este comportamiento mediante:
- Variable de entorno:
PRE_DISCOVERY=true|false
- Marca CLI:
--no-pre-discovery
(desactiva el modo de predescubrimiento)
Ejemplo:
- Para que el cliente MCP adquiera los conocimientos necesarios para usar una función Lambda, su descripción debe indicar qué hace y qué parámetros utiliza. Consulte las funciones de ejemplo para obtener una demostración rápida y más detalles.
- Para ayudar al modelo a utilizar las herramientas disponibles a través de AWS Lambda, puede agregar algo como esto al indicador de su sistema :
Descripción general
MCP2Lambda permite que los LLM interactúen con las funciones de AWS Lambda como herramientas, ampliando sus capacidades más allá de la generación de texto. Esto permite a los modelos:
- Acceda a datos privados y en tiempo real, incluidas las fuentes de datos en sus VPC
- Ejecutar código personalizado utilizando una función Lambda como entorno sandbox
- Interactuar con servicios externos y API mediante funciones Lambda, acceso a Internet (y ancho de banda)
- Realizar cálculos especializados o procesamiento de datos
El servidor utiliza el protocolo MCP, que estandariza la forma en que los modelos de IA pueden acceder a herramientas externas.
De forma predeterminada, solo las funciones cuyo nombre comience con mcp2lambda-
estarán disponibles para el modelo.
Prerrequisitos
- Python 3.12 o superior
- Cuenta de AWS con credenciales configuradas
- Funciones de AWS Lambda (funciones de muestra proporcionadas en el repositorio)
- Una aplicación que utiliza Amazon Bedrock con la API de Converse
- Un cliente compatible con MCP como Claude Desktop
Instalación
Instalación mediante herrería
Para instalar MCP2Lambda para Claude Desktop automáticamente a través de Smithery :
Instalación manual
- Clonar el repositorio:Copy
- Configurar las credenciales de AWS. Por ejemplo, usando la CLI de AWS :Copy
Funciones Lambda de muestra
Este repositorio incluye tres funciones Lambda de ejemplo que ilustran diferentes casos de uso. Estas funciones tienen permisos básicos y solo pueden escribir en los registros de CloudWatch.
ID de cliente del correo electrónico
Recupera un ID de cliente a partir de una dirección de correo electrónico. Esta función toma un parámetro de correo electrónico y devuelve el ID de cliente asociado, lo que demuestra cómo crear herramientas de búsqueda sencillas. La función está predefinida para responder a la dirección de correo electrónico ` user@example.com
. Por ejemplo, puede solicitar al modelo que obtenga el ID de cliente para el correo electrónico user@example.com
.
Información del cliente de Id.
Recupera información detallada del cliente basándose en su ID. Esta función devuelve detalles del cliente, como nombre, correo electrónico y estado, lo que demuestra cómo Lambda puede proporcionar datos contextuales. La función está predefinida para responder al ID de cliente devuelto por la función anterior. Por ejemplo, puede solicitar al modelo que "Obtenga el estado del cliente para el correo electrónico user@example.com
". Esto utilizará ambas funciones para obtener el resultado.
Ejecutar código Python
Ejecuta código Python arbitrario en un entorno de pruebas Lambda. Esta potente función permite a Claude escribir y ejecutar código Python para realizar cálculos, procesamiento de datos u otras operaciones no integradas en el modelo. Por ejemplo, puedes pedirle al modelo que calcule la cantidad de números primos entre 1 y 10, 1 y 100, y así sucesivamente hasta 1 millón.
Implementación de funciones Lambda de muestra
El repositorio incluye funciones Lambda de muestra en el directorio sample_functions
.
- Instale la CLI de AWS SAM: https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/install-sam-cli.html
- Implementar las funciones de muestra:Copy
Las funciones de muestra se implementarán con el prefijo mcp2lambda-
.
Uso con Amazon Bedrock
MCP2Lambda también se puede utilizar con la API Converse de Amazon Bedrock, lo que le permite utilizar el protocolo MCP con cualquiera de los modelos compatibles con Bedrock.
El directorio mcp_client_bedrock
contiene una implementación de cliente que conecta MCP2Lambda con los modelos de Amazon Bedrock.
Consulte https://github.com/mikegc-aws/amazon-bedrock-mcp para obtener más información.
Prerrequisitos
- Acceso y permisos de Amazon Bedrock para utilizar modelos como Claude, Mistral, Llama, etc.
- Boto3 configurado con credenciales apropiadas
Instalación y configuración
- Navegue al directorio mcp_client_bedrock:Copy
- Instalar dependencias:Copy
- Ejecute el cliente:Copy
Configuración
El cliente está configurado para utilizar Claude 3.7 Sonnet de Anthropic de forma predeterminada, pero puede modificar model_id
en main.py
para utilizar otros modelos Bedrock:
También puedes personalizar el mensaje del sistema en el mismo archivo para cambiar el comportamiento del modelo.
Uso
- Inicie el servidor MCP2Lambda en una terminal:Copy
- Ejecute el cliente Bedrock en otra terminal:Copy
- Interactúe con el modelo mediante la interfaz de línea de comandos. El modelo tendrá acceso a las funciones Lambda implementadas anteriormente.
Uso con Claude Desktop
Agregue lo siguiente a su archivo de configuración de Claude Desktop:
Para ayudar al modelo a utilizar herramientas a través de AWS Lambda, en su perfil de configuración, puede agregar a sus preferencias personales una frase como:
Iniciando el servidor MCP
Inicie el servidor MCP localmente:
You must be authenticated.
Permite que los modelos de IA interactúen con las funciones de AWS Lambda a través del protocolo MCP, lo que permite el acceso a recursos privados, datos en tiempo real y cálculos personalizados en un entorno seguro.
- Strategy Selection
- Overview
- Prerequisites
- Installation
- Sample Lambda Functions
- Deploying Sample Lambda Functions
- Using with Amazon Bedrock
- Using with Claude Desktop
- Starting the MCP Server