UNPKG

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
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