MCP Fusion/Get started/Inicio Rápido

Inicio Rápido

Pregunta a la IA sobre Vinkius

Crea tu primer conector con MCP Fusion: una tool de query, un Presenter con redacción de PII, una conexión desde Claude Desktop y un despliegue gratuito en Vinkius Cloud.

Este quickstart construye un pequeño conector de facturación: una tool que devuelve una factura, un Presenter que mantiene el PII del cliente fuera del contexto del modelo, una conexión en vivo desde un cliente MCP y un despliegue gratuito en Vinkius Cloud. Se asume que instalaste @mcpfusion/core y generaste un proyecto como se muestra en Installation.

1. Crea el servidor

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

const f = initMCPFusion();

export default f;

initMCPFusion() devuelve un registro con los tool builders fluidos. El parámetro genérico AppContext es opcional: cuando pasas un tipo, cada handler y middleware recibe un ctx tipado.

2. Define un 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);

Aquí ocurren tres cosas. El schema dice exactamente qué campos existen, así que las columnas no declaradas nunca llegan al agente. .redactPII() elimina las rutas indicadas en cada respuesta. .rules() se convierten en líneas del system prompt que enseñan al modelo las unidades.

3. Escribe la 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 la tool como de solo lectura. Usa f.mutation() para escrituras y f.action() para cualquier cosa con efectos secundarios. .returns(InvoicePresenter) conecta la capa de percepción: el handler puede devolver la fila cruda, el moldeado lo hace el Presenter.

Nunca devuelvas PII desde un handler sin un Presenter conectado. Con MCP Fusion el Presenter es el firewall de salida; sin él, lo que el handler devuelva va al modelo tal cual.

4. Conecta un cliente

Arranca el dev server y conecta Claude Desktop, Cursor o cualquier cliente MCP:

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

Pregunta al cliente "what is invoice inv_2026_0417?" y observa cómo la respuesta llega en dólares, sin el email del cliente por ninguna parte del transcript.

5. Despliega gratis

bash
mcpfusion deploy

Un solo comando empaqueta tu servidor y lo pone en el Vinkius Edge: alojamiento gratuito, sin tarjeta de crédito. Recibes un token de conexión y una MCP URL como https://edge.vinkius.com/vk_<token>/mcp. Tu conector aparece en la consola de Vinkius como cualquier otro conector, con capabilities, credenciales y controles de coste ya conectados. Consulta Deploy para el recorrido completo.

Qué has construido

PiezaRol
f.query()Una tool de solo lectura que el agente puede invocar
createPresenter()La capa de percepción entre tus datos y el modelo
.redactPII()La garantía de que el PII nunca llega al modelo
.returns()El cable entre handler y Presenter
mcpfusion deployAlojamiento gratuito en el Vinkius Edge

Próximos pasos

  • The MVA pattern: por qué existen los Presenter
  • Tools: mutations, actions, middleware y errores
  • Credentials: deja que los compradores configuren sus propias claves