hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
Provides containerized deployment and cross-platform publishing of the MCP server, supporting multiple architectures including Linux/amd64, Linux/arm64, and Linux/arm/v7.
Enables querying GitHub resources through the AWS CodePipeline service, allowing access to repository deployment information and pipeline execution details.
Enables running generated Python code to interact with AWS resources through boto3, with support for various Python libraries and functions for AWS service interaction.
Servidor MCP de recursos de AWS
Descripción general
Una implementación de servidor de Protocolo de contexto de modelo (MCP) que proporciona código Python generado en ejecución para consultar cualquier recurso de AWS a través de boto3.
Bajo su propio riesgo : No limité las operaciones a ReadyOnly para que los operadores más precavidos puedan usar esta herramienta para realizar operaciones de gestión. Su rol de usuario de AWS determinará los permisos que puede realizar.
Demostración: Solucionar el error de permisos de Dynamodb
https://github.com/user-attachments/assets/de88688d-d7a0-45e1-94eb-3f5d71e9a7c7
¿Por qué otro servidor AWS MCP?
Probé AWS Chatbot con acceso para desarrolladores. El plan gratuito tiene un límite de 25 consultas mensuales para recursos. El siguiente plan cuesta $19 al mes e incluye el 90% de las funciones que no uso. Los resultados están en formato JSON y tienen muchas restricciones.
Intenté usar aws-mcp pero encontré algunos problemas:
- Problemas de configuración : tuve que clonar un repositorio git y lidiar con la configuración local
- Problemas de estabilidad : no era lo suficientemente estable en mi Mac
- Pila de Node.js : como desarrollador de Python, no pude contribuir de manera efectiva a la base de código de Node.js
Así que creé este nuevo enfoque que:
- Se ejecuta directamente desde una imagen de Docker: no es necesario clonar git
- Utiliza Python y boto3 para una mejor estabilidad.
- Facilita la contribución de los usuarios de Python
- Incluye un entorno sandbox adecuado para la ejecución del código.
- Mantiene todo en contenedores y limpio.
Para obtener más información sobre el Protocolo de contexto de modelo y cómo funciona, consulte la documentación MCP de Anthropic .
Componentes
Recursos
El servidor expone el siguiente recurso:
aws://query_resources
: un recurso dinámico que proporciona acceso a los recursos de AWS a través de consultas boto3
Consultas de ejemplo
A continuación se muestran algunos ejemplos de consultas que puedes ejecutar:
- Lista de depósitos S3:
- Obtenga la última implementación de CodePipeline:
Nota : Todos los fragmentos de código deben establecer una variable result
que se devolverá al cliente. Esta result
se convertirá automáticamente a formato JSON, gestionando correctamente los objetos específicos de AWS y los valores de fecha y hora.
Herramientas
El servidor ofrece una herramienta para ejecutar consultas de AWS:
aws_resources_query_or_modify
- Ejecute un fragmento de código boto3 para consultar o modificar recursos de AWS
- Aporte:
code_snippet
(cadena): código Python que utiliza boto3 para consultar recursos de AWS- El código debe establecer una variable
result
con la salida de la consulta.
- Importaciones permitidas:
- boto3
- operador
- json
- fecha y hora
- pytz
- dateutil
- re
- tiempo
- Funciones integradas disponibles:
- Tipos básicos: dict, lista, tupla, conjunto, str, int, float, bool
- Operaciones: len, max, min, ordenado, filtro, mapa, suma, cualquiera, todo
- Manejo de objetos: hasattr, getattr, isinstance
- Otros: imprimir, importar
Detalles de implementación
El servidor incluye varias características de seguridad:
- Análisis de código basado en AST para validar las importaciones y la estructura del código
- Entorno de ejecución restringido con funciones integradas limitadas
- Serialización JSON de resultados con manejo adecuado de objetos específicos de AWS
- Manejo y reporte adecuado de errores
Configuración
Prerrequisitos
Necesitará credenciales de AWS con los permisos adecuados para consultar los recursos de AWS. Puede obtenerlas de las siguientes maneras:
- Creación de un usuario de IAM en su cuenta de AWS
- Generación de claves de acceso para acceso programático
- Asegúrese de que el usuario de IAM tenga los permisos necesarios para los servicios de AWS que desea consultar
Se requieren las siguientes variables de entorno:
AWS_ACCESS_KEY_ID
: Su clave de acceso de AWSAWS_SECRET_ACCESS_KEY
: Su clave secreta de AWSAWS_SESSION_TOKEN
: (opcional) token de sesión de AWS si se utilizan credenciales temporalesAWS_DEFAULT_REGION
: región de AWS (el valor predeterminado es 'us-east-1' si no está configurado)
También puede usar un perfil almacenado en el archivo ~/.aws/credentials
. Para ello, configure la variable de entorno AWS_PROFILE
con el nombre del perfil.
Nota: Mantenga seguras sus credenciales de AWS y nunca las envíe al control de versiones.
Instalación mediante herrería
Para instalar AWS Resources MCP Server para Claude Desktop automáticamente a través de Smithery :
Instalación de Docker
Puedes crear la imagen localmente o descargarla de Docker Hub. La imagen está diseñada para la plataforma Linux.
Plataformas compatibles
- Linux/amd64
- Linux/arm64
- Linux/arm/v7
Opción 1: Extraer desde Docker Hub
Opción 2: Construir localmente
Ejecute el contenedor:
O utilizando credenciales almacenadas y un perfil:
Publicación multiplataforma
Para publicar la imagen de Docker en varias plataformas, puede usar el comando docker buildx
. Siga estos pasos:
- Cree una nueva instancia de constructor (si aún no lo ha hecho):Copy
- Construya y envíe la imagen para múltiples plataformas :Copy
- Verifique que la imagen esté disponible para las plataformas especificadas :Copy
Uso con Claude Desktop
Ejecutando con Docker
Ejemplo utilizando ACCESS_KEY_ID y SECRET_ACCESS_KEY
Ejemplo de uso de PROFILE y montaje de credenciales locales de AWS
Ejecutando con Git clone
Ejemplo ejecutándose con git clone y perfil
This server cannot be installed
Un servidor de protocolo de contexto de modelo que permite a Claude ejecutar código Python usando boto3 para consultar y administrar recursos de AWS directamente desde las conversaciones.
- Overview
- Why Another AWS MCP Server?
- Components
- Setup
- Cross-Platform Publishing
- Usage with Claude Desktop