MCP Fusion/Get started/Inicio Rápido
Inicio Rápido
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
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
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
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:
mcpfusion dev --server ./src/server.ts
claude mcp add billing npx tsx src/server.tsPregunta 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
mcpfusion deployUn 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
| Pieza | Rol |
|---|---|
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 deploy | Alojamiento 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
