MCP Fusion/Get started/Início Rápido
Início Rápido
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
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
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
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:
mcpfusion dev --server ./src/server.ts
claude mcp add billing npx tsx src/server.tsPergunte 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
mcpfusion deployUm ú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ça | Papel |
|---|---|
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 deploy | Hospedagem 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
