MCP Fusion/Integrations and federation/Conectores AWS
Conectores AWS
Exponha funções AWS Lambda e Step Functions com tags como ferramentas MCP, usando adaptadores tipados, descoberta determinística e interceptação MVA ao redor do payload.
É comum a lógica de negócio real já estar na AWS. O pacote AWS do MCP Fusion oferece a um agente uma superfície MCP tipada sobre funções Lambda e Step Functions, mantendo descoberta, anotações e formatação de respostas em um único limite do conector.
Descoberta de 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));
}A configuração validada do conector aceita um cliente Lambda opcional, um cliente Step Functions, filtro de tags, enableLambda (padrão true), enableStepFunctions (padrão false), pollInterval, onChange e onError. A descoberta é deliberadamente habilitada por tags: o filtro padrão exige mcp:expose=true.
Tags são a lista de permissão da AWS
O pacote define chaves de tag para exposição, grupo, ação, somente leitura, comportamento destrutivo e tipo de Step Functions:
| Tag | Meaning |
|---|---|
mcp:expose=true | elegível para descoberta |
mcp:group | namespace MCP |
mcp:action | nome da ação dentro do namespace |
mcp:readOnly | anotação somente leitura |
mcp:destructive | anotação destrutiva |
mcp:sfn-type | modo de execução do Step Functions |
LambdaDiscovery e StepFunctionDiscovery produzem resumos, depois synthesizeLambdaTools e synthesizeStepFunctionTools produzem configurações de ferramentas. synthesizeAll combina o conjunto descoberto, e toToolName fornece um nome MCP estável.
Ferramentas AWS manuais
A descoberta não é o único caminho. Para uma função crítica cujo contrato não deve mudar quando as tags mudarem, defina-a diretamente:
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,
},
});A configuração manual exige o ARN e aceita uma descrição e anotações MCP. A configuração retornada ainda precisa da composição normal de registro, Presenter e middleware.
Step Functions
Defina enableStepFunctions: true e forneça o cliente Step Functions. O adaptador expõe execução síncrona ou assíncrona de acordo com a tag mcp:sfn-type descoberta. O limite MVA intercepta o payload da AWS antes que ele se torne visível ao modelo: a ação gerada pode associar um Presenter e redigir campos, assim como uma ferramenta escrita manualmente.
Credenciais AWS e limites de tenant
O pacote AWS não decide sua política de IAM nem o mapeamento de tenant. Crie o cliente com as credenciais e a região que seu deploy pode usar, resolva a identidade do tenant em contextFactory e mantenha identificadores específicos da conta fora dos argumentos controlados pelo modelo. Se a função precisar de uma chave de fornecedor fornecida pelo comprador, use BYOC credentials, não um campo no esquema da ferramenta.
O README contém exemplos antigos que usam nomes de descoberta não exportados. O barrel de origem é a autoridade: use createAwsConnector, defineAwsTool, os adaptadores, as classes de descoberta e as funções de síntese listadas acima.
Próximos passos
- Authentication: proteja ferramentas baseadas na AWS
- Generators: gere a partir de OpenAPI e Prisma
- Contracts: congele capacidades descobertas antes do deploy
