dhis2-mcp-server
Version:
A Model Context Protocol server providing 108 tools for DHIS2 development, including code generators, debugging helpers, and documentation access for web and Android app development.
62 lines • 2.21 kB
TypeScript
export interface ServerCapability {
domain: string;
operations: string[];
version: string;
}
export interface MCPServerInfo {
name: string;
version: string;
capabilities: ServerCapability[];
compatibleWith: string[];
compositionMode: boolean;
description: string;
authors?: string[];
documentation?: string;
}
export interface CrossServerContext {
sourceServer: string;
targetServer?: string;
data: any;
timestamp: string;
operationType: 'export' | 'import' | 'transform' | 'notify';
metadata: Record<string, any>;
}
export interface CompositionWorkflow {
id: string;
name: string;
description: string;
steps: CompositionWorkflowStep[];
triggers?: string[];
enabled: boolean;
}
export interface CompositionWorkflowStep {
id: string;
server: string;
tool: string;
parameters: Record<string, any>;
conditionCheck?: (context: CrossServerContext) => boolean;
dataTransform?: (input: any) => any;
onSuccess?: CompositionWorkflowStep[];
onError?: CompositionWorkflowStep[];
}
export declare class MultiServerComposition {
private serverInfo;
private compatibleServers;
private workflows;
private contextHistory;
constructor();
getServerInfo(): MCPServerInfo;
registerCompatibleServer(serverInfo: MCPServerInfo): void;
getCompatibleServers(): MCPServerInfo[];
createCrossServerContext(sourceServer: string, data: any, operationType: 'export' | 'import' | 'transform' | 'notify', metadata?: Record<string, any>): CrossServerContext;
exportDataForComposition(toolName: string, result: any, metadata?: Record<string, any>): CrossServerContext;
generateIntegrationExamples(): string;
private initializeDefaultWorkflows;
getWorkflows(): CompositionWorkflow[];
executeWorkflow(workflowId: string, initialContext?: Record<string, any>): Promise<CrossServerContext[]>;
getContextHistory(limit?: number): CrossServerContext[];
clearContextHistory(): void;
isCompatible(serverName: string): boolean;
getCompositionRecommendations(currentTool: string, result: any): string[];
}
//# sourceMappingURL=multi-server-composition.d.ts.map