validate_compliance
Validate audit scenarios against IIA professional standards, identify compliance gaps, and receive actionable recommendations for adherence.
Instructions
Check compliance against IIA standards and provide recommendations
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| scenario | Yes | Audit scenario or situation to validate | |
| standardsToCheck | No | Specific standards to check against (optional) |
Implementation Reference
- iia_mcp_server.ts:475-522 (handler)The primary handler function that implements the logic for the 'validate_compliance' MCP tool. It auto-detects relevant IIA standards from the scenario keywords if none specified, retrieves details for each, and formats a compliance validation response.private async validateCompliance(scenario: string, standardsToCheck?: string[]): Promise<any> { let relevantStandards = standardsToCheck || []; if (relevantStandards.length === 0) { // Auto-detect relevant standards based on scenario keywords const keywords = scenario.toLowerCase(); if (keywords.includes('independence') || keywords.includes('objective')) { relevantStandards.push('1100', '1110', '1120', '1130'); } if (keywords.includes('plan') || keywords.includes('planning')) { relevantStandards.push('2010', '2200', '2201', '2210'); } if (keywords.includes('report') || keywords.includes('communication')) { relevantStandards.push('2400', '2410', '2420', '2440'); } if (keywords.includes('risk')) { relevantStandards.push('2010', '2120', '2201'); } } const validationResults = []; for (const standardNumber of relevantStandards) { const standardDetails = await this.getStandardDetails(standardNumber); if (standardDetails.content[0].text.includes('not found')) { continue; } validationResults.push({ standard: standardNumber, details: standardDetails.content[0].text, }); } const formattedResults = validationResults.map(result => `**Standard ${result.standard}:**\n${result.details.substring(0, 300)}...` ).join('\n\n---\n\n'); return { content: [ { type: 'text', text: `Compliance validation for scenario: "${scenario}"\n\nRelevant standards: ${relevantStandards.join(', ')}\n\n${formattedResults}`, }, ], }; }
- iia_mcp_server.ts:262-280 (registration)The tool registration entry in the ListTools response, including the tool name, description, and input schema definition.{ name: 'validate_compliance', description: 'Check compliance against IIA standards and provide recommendations', inputSchema: { type: 'object', properties: { scenario: { type: 'string', description: 'Audit scenario or situation to validate', }, standardsToCheck: { type: 'array', items: { type: 'string' }, description: 'Specific standards to check against (optional)', }, }, required: ['scenario'], }, },
- iia_mcp_server.ts:313-314 (registration)The dispatch case in the CallToolRequest handler that routes 'validate_compliance' calls to the private validateCompliance method.case 'validate_compliance': return this.validateCompliance(args.scenario, args.standardsToCheck);