MCP Fusion/Get started/Início Rápido

Início Rápido

Pergunte à IA sobre a Vinkius

Construa um primeiro conector com MCP Fusion: uma tool de query, um Presenter com redação de PII, uma conexão do Claude Desktop e um deploy gratuito no Vinkius Cloud.

Este quickstart constrói um pequeno conector de cobrança: uma tool que retorna uma fatura, um Presenter que mantém o PII do cliente fora do contexto do modelo, uma conexão ao vivo de um cliente MCP e um deploy gratuito no Vinkius Cloud. Ele pressupõe que você instalou o @mcpfusion/core e gerou um projeto como mostrado em Installation.

1. Crie o servidor

typescript
import { initMCPFusion } from '@mcpfusion/core';

const f = initMCPFusion();

export default f;

initMCPFusion() retorna um registro com os tool builders fluentes. O parâmetro genérico AppContext é opcional: quando você fornece um tipo, todo handler e middleware recebe um ctx tipado.

2. Defina um Presenter

typescript
import { createPresenter, t } from '@mcpfusion/core';

const InvoicePresenter = createPresenter('Invoice')
  .schema({
    id: t.string,
    customer: t.string,
    amount_cents: t.number.describe('CENTS, divide by 100'),
    status: t.enum('draft', 'paid', 'overdue'),
  })
  .redactPII(['customer.email', 'customer.ssn'])
  .rules([
    'amount_cents is in CENTS. Divide by 100 before showing money.',
  ])
  .limit(50);

Três coisas acontecem aqui. O schema diz exatamente quais campos existem, então colunas não declaradas nunca chegam ao agente. .redactPII() remove os caminhos listados em toda resposta. .rules() viram linhas de system prompt que ensinam ao modelo as unidades.

3. Escreva a tool

typescript
import { InvoicePresenter } from './presenters';

export default f.query('billing.get_invoice')
  .describe('Retrieve an invoice by ID')
  .withString('id', 'Invoice ID')
  .returns(InvoicePresenter)
  .handle(async (input) => {
    return db.invoices.findUnique({
      where: { id: input.id },
    });
  });

f.query() marca a tool como somente leitura. Use f.mutation() para escritas e f.action() para qualquer coisa com efeitos colaterais. .returns(InvoicePresenter) anexa a camada de percepção: o handler pode retornar a linha bruta, quem faz a modelagem é o Presenter.

Nunca retorne PII de um handler sem um Presenter anexado. No MCP Fusion, o Presenter é o firewall de egress; sem ele, tudo o que o handler retorna vai para o modelo tal como está.

4. Conecte um cliente

Inicie o dev server e conecte o Claude Desktop, o Cursor ou qualquer cliente MCP:

bash
mcpfusion dev --server ./src/server.ts
claude mcp add billing npx tsx src/server.ts

Pergunte ao cliente "what is invoice inv_2026_0417?" e veja a resposta voltar em dólares, sem o e-mail do cliente em lugar nenhum do transcript.

5. Faça o deploy gratuitamente

bash
mcpfusion deploy

Um único comando empacota seu servidor e o coloca no Vinkius Edge: hospedagem gratuita, sem cartão de crédito. Você recebe um token de conexão e uma MCP URL como https://edge.vinkius.com/vk_<token>/mcp. Seu conector aparece no console da Vinkius como qualquer outro conector, com capabilities, credenciais e controles de custo já configurados. Veja Deploy para o passo a passo completo.

O que você construiu

PeçaPapel
f.query()Uma tool somente leitura que o agente pode chamar
createPresenter()A camada de percepção entre seus dados e o modelo
.redactPII()A garantia de que o PII nunca chega ao modelo
.returns()A ligação entre handler e Presenter
mcpfusion deployHospedagem gratuita no Vinkius Edge

Próximos passos

  • The MVA pattern: por que os Presenters existem
  • Tools: mutations, actions, middleware e erros
  • Credentials: deixe os compradores configurarem as próprias chaves