Skip to content

Function: createFusionClient()

ts
function createFusionClient<TRouter>(transport, options?): FusionClient<TRouter>;

Defined in: packages/core/src/client/FusionClient.ts:439

Create a type-safe MCP client.

The client provides full autocomplete for action names and compile-time validation for arguments based on the server's router type.

Type Parameters

Type ParameterDescription
TRouter extends RouterMapThe router map (use InferRouter<typeof registry>)

Parameters

ParameterTypeDescription
transportFusionTransportThe MCP transport layer
options?FusionClientOptionsClient options (middleware, error handling)

Returns

FusionClient<TRouter>

A typed FusionClient

Examples

typescript
import type { AppRouter } from './mcp-server';

const client = createFusionClient<AppRouter>(transport);

// Full autocomplete + type validation:
await client.execute('projects.create', { name: 'Vinkius V2' });

// TS error: 'projects.nonexistent' is not a valid action
await client.execute('projects.nonexistent', {});

// TS error: missing required arg 'name'
await client.execute('projects.create', {});
typescript
// With client middleware and throwOnError
const client = createFusionClient<AppRouter>(transport, {
    throwOnError: true,
    middleware: [
        async (action, args, next) => {
            console.log(`[Client] calling ${action}`);
            const result = await next(action, args);
            console.log(`[Client] ${action} done`);
            return result;
        },
    ],
});