fusion-mcp-cli
Version:
CLI tool for Fusion MCP Hub - Manage custom and community MCP servers. Web App: https://fusion-mcp-hub.vercel.app (General) | https://fusion-mcp-prod.isc-code-connect.dal.app.cirrus.ibm.com (IBM)
170 lines • 4.2 kB
TypeScript
export interface ApiResponse<T = any> {
success: boolean;
data?: T;
error?: string;
message?: string;
}
export interface CustomServer {
id: string;
name: string;
description: string;
version: string;
category: string;
icon: string;
color: string;
selectedServers: any[];
selectedTools: any[];
deploymentConfig: any;
status: string;
createdAt: string;
updatedAt: string;
changeHistory?: any[];
}
export interface Workspace {
id: string;
name: string;
description?: string;
createdAt: string;
}
export interface Tool {
name: string;
description: string;
parameters: string[];
example?: string;
}
export interface SetupStep {
step: number;
title: string;
description: string;
code?: string;
}
export interface ConfigurationJSON {
local?: {
prerequisites?: string;
configJson: string;
notes?: string;
};
remote?: {
prerequisites?: string;
configJson: string;
notes?: string;
};
}
export interface ServerAuthor {
name: string;
email?: string;
githubUsername?: string;
avatarUrl?: string;
}
export interface CommunityServer {
id: string;
name: string;
description: string;
version: string;
language: string;
category: string;
icon: string;
color: string;
githubUrl?: string;
npmPackage?: string;
defaultEndpoint?: string;
hostingType?: "local" | "remote";
connectionModes?: {
websocket?: {
enabled: boolean;
port: number;
endpoint: string;
description: string;
};
http?: {
enabled: boolean;
port: number;
endpoint?: string;
baseUrl?: string;
description: string;
};
};
status: string;
downloadCount: number;
viewCount: number;
ratingAvg: number;
ratingCount: number;
tools: Tool[];
features: string[];
useCases: string[];
setupInstructions: SetupStep[];
configurationJson?: ConfigurationJSON;
tags: string[];
license?: string;
author: ServerAuthor;
}
export interface CommunityServerFilters {
category?: string;
language?: string;
search?: string;
sortBy?: "popularity" | "rating" | "recent" | "alphabetical";
limit?: number;
skip?: number;
}
/**
* API Client for Fusion MCP
*/
export declare class ApiClient {
private client;
constructor();
/**
* Verify API token using the verify endpoint
*/
verifyToken(): Promise<boolean>;
/**
* Login with API token
*/
login(apiToken: string, apiUrl?: string): Promise<ApiResponse>;
/**
* List all workspaces
*/
listWorkspaces(): Promise<ApiResponse<Workspace[]>>;
/**
* List all custom servers
*/
listServers(workspaceId?: string): Promise<ApiResponse<CustomServer[]>>;
/**
* Get server details
*/
getServer(serverId: string): Promise<ApiResponse<CustomServer>>;
/**
* Download server package
*/
downloadServer(serverId: string): Promise<ApiResponse<{
downloadUrl: string;
}>>;
/**
* Update server
*/
updateServer(serverId: string, updates: Partial<CustomServer>): Promise<ApiResponse<CustomServer>>;
/**
* Upload server package (zip file)
*/
uploadServer(serverId: string, zipFilePath: string, options?: {
versionBump?: "major" | "minor" | "patch";
message?: string;
onProgress?: (progress: number) => void;
}): Promise<ApiResponse<CustomServer>>;
/**
* Rollback server to specific version
*/
rollbackServer(serverId: string, targetVersion: string): Promise<ApiResponse>;
/**
* List all community servers
*/
listCommunityServers(filters?: CommunityServerFilters): Promise<ApiResponse<CommunityServer[]>>;
/**
* Get community server details
*/
getCommunityServer(serverId: string): Promise<ApiResponse<CommunityServer>>;
}
/**
* Get API client instance
*/
export declare function getApiClient(): ApiClient;
//# sourceMappingURL=client.d.ts.map