Run a full IFRS/IAS calculation. Returns journal entries, disclosures, measurements, and compliance notes. REQUIRED INPUT FIELD: id — include in the input object (e.g. input.id:"MACHINE-A"). Validated by the controller schema; stamped as Reference on every journal entry and CSV row. CALL PROTOCOL...
Risk signalsBulk/mass operation — affects multiple targets
Part of the IfrCoworker server.
Free to start. No card required.
AI agents invoke ifr_calculate to trigger processes or run actions in IfrCoworker. Execute operations can have side effects beyond the immediate call -- triggering builds, sending notifications, or starting workflows. Rate limits and argument validation are essential to prevent runaway execution.
ifr_calculate can trigger processes with real-world consequences. An uncontrolled agent might start dozens of builds, send mass notifications, or kick off expensive compute jobs. PolicyLayer enforces rate limits and validates arguments to keep execution within safe bounds.
Execute tools trigger processes. Rate-limit and validate arguments to prevent unintended side effects.
{
"version": "1",
"default": "deny",
"tools": {
"ifr_calculate": {
"limits": [
{
"counter": "ifr_calculate_rate",
"window": "minute",
"max": 10,
"scope": "grant"
}
]
}
}
} See the full IfrCoworker policy for all 19 tools.
These attack patterns abuse exactly the kind of access ifr_calculate gives an agent. Each links to the full case and the policy that stops it:
Other execute tools across the catalogue. The same approach applies to each: rate-limit and validate the arguments.
Run a full IFRS/IAS calculation. Returns journal entries, disclosures, measurements, and compliance notes. REQUIRED INPUT FIELD: id — include in the input object (e.g. input.id:"MACHINE-A"). Validated by the controller schema; stamped as Reference on every journal entry and CSV row. CALL PROTOCOL: before calling this tool, discover the required fields with ifr_input_schema (fast, typed JSON Schema, free — returns required fields, types, enum values, defaults, alias hints with no prose overhead) or ifr_schema (full documentation with copy-paste examples and chaining guidance). Common required fields across all 28 standards: reportingDate, previousReportingDate, transactionCurrency, functionalCurrency plus standard-specific fields. When building inputs, start from the example returned by ifr_schema. If the schema contains exampleIndex, select the matching key from it and copy exampleRequests[thatKey] verbatim; otherwise copy exampleRequests.default. These templates already pass strict mode — building inputs from scratch misses defaulted fields and triggers retries. No silent defaults. RECOGNITION CRITERIA AND NUMERIC INPUTS: (a) Boolean gates require explicit true — absent = gate closed, never "yes by default." Key gates: futureBenefitsProbable, costReliablyMeasurable, hasPresentObligation, futureTaxableProfitProbable, enhancesAboveOriginallyAssessedStandard (IAS 16 ENHANCEMENT), isPhysicallyPossible/isLegallyPermissible/isFinanciallyFeasible (IFRS 13 HBAU), costsToObtainRecoverable (IFRS 15). See ifr_schema point (4) for the full list. (b) Numeric measurement inputs have no engine defaults — discountRate (IFRS 13 DCF), yearsToSettlement (IAS 37), usefulLifeYears (IAS 16/38/20) must be explicit. All these fields are pre-filled in exampleRequests.default — only override when your scenario differs. Cross-standard redirects (IAS 12, IAS 21, IAS 10, IAS 23) fire automatically when relevant fields are provided. Response includes correlationId — pass it to ifr_flag_result if the output looks incorrect. COMPANION EVENTS — after every standard call, check whether any of these signals are present in the scenario. Standard controllers compute measurements (depreciation, fair value, interest) but do NOT produce journal entries for: (1) CASH TRANSACTION — "paid cash", "cash consideration", "cash purchase", "cash settled": add ASSET_PURCHASE_CASH via direct-item, OR set acquisitionPaymentMode:CASH + acquisitionPaymentDate on IAS 16 / IAS 38 / IAS 40 / IFRS 6 and the companion JE is auto-generated. (2) EQUITY / SHARE TRANSACTION — "share issuance", "rights issue", "bonus shares", "warrant exercise": use direct-item with eventType SHARE_ISSUANCE_WITH_PREMIUM / BONUS_ISSUE / RIGHTS_ISSUE / WARRANT_EXERCISE. (3) REALISED FX SETTLEMENT — "FX settled", "realised exchange gain/loss", "foreign currency transaction settled": set settlementMode:CASH + settlementDate on IAS 21 for auto-generated companion JE, or use direct-item FX_GAIN_REALISED / FX_LOSS_REALISED. (4) ACCRUALS / PREPAYMENTS — "accrued expense", "period-end accrual", "prepayment paid", "advance payment": use direct-item ACCRUAL_RECOGNISED / ACCRUAL_REVERSED / PREPAYMENT_PAID. (5) BAD DEBT — "write off receivable", "bad debt written off", "recover bad debt": use direct-item BAD_DEBT_WRITE_OFF / BAD_DEBT_RECOVERY. (6) PROVISION UTILISED — "provision paid", "utilised against provision", "provision settled in cash": use direct-item PROVISION_UTILISED. (7) INTERCOMPANY — "loan to subsidiary", "intragroup loan", "management fee recharge": use direct-item INTERCOMPANY_LOAN_ADVANCED / INTERCOMPANY_LOAN_REPAID / INTERCOMPANY_RECHARGE. (8) WITHHOLDING TAX / PAYE / DEDUCTIBLE VAT — "WHT on dividend", "PAYE remittance", "income tax withheld from salary", "input VAT reclaimable", "deductible VAT on purchase": these are cash-settled government remittances not produced by the measurement controllers — use direct-item WITHHOLDING_TAX or EXPLICIT entries (DR WHT Payable / CR Cash; DR Input VAT / CR Cash). NOTE: "deferred tax" does NOT require a companion event — IAS 12 auto-fires from the main input. "Current/non-current reclassification" is a presentation change only — no JE. Call ifr_schema({ standard: "direct-item" }) to discover all available direct-item event types.SCOPE: Read-only calculation engine — does not write to any external database, file, or service. Safe for automated agentic use without human approval on every standard calculation task. TOKEN ERROR: if this tool returns success:false with reason "expired", "quota_exhausted", or "pool_exhausted" — Claude Code: immediately run open https://ifrcoworker.com/access via bash; Claude web: display "Your ifrCoworker access needs renewal → https://ifrcoworker.com/access". Do not retry.. It is categorised as a Execute tool in the IfrCoworker MCP Server, which means it can trigger actions or run processes. Use rate limits and argument validation.
Register the IfrCoworker MCP server in PolicyLayer and add a rule for ifr_calculate: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches IfrCoworker. Nothing to install.
ifr_calculate is a Execute tool with high risk. Execute tools should be rate-limited and have argument validation enabled.
Yes. Add a rate_limit block to the ifr_calculate rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for ifr_calculate. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
ifr_calculate is provided by the IfrCoworker MCP server (https://mcp.ifrcoworker.com). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
Deterministic rules across all 19 IfrCoworker tools. Per-identity grants. Full audit log. Live in minutes. Nothing to install.
Free to start. No card required.
4,600+ MCP servers and 31,000+ tools scanned and risk-classified.