MCP Fusion/Integrations and federation/Conectores AWS

Conectores AWS

Pregunta a la IA sobre Vinkius

Expón funciones AWS Lambda y Step Functions etiquetadas como herramientas MCP con adaptadores tipados, descubrimiento determinista e interceptación MVA alrededor del payload.

A menudo la lógica de negocio real ya se ejecuta en AWS. El paquete AWS de MCP Fusion proporciona a un agente una superficie MCP tipada sobre funciones Lambda y Step Functions, y mantiene el descubrimiento, las anotaciones y la transformación de respuestas en un único límite del conector.

Descubrimiento de Lambda

typescript
import { LambdaClient } from '@aws-sdk/client-lambda';
import { createAwsConnector, createLambdaAdapter } from '@mcpfusion/aws';

const aws = await createAwsConnector({
  lambdaClient: await createLambdaAdapter(
    new LambdaClient({ region: 'us-east-1' }),
  ),
  pollInterval: 60_000,
  onChange: () => server.notification({
    method: 'notifications/tools/list_changed',
  }),
});

for (const tool of aws.tools()) {
  registry.register(defineTool(tool.name, tool.config));
}

La configuración verificada del conector acepta un cliente Lambda opcional, un cliente de Step Functions, un filtro de etiquetas, enableLambda (por defecto true), enableStepFunctions (por defecto false), pollInterval, onChange y onError. El descubrimiento se activa deliberadamente por etiquetas: el filtro predeterminado exige mcp:expose=true.

Las etiquetas son la lista de permitidos de AWS

El paquete define claves de etiquetas para exposición, grupo, acción, solo lectura, comportamiento destructivo y tipo de Step Functions:

TagMeaning
mcp:expose=trueapto para descubrimiento
mcp:groupnamespace de MCP
mcp:actionnombre de la acción dentro del namespace
mcp:readOnlyanotación de solo lectura
mcp:destructiveanotación destructiva
mcp:sfn-typemodo de ejecución de Step Functions

LambdaDiscovery y StepFunctionDiscovery producen resúmenes; después synthesizeLambdaTools y synthesizeStepFunctionTools producen configuraciones de herramientas. synthesizeAll combina el conjunto descubierto y toToolName le da un nombre MCP estable.

Herramientas AWS manuales

El descubrimiento no es la única opción. Para una función crítica cuyo contrato no deba cambiar cuando cambien las etiquetas, defínela directamente:

typescript
import { defineAwsTool } from '@mcpfusion/aws';

const charge = defineAwsTool({
  name: 'payments.charge',
  arn: 'arn:aws:lambda:us-east-1:123:function:charge',
  description: 'Charge an approved payment',
  annotations: {
    readOnlyHint: false,
    destructiveHint: true,
  },
});

La configuración manual requiere el ARN y acepta una descripción y anotaciones MCP. La configuración devuelta todavía necesita la composición normal de registro, Presenter y middleware.

Step Functions

Establece enableStepFunctions: true y proporciona el cliente de Step Functions. El adaptador expone una ejecución síncrona o asíncrona según la etiqueta mcp:sfn-type descubierta. El límite MVA intercepta el payload de AWS antes de que sea visible para el modelo: la acción generada puede adjuntar un Presenter y redactar campos igual que una herramienta escrita a mano.

Credenciales de AWS y límites de tenant

El paquete AWS no decide tu política de IAM ni el mapeo de tenants. Crea el cliente con las credenciales y la región que tu despliegue pueda usar, resuelve la identidad del tenant en contextFactory y mantén los identificadores específicos de la cuenta fuera de los argumentos controlados por el modelo. Si la función necesita una clave de proveedor proporcionada por el comprador, usa BYOC credentials, no un campo del esquema de la herramienta.

El README contiene ejemplos antiguos que usan nombres de descubrimiento no exportados. El barrel de origen es la autoridad: usa createAwsConnector, defineAwsTool, los adaptadores, las clases de descubrimiento y las funciones de síntesis indicadas arriba.

Próximos pasos

  • Authentication: protege las herramientas respaldadas por AWS
  • Generators: genera a partir de OpenAPI y Prisma
  • Contracts: fija las capacidades descubiertas antes del despliegue