dhis2_configure_app_manifest
Generate or update the manifest.webapp configuration file for DHIS2 applications, specifying app metadata, entry points, permissions, and developer details.
Instructions
Generate or update manifest.webapp file for DHIS2 app
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | App name | |
| version | Yes | App version (e.g., "1.0.0") | |
| description | Yes | App description | |
| developer | Yes | ||
| icons | No | ||
| activities | Yes | ||
| authorities | No | Required DHIS2 authorities/permissions | |
| appType | No | Type of DHIS2 application | |
| launch_path | No | Launch path for the app |
Implementation Reference
- src/webapp-generators.ts:144-195 (handler)Core handler function that generates DHIS2 app manifest content from input parameters, formats it as markdown with installation instructions and examples.export function generateManifestContent(args: any): string { const { name, version, description, developer, icons, activities, authorities, appType, launch_path } = args; const manifest = { version: version || '1.0.0', name: name, description: description, developer: { name: developer.name, ...(developer.email && { email: developer.email }) }, icons: icons || { "48": "./icon-48.png", "128": "./icon-128.png" }, activities: activities, ...(authorities && { authorities }), ...(appType && { appType }), ...(launch_path && { launch_path }) }; return `# DHIS2 App Manifest Configuration ## Generated manifest.webapp \`\`\`json ${JSON.stringify(manifest, null, 2)} \`\`\` ## Installation Instructions 1. Save the above content as \`public/manifest.webapp\` in your app directory 2. Ensure icon files exist at the specified paths 3. Update authorities array with required permissions 4. Customize the launch_path if needed ## Authority Examples \`\`\`json "authorities": [ "F_METADATA_IMPORT", "F_METADATA_EXPORT", "F_DATA_VALUE_ADD", "F_DATAVALUE_ADD_WITHIN_ASSIGNED_ORGUNIT", "F_TRACKED_ENTITY_INSTANCE_ADD", "F_PROGRAM_ENROLLMENT" ] \`\`\` ## App Type Options - **APP**: Standard DHIS2 application - **DASHBOARD_WIDGET**: Dashboard plugin/widget - **TRACKER_DASHBOARD_WIDGET**: Tracker-specific dashboard widget `; }
- src/index.ts:973-983 (handler)MCP server request handler that receives tool call parameters and invokes the generateManifestContent function, returning the result as text content.case 'dhis2_configure_app_manifest': const manifestArgs = args as any; const manifestContent = generateManifestContent(manifestArgs); return { content: [ { type: 'text', text: manifestContent, }, ], };
- src/permission-system.ts:134-134 (registration)Tool permission registration mapping the tool to 'canConfigureApps' permission requirement.['dhis2_configure_app_manifest', 'canConfigureApps'],
- src/index.ts:19-35 (registration)Import of the generateManifestContent handler function into the main MCP server index.generateWebAppInitInstructions, generateManifestContent, generateBuildSystemConfig, generateDevEnvironmentConfig, generateAppRuntimeConfig, generateAuthenticationPatterns, generateUIComponents, generateUIFormPatterns, generateUIDataDisplayPatterns, generateUINavigationLayout, generateDesignSystemConfig, generateAndroidMaterialForm, generateAndroidListAdapter, generateAndroidNavigationDrawer, generateAndroidBottomSheet, generateTestSetup } from './webapp-generators.js';