MCP Fusion/Integrations and federation/Connecteurs AWS
Connecteurs AWS
Exposez des fonctions AWS Lambda et des Step Functions marquées comme outils MCP avec des adaptateurs typés, une découverte déterministe et une interception MVA autour du payload.
La logique métier réelle s’exécute souvent déjà sur AWS. Le package AWS de MCP Fusion fournit à un agent une surface MCP typée au-dessus des fonctions Lambda et des Step Functions, tout en conservant la découverte, les annotations et la mise en forme des réponses dans une seule limite de connecteur.
Découverte Lambda
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 configuration vérifiée du connecteur accepte un client Lambda facultatif, un client Step Functions, un filtre de tags, enableLambda (true par défaut), enableStepFunctions (false par défaut), pollInterval, onChange et onError. La découverte est volontairement activée par tags : le filtre par défaut exige mcp:expose=true.
Les tags sont la liste d’autorisation AWS
Le package définit des clés de tags pour l’exposition, le groupe, l’action, la lecture seule, le comportement destructeur et le type de Step Functions :
| Tag | Meaning |
|---|---|
mcp:expose=true | éligible à la découverte |
mcp:group | espace de noms MCP |
mcp:action | nom de l’action dans l’espace de noms |
mcp:readOnly | annotation en lecture seule |
mcp:destructive | annotation destructive |
mcp:sfn-type | mode d’exécution Step Functions |
LambdaDiscovery et StepFunctionDiscovery produisent des résumés, puis synthesizeLambdaTools et synthesizeStepFunctionTools produisent les configurations d’outils. synthesizeAll combine l’ensemble découvert et toToolName lui donne un nom MCP stable.
Outils AWS manuels
La découverte n’est pas la seule voie. Pour une fonction critique dont le contrat ne doit pas changer lorsque les tags changent, définissez-la directement :
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 configuration manuelle exige l’ARN et accepte une description ainsi que des annotations MCP. La configuration renvoyée doit encore être composée avec le registre, le Presenter et le middleware habituels.
Step Functions
Définissez enableStepFunctions: true et fournissez le client Step Functions. L’adaptateur expose une exécution synchrone ou asynchrone selon le tag mcp:sfn-type découvert. La limite MVA intercepte le payload AWS avant qu’il ne devienne visible pour le modèle : l’action générée peut associer un Presenter et expurger des champs comme un outil écrit à la main.
Identifiants AWS et limites de tenant
Le package AWS ne décide ni de votre politique IAM ni de votre mappage de tenant. Créez le client avec les identifiants et la région que votre déploiement est autorisé à utiliser, résolvez l’identité du tenant dans contextFactory et gardez les identifiants propres au compte hors des arguments contrôlés par le modèle. Si la fonction a besoin d’une clé fournisseur fournie par l’acheteur, utilisez BYOC credentials, pas un champ du schéma d’outil.
Le README contient d’anciens exemples utilisant des noms de découverte non exportés. Le barrel source fait foi : utilisez createAwsConnector, defineAwsTool, les adaptateurs, les classes de découverte et les fonctions de synthèse indiquées ci-dessus.
Étapes suivantes
- Authentication: protégez les outils adossés à AWS
- Generators: générez depuis OpenAPI et Prisma
- Contracts: verrouillez les capacités découvertes avant le déploiement
