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.
60 lines • 1.87 kB
TypeScript
import { Tool } from '@modelcontextprotocol/sdk/types.js';
export interface UserPermissions {
canCreateMetadata: boolean;
canUpdateMetadata: boolean;
canDeleteMetadata: boolean;
canViewMetadata: boolean;
canEnterData: boolean;
canViewData: boolean;
canImportData: boolean;
canExportData: boolean;
canDeleteData: boolean;
canManageUsers: boolean;
canManageSystem: boolean;
canViewSystemInfo: boolean;
canRunAnalytics: boolean;
canManageDashboards: boolean;
canManagePrograms: boolean;
canEnrollTEI: boolean;
canViewTEI: boolean;
canManageTrackerData: boolean;
canUseMobileFeatures: boolean;
canConfigureMobile: boolean;
canUseUITools: boolean;
canConfigureApps: boolean;
canDebugApplications: boolean;
isReadOnly: boolean;
authorities: string[];
}
export interface DHIS2UserInfo {
id: string;
displayName: string;
username: string;
authorities: string[];
userGroups: Array<{
id: string;
name: string;
}>;
organisationUnits: Array<{
id: string;
name: string;
}>;
userRoles: Array<{
id: string;
name: string;
authorities: string[];
}>;
}
export declare class PermissionSystem {
private static readonly TOOL_PERMISSIONS;
static extractPermissionsFromDHIS2User(userInfo: DHIS2UserInfo): UserPermissions;
static createDefaultPermissions(): UserPermissions;
static filterToolsByPermissions(tools: Tool[], permissions: UserPermissions): Tool[];
static getPermissionSummary(permissions: UserPermissions): {
level: 'read-only' | 'data-entry' | 'metadata-manager' | 'system-admin' | 'developer';
description: string;
allowedOperations: string[];
restrictedOperations: string[];
};
}
//# sourceMappingURL=permission-system.d.ts.map