MCP Fusion/Integrations and federation/Conectores AWS

Conectores AWS

Pergunte à IA sobre a Vinkius

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

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));
}

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:

TagMeaning
mcp:expose=trueelegível para descoberta
mcp:groupnamespace MCP
mcp:actionnome da ação dentro do namespace
mcp:readOnlyanotação somente leitura
mcp:destructiveanotação destrutiva
mcp:sfn-typemodo 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:

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,
  },
});

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