# ifrCoworker MCP server

IFRS engine: 27 standards, journal entries, XBRL tags, ECL, CGU impairment, deferred tax.

## Links
- Registry page: https://www.getdrio.com/mcp/com-spocont-ifrcoworker
- Website: https://ifrcoworker.com

## Install
- Endpoint: https://mcp.ifrcoworker.com
- Auth: Auth required by registry metadata

## Setup notes
- Remote header: Authorization (required; secret)
- The upstream registry signals required auth or secrets.
- Remote endpoint: https://mcp.ifrcoworker.com
- Header: Authorization

## Tools
- ifr_schema - If you know the economic object type but not the standard, pass `elementType` (e.g. 'lease', 'asset', 'financial-instrument') instead of `standard`. For multi-standard types (asset, equity-method-investment), also pass `assetClass` or `investmentType` to get the specific standard's schema. The recurring IFRS 10 group close is elementType 'group'; the IFRS 3 day-1 acquisition is 'business-combination'. This tool returns the input schema for a specific standard: field definitions, IAS/IFRS paragraph references, and a copy-paste-ready `exampleRequests.default` template. Use ifr_route_event if unsure which standard applies. CHOOSING THE RIGHT FIELD-DISCOVERY TOOL: (A) ifr_input_schema — lightweight, fast, free; returns a typed JSON Schema (required fields, types, enum values, defaults) with no prose; use when you need to validate your input programmatically or see which fields are required. (B) ifr_schema (this tool) — full documentation; returns field descriptions, IAS paragraph references, copy-paste `exampleRequests`, `exampleIndex`, and chaining guidance; use when you need to understand WHAT each field means, pick the right example variant, or onboard to a new standard. Both tools are safe to call in parallel. EXAMPLE SELECTION — after calling ifr_schema: (A) If the response contains `exampleIndex`: scan every key and pick the one whose description best matches your scenario — copy `exampleRequests[thatKey]` verbatim, do NOT default to `exampleRequests.default` when a more specific key exists. (B) If only `exampleRequests` is present: copy `exampleRequests.default`. In both cases revise every field to real business values. Field meanings are in `fields[fieldName].description` in the same response. SCHEMA VERSION CONTROL HASH: if reusing a cached input, compare the returned `schemaVersionControlHash` (12-char hex) against your previously recorded value — a changed hash means FIELD_DEFINITIONS were updated, discard the cached input and rebuild from the current schema. 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. Endpoint: https://mcp.ifrcoworker.com
- ifr_validate - If you know the economic object type but not the standard, pass `elementType` instead of `standard`. The discriminator field (`assetClass` for 'asset', `investmentType` for 'equity-method-investment') must be included in the `input` object. OPTIONAL pre-flight validator — only use when you need to surface errors to the user before attempting ifr_calculate. REQUIRED INPUT FIELD: `id` — include in the `input` object, same value as used in ifr_calculate. ifr_calculate validates internally and returns the same structured errors; calling ifr_validate first adds a round-trip without new information. Use when: user explicitly asks to check data, or when unsure about a complex array structure before committing. Returns errors, warnings, and missingFields with paragraph references. No silent defaults in MCP mode — all fields must be explicit. MANDATORY CONSIDERATIONS: validation rejects requests that leave a tier-1 cascade consideration unaddressed (UNADDRESSED errors) — e.g. no impairment-indicator assessment, no deferred-tax position, no dismantling decision at initial recognition. The error text names both cures: supply the data fields, or record the explicit judgment (0 / false / enum). These judgment values must come from the USER — never invent them. 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. Endpoint: https://mcp.ifrcoworker.com
- ifr_calculate - If you know the economic object type but not the standard, pass `elementType` instead of `standard`. The discriminator field (`assetClass` for 'asset', `investmentType` for 'equity-method-investment') must be included in the `input` object. 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"). Stamped as Reference on every journal entry and CSV row. Before calling this tool, call ifr_input_schema (fast, free, typed JSON Schema) or ifr_schema (full documentation with copy-paste examples). Boolean recognition gates require explicit true — absent = gate closed. Numeric measurement inputs (discountRate, yearsToSettlement, usefulLifeYears) have no engine defaults. Cross-standard redirects fire automatically when relevant fields are provided. CASCADE TRACE: every response includes `context.cascadeTrace` — an array of every standard chain evaluated: { child, mode:"PRE_CALCULATION"|"POST_CALCULATION", status:"fired"|"skipped", skipReason?, result? }. PRE_CALCULATION = satellite inputs resolved before the primary calc (e.g. IAS 23 borrowing costs → capitalised into IAS 16 cost). POST_CALCULATION = consequential standards applied to the primary result (e.g. IAS 12 deferred tax on the asset temporary difference). status:"skipped" entries carry a machine-readable skipReason — the chain was considered, not merely omitted. This is audit-grade completeness evidence. CONSIDERATION TIERS (three-state conditionality): schema.cascades entries carry considerationTier MANDATORY or CONDITIONAL. A MANDATORY consideration (IAS 36.9 indicator assessment; IAS 12 temporary differences; IAS 23 borrowing costs and IAS 37 dismantling/restoration at initial recognition; IFRS 16.9 embedded-lease assessment on IFRS 15 contracts) must be addressed on every applicable call: supply the data evidence fields OR explicit denial evidence (dismantlingEstimate: 0, impairmentIndicatorsPresent: false, leaseInContract: false, deferredTaxAssessment: "HANDLED_CENTRALLY"|"NOT_APPLICABLE"|"NO_TEMPORARY_DIFFERENCE") — omitting both FAILS validation. Denial evidence is human judgment: ASK THE USER for it, never fabricate it. Explicit denials appear in cascadeTrace as skipReason JUDGED_NOT_APPLICABLE with the evidence quoted; CONDITIONAL chains stay presence-based (TRIGGER_FIELDS_ABSENT / CONDITION_NOT_MET). Response includes correlationId — pass it to ifr_flag_result if the output looks incorrect. DOWNLOAD: context.calculationSheetsUrl contains a direct download link for an 8-sheet Excel workbook (Journal Entries, Movements Balance, Movements in SoFP, Financial Performance, OCI, Movements in Equity, Cashflow, Disclosure Checklist) valid for 24 hours — always present this URL to the user so they can open the structured output in Excel or Google Sheets. INPUT COVERAGE: data.ignoredInputs lists every submitted field the taken calculation path did not use (CF 2.13 completeness). When non-empty, the engine AUTOMATICALLY flags the answer for quality check server-side (context.ignoredInputsAlert carries the flagId) — review the listed fields and, if a different branch was intended, adjust the activating fields and recalculate. 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. Endpoint: https://mcp.ifrcoworker.com
- ifr_apply_ias10 - Apply IAS 10 (Events After Reporting Period) overlay to a prior calculation output. Classifies events as adjusting/non-adjusting, assesses going concern, generates adjusted journal entries. Most standards auto-trigger IAS 10 when subsequentEventDate + subsequentEventKind are provided — use this tool only for manual overlay or multi-standard combinations. 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. Endpoint: https://mcp.ifrcoworker.com
- ifr_route_event - ROUTER — the entry point for every business event. Describe what happened in plain language ("bought a machine", "signed an office lease", "customer went bankrupt") and get back the exact call to make. FREE — no usage charge. Each match carries an `endpoint` block with the EXACT next call: the ifr_calculate arguments (economic elementType + discriminator where a cascade-element route exists, otherwise the standard slug), the REST cascade endpoint, and `autoCascades` — the child standards that fire automatically inside that one ifr_calculate call. CRITICAL: never call autoCascade standards separately — they execute inside the primary call and their results appear in `context.cascadeTrace`. Calling them again would duplicate journal entries. Copy `endpoint.mcpCall` instead of deriving routing yourself. The matched standards (top 3, with rationale and copy-paste-ready minimal examples) are supporting detail — the endpoint block is the answer. UTILITY SLUG (use ifr_schema + ifr_calculate with this when no IFRS standard applies): "direct-item" — universal "else" controller for ALL journal entries not covered by a dedicated IFRS/IAS standard. Four input modes: (1) EVENT-LABEL: expenseCategory (PERSONNEL, DIVIDEND_DECLARED, VAT_OUTPUT, WITHHOLDING_TAX, DISCONTINUED_OPERATIONS, etc.) + amount — auto-fills accounts and XBRL; (2) EXPLICIT: entries[] with DR/CR lines — per-line XBRL enrichment, statementPlacement, xbrlFacts[]; (3) PATTERN: pattern keyword string — matches one of 18 named JE_PATTERNS (associate dividend, salary+PAYE, VAT settlement, period close, etc.); (4) LINE-ITEMS: lineItems[] array for multiple independent event-label items. BEFORE calling ifr_calculate with standard "direct-item": read the MCP resource ifrs://reference/direct-je-patterns — it lists all 18 named scenarios with keywords and DR/CR account pairs. Endpoint: https://mcp.ifrcoworker.com
- ifr_input_schema - Returns the JSON Schema for the input to ifr_calculate for a given standard. Use this to discover required fields, enum values, and defaults without calling ifr_schema. Returns a standard JSON Schema object suitable for programmatic validation. Derived from the controller FIELD_DEFINITIONS — always reflects the current engine version. FREE — no usage charge. Endpoint: https://mcp.ifrcoworker.com
- ifr_period_checklist - Planning tool for a full period-end close. Pass an entityProfile of fact flags (hasInventory, hasPPE, hasLeases, hasFinancialInstruments, isGroup, isListed, incomeTaxApplicable, etc.) and get back the exact ordered list of IFRS/IAS standards to run for this entity — each with its requiredInputFields and its opening* carry-forward fields. Run the standards in executionOrder, or submit them together as an ifr_period_end_batch (which sorts internally). For each standard, carry the prior period's closing* outputs into the matching opening* inputs — the engine is stateless and holds no entity config or prior balances. FREE — no usage charge. Call this BEFORE ifr_batch_validate / ifr_period_end_batch to know what to assemble. Endpoint: https://mcp.ifrcoworker.com
- ifr_period_end_batch - THE period-end execution tool — process multiple IFRS calculations for a reporting period in one call (year-end, quarter-end, or month-end). One tool, three modes: (1) PLAIN BATCH (default): items + accountingPolicy → per-item results, consolidated journal entries, trial balance, and all financial statements. (2) SUMMARY: leave includeWorkings false (the default) for the compact ~200KB response; set includeWorkings:true only when step-by-step workings are needed (~600KB). (3) CLOSE: additionally pass entityProfile (fact flags) for a one-call period-end close — the response gains the applicability checklist, recommendedOrder, and a coverage analysis flagging any standard the profile implies but no item was supplied for (the checklist/coverage portion is free). REQUIRED: each item's `input` object must include an `id` field (e.g. { type:"ias37", input:{ id:"PROV-LEGAL-001", ...otherFields } }) — validated by the controller schema; stamped as Reference on every journal entry for that item. GROUP vs BATCH: the batch produces SINGLE-ENTITY statements — an ifrs10 item triggers groupGuidance in the response. Consolidated/group statements come from the group cascade (ifr_calculate with elementType "group", parent + entities[]), which always returns group financialStatements. Flow: per-entity batch first, then one group call. CASCADE TRACE: each item result carries `context.cascadeTrace` — every cross-standard chain evaluated (PRE satellite inputs + POST consequential standards), each with status "fired" or "skipped" and a skipReason when skipped. This is the per-item completeness record. MANDATORY CONSIDERATIONS: every item must address its tier-1 cascade considerations (data OR explicit denial evidence — impairmentIndicatorsPresent: false, deferredTaxAssessment enum, dismantlingEstimate: 0...); preflight validation rejects silent omissions and these judgment fields are EXCLUDED from auto-fill — collect the answers from the user (ifr_period_checklist lists them per standard under mandatoryConsiderations). INPUT COVERAGE: each item's data.ignoredInputs lists submitted fields the taken path did not use; affected items are rolled up in the batch-level ignoredInputsAlerts and each was AUTOMATICALLY flagged for quality check server-side. ACCOUNTING POLICY — build the accountingPolicy block BEFORE calling this tool. Required policy blocks by standard (add the block whenever that standard appears in items[]): ias2: { costFormula: "FIFO"|"WEIGHTED_AVERAGE"|"SPECIFIC_IDENTIFICATION" } · ias7: { presentationMethod: "INDIRECT"|"DIRECT", interestPaidClassification: "OPERATING"|"FINANCING", interestReceivedClassification: "OPERATING"|"INVESTING", dividendsReceivedClassification: "OPERATING"|"INVESTING", dividendsPaidClassification: "FINANCING"|"OPERATING" } · ias16: { measurementModel: "COST"|"REVALUATION" } · ias20: { grantPresentationMethod: "DEFERRED_INCOME"|"DEDUCTION_FROM_ASSET" } · ias38: { measurementModel: "COST"|"REVALUATION" } · ias40: { measurementModel: "COST"|"FAIR_VALUE" } · ifrs6: { explorationCostPolicy: "EXPENSE"|"CAPITALISE" }. Always include at top level: functionalCurrency, presentationCurrency, reportingDate, previousReportingDate. RATE GOVERNANCE: discount/interest rates are explicit inputs — preflight rejects (free, no credits) any item whose required rate is missing. Supply rates per item, or once for the whole batch via accountingPolicy.reportingInterestRates { corporateBondYield (IAS 19.83), riskFreePreTax (IAS 37.47 — provisions, dismantling/restoration), governmentBondYield, riskFreePostTax }. Lease rates (IFRS 16.26 implicit rate / IBR) and instrument EIRs are lease/instrument-specific — always per item, never a policy default. Which rate type applies where: read ifrs://reference/discounting-and-interest-rate-guide; each schema response lists its rateRequirements. ASSEMBLY WORKFLOW: (1) IDENTIFY — for each item whose standard is not explicitly named, call ifr_route_event in parallel to resolve the slug. (2) FREE VALIDATE LOOP — assemble all items[] plus accountingPolicy, then call ifr_batch_validate (free). Fix all reported errors and repeat until allValid: true. Never call ifr_period_end_batch until allValid is true — the validate loop costs zero credits. (3) CALCULATE — once allValid: true, submit to ifr_period_end_batch with mode: "partial". If an item still returns validation_error, fix only that item and re-run with only that item. Returns consolidated journal entries, trial balance grouped by XBRL section (BalanceSheet, IncomeStatement, OCI, Equity), and financial statements. DOWNLOAD: the response includes calculationSheetsUrl — a direct link to an 8-sheet Excel workbook (Movements in SoFP, Financial Performance, OCI, Movements in Equity, Cashflow, Disclosure Checklist, Journal Entries, Movements Balance) valid for 24 hours. ALWAYS present this link to the user immediately after a successful batch with a message such as "Your calculation workbook is ready: <calculationSheetsUrl> — click to download the Excel file." SIZE CONTROL: includeWorkings (default false) and includeXbrlEnrichment (default false) both default to off for compact responses. Set includeWorkings: true to add per-item step-by-step workings and individual journalEntries (~3–10× larger). Set includeXbrlEnrichment: true to add the full xbrl metadata object on each DR/CR line (parentElement, namespace, taxonomyYear, etc.) — needed for iXBRL filing. The trial balance always carries xbrlElement, xbrlSection, xbrlLabel regardless of includeXbrlEnrichment. Pass exportXbrl: true to receive an additional xbrlFacts array — a flat list of all monetary facts with full XBRL context (element, period, currency, decimals), with {ENTITY_ID} placeholder the user replaces with their LEI or other identifier. DELIVERY TO A GOOGLE SHEET — BEFORE you call this tool, ask the user explicitly whether they want the output (the .csv journal entries AND the financial statements) delivered back into a Google table (Google Sheet), or just returned inline. If the user says yes: FIRST verify that you (the calling agent) have a working Google Sheets / Drive connector and can actually write to it — perform a real write test (create or append a throwaway cell), not just a capability assumption. If no Google Sheets connector is connected or the write test fails, tell the user and DO NOT run the batch — this call is billable and the result could not be delivered where requested; resolve the connection first. Only once the export path is confirmed: call this tool with exportJournalCsv: true, then write the returned journalCsvFile content and the financialStatements into the Google Sheet. BATCH SIZE GUIDANCE: aim for ≤50 economic events (line items) per call to stay within context window limits and receive full workings. Above 50 items the response grows rapidly; above 200 items you will very likely receive a compact response (workings and disclosures stripped, journal entries + statements + trial balance remain intact). If the user has more than 50 economic events, split into multiple calls of ≤50 items each, then merge the trial balances and journal entry lists in your context — do not attempt a single call with 200+ items unless the user explicitly accepts compact output. 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. Endpoint: https://mcp.ifrcoworker.com
- ifr_batch_validate - FREE pre-flight validator for ifr_period_end_batch. Validates every item in one call and returns all missing required fields across the batch. STRICT GATE: do not call ifr_period_end_batch if allValid is false. Relay agentMessage to the user, collect missing data, re-run ifr_batch_validate, and only proceed once allValid is true. Zero credits — validation is credited inside the subsequent batch call. Endpoint: https://mcp.ifrcoworker.com
- ifr_ingest_document - Extract structured data from a PDF (contract, invoice, lease, bond indenture) using Google Document AI. Requires docuScanAccess on the token — returns 403 otherwise; do NOT retry or offer document scanning again this session if access is denied. PROTOCOL: (1) offer PDF processing to the user, (2) receive pdf as base64, (3) call this tool with pdf_base64 + the label of the value to extract, (4) call ifr_propose_mapping, (5) review the mapping WITH THE USER before calling ifr_calculate — OCR is never 100% accurate. 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. Endpoint: https://mcp.ifrcoworker.com
- ifr_propose_mapping - Map OCR data from ifr_ingest_document into an IFRS standard's input schema and validate it. Returns proposedInput, unmappedFields, missingRequiredFields, validation errors/warnings, needsUserInput[], and a confidence score. CRITICAL: proposedInput is a suggestion — every entry in needsUserInput[] must be confirmed by the user before calling ifr_calculate. Never auto-calculate from unverified OCR data. FREE — no usage charge. Endpoint: https://mcp.ifrcoworker.com
- ifr_flag_result - Flag a calculation result you believe is incorrect for expert review. Call immediately when the server output appears to contradict IFRS — wrong amount, missing journal entry, incorrect OCI/P&L routing, wrong paragraph, or missing disclosure. FREE — no credit charged. MINIMUM REQUIRED: standard + severity + aiReasoning (where it is wrong and why, citing the IFRS paragraph) + correlationId. The correlationId is sufficient — the server auto-attaches the full calculation from its cache. Do NOT copy the entire server response into serverOutput. RECOMMENDED: schemaVersionControlHash — pass the 12-char hex from the ifr_schema response you used when building the input. This lets the review team reproduce the exact schema version that generated the error. Severity: CALCULATION_ERROR | MISSING_DISCLOSURE | WRONG_JE | WRONG_PARAGRAPH | WRONG_OCI_PL_ROUTING | OTHER. Endpoint: https://mcp.ifrcoworker.com
- ifr_explain_result - Return a human-readable explanation of a previously computed calculation. Pass the correlationId from any ifr_calculate or ifr_period_end_batch response (valid for 10 min), OR pass the full prior response object as `calculation` — the stateless path, works at any time with no expiry. Returns a plain-language summary of the journal entries, IFRS paragraph references, and suggested next steps. FREE — no credit charged. Endpoint: https://mcp.ifrcoworker.com
- ifr_disclosure_checklist - Generate a disclosure-needs checklist for the period-end. FREE — no credit charged. Input: entityProfile fact flags (same shape as ifr_period_checklist) → returns the core MANDATORY disclosure requirements per applicable standard, each with its IAS/IFRS paragraph reference and category (policy / reconciliation / judgement / amount / risk). Optionally pass prior results inline via `calculations` (full ifr_calculate responses or a whole ifr_period_end_batch result) and each requirement is reconciled against the disclosures the engine actually produced: status per item = complete (value computed) | needs-entity-data (emitted but value null — narrative needed) | incomplete (calculated but requirement not addressed — investigate) | pending-calculation (standard applies, nothing supplied yet) | not-applicable. Use at period-end sign-off: run the batch, pass the batch result here, and work the non-complete items. Catalogue covers effective standards only. Endpoint: https://mcp.ifrcoworker.com
- ifr_replay - Deterministic audit replay — recompute a prior calculation from its input and verify it reproduces the stored output. FREE — no credit charged. The engine is stateless and pure: identical input + identical engine/schema version always produces identical output. Every ifr_calculate response carries an `audit` envelope { inputEcho, inputSha256, outputSha256, engineVersion, schemaVersionControlHash } — pass audit.inputEcho as `input` and audit.outputSha256 as `expectedOutputSha256` at ANY later time (no expiry, nothing stored server-side). match:true = cryptographic-grade evidence the stored numbers re-derive from the stored inputs. match:false = engine or schema evolved since the original calculation (compare engineVersion / schemaVersionControlHash), or the stored output was altered — pass the original response `data` as expectedOutput to get a field-level diff of every changed value. Use cases: external audit evidence, period-end sign-off re-verification, regression checking stored results after engine upgrades. Endpoint: https://mcp.ifrcoworker.com
- ifr_ecl_provision_matrix - IFRS 9 Simplified Approach — ECL provision matrix for trade receivables, IFRS 15 contract assets, and IFRS 16 lease receivables. Ages each receivable into buckets (current / 1-30 / 31-60 / 61-90 / 91-180 / 180+ days past due). Applies entity-supplied historical loss rates per bucket. Returns per-invoice ECL, portfolio summary, movement schedule (opening→closing provision, P&L charge), and IFRS 7.35H disclosure stub. NOT for the general 3-stage approach (loans, bonds) — use ifr_calculate with standard "ifrs9" for those. Token required; costs 10 credits. Endpoint: https://mcp.ifrcoworker.com
- ifr_cgu_impairment - IAS 36 — Cash-Generating Unit (CGU) multi-asset impairment test. Applies the 3-step allocation (IAS 36.104-105): Step 1 assets with individual FVLCD floor impaired first; Step 2 remaining shortfall absorbed by goodwill; Step 3 pro-rata to other assets. Handles NCI gross-up (IAS 36.91-92) for PROPORTIONATE NCI. Returns per-asset impairment schedule, goodwill movement, NCI impact, reversal eligibility, and journal entries. Token required; costs 10 credits. Endpoint: https://mcp.ifrcoworker.com
- ifr_check_quota - Check your remaining ifrCoworker credits without consuming any. Returns creditsRemaining, creditsUsedToday, fullAccess flag, and a cost estimate for batch calls. FREE — does not decrement quota. Call before a large batch to verify you have enough credits. batchCostEstimate.perItem = credits per successfully computed batch item; batchCostEstimate.preflightFree = true (validation phase never charges). 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. Endpoint: https://mcp.ifrcoworker.com
- ifr_amortisation_schedule - Compute a multi-period amortisation / depreciation / EIR amortisation schedule by rolling reportingDate forward one period at a time. Supported standards: ias16 (PPE depreciation), ias38 (intangible amortisation), ias40 (investment property — cost model), ias23 (borrowing cost capitalisation), ifrs9 (EIR amortisation), ifrs16 (lessee ROU + lease liability). Each period uses the closing carrying amount of the previous period as the opening balance — no manual carry-forward required. Returns a schedule array: [{period, reportingDate, carryingAmount, journalEntries, charges:{depreciation, interest, pnlImpact}}]. Cost: 1 credit per successfully computed period. Cap: 60 periods. 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. Endpoint: https://mcp.ifrcoworker.com
- ifr_generate_workpaper - Generate a structured audit working paper JSON from one or more prior ifr_calculate results. Aggregates across standards: accounting policies (IAS 1.117), key estimation uncertainties (IAS 1.125), calculation workings, journal entries, and a disclosure completeness checklist. Reference prior results EITHER by correlationIds (server-side cache, 10-minute TTL from calculation time) OR by `calculations` (inline prior ifr_calculate response objects — stateless, no expiry; mix freely with correlationIds). If any correlationId has expired, the call fails with CORRELATION_EXPIRED — pass those results inline via `calculations` instead. Token required; costs 5 credits per included calculation on success (e.g. 3 standards = 15 credits). Failed calls (CORRELATION_EXPIRED, INVALID_INPUT) are not charged. Endpoint: https://mcp.ifrcoworker.com

## Resources
- ifrs://examples/techservices-2025 - Complete set of input data for a full-period IFRS close of a small IT + agriculture company. Covers 27 IFRS/IAS standards plus direct P&L entries. Includes the entity-wide accounting policy declaration with per-class overrides and year-end FX rates. Use as a reference to practice ifr_calculate calls individually, or submit the full set as a single ifr_period_end_batch call. MIME type: text/plain
- ifrs://reference/accounting-policy-choices - Definitive list of every entity-level accounting policy choice required by ifr_period_end_batch. Each entry cites the IFRS/IAS paragraph, lists the allowed enum values, shows the required batch-policy structure, and explains per-class (IAS 16.36, IAS 2.25) override options. MIME type: text/plain
- ifrs://reference/batch-output-structure - Complete documentation of every key in the ifr_period_end_batch response: per-item results, consolidatedJournalEntries, trialBalance, financialStatements (P&L, OCI, SOFP), cashFlowStatement, and disclosureNotes. Read this to know exactly which path to extract after a batch call. MIME type: text/plain
- ifrs://reference/discontinued-operations - How to present discontinued operations as a single net-of-tax line on the SOPL face (IFRS 5.33 / IFRS 18). Covers the two-step workflow (post normally, then reclassify), the complete list of all transferable P&L categories, a full sample input with every possible income and expense lineItem, and a SOPL validation checklist. Read before submitting a DISCONTINUED_OPERATIONS entry to ifr_period_end_batch. MIME type: text/plain
- ifrs://reference/direct-je-patterns - Keyword-to-JE-pattern reference for the direct-item controller. Lists every named scenario (associate dividend, salary withholding, VAT settlement, period close, etc.) with trigger keywords, suggested DR/CR account pairs, and IFRS paragraph authority. Read this before calling ifr_calculate with standard "direct-item" to find the right account names without guessing. MIME type: text/plain
- ifrs://reference/discounting-and-interest-rate-guide - Reference table mapping every IFRS/IAS standard to the correct discount or interest rate type: pre-tax risk-free (IAS 36/37), corporate bond yield (IAS 19), EIR (IFRS 9/IFRS 16 lessor/IAS 20), implicit rate or IBR (IFRS 16 lessee), weighted-average borrowing rate (IAS 23), market rate (IFRS 15/IFRS 3), risk-free for option pricing (IFRS 2), and standards that explicitly prohibit discounting (IAS 12, IAS 2, IAS 41). Also lists the engine field name for each rate. Read before supplying any rate input to avoid the most common DipIFR and professional exam errors. MIME type: text/plain
- ifrs://reference/agent-field-guide - Practical reference covering every convention that causes silent failures: why ifr_schema must be called first (preflight validator pattern), the schema version hash and when to re-fetch, rate scale conventions per standard (decimal fraction vs percentage), mandatory cross-standard fields on every call, standard-specific gotchas (IFRS 9 classification routing, IAS 33 rights issue dual fields, IFRS 15 over-time criteria, IAS 12.15a goodwill exception), engine vs textbook precision differences, batch all-or-nothing behaviour, and a 5-step quick-start checklist. Read this before your first ifr_calculate call. MIME type: text/plain
- ifrs://reference/cascade-manifest - JSON manifest of ALL automatic cross-standard cascades for every standard, generated from the engine's own cascade registry (single source of truth). Two modes: PRE_CALCULATION (child runs before the parent at initial recognition, output injected into parent input — e.g. IAS 23 borrowing costs into IAS 16 cost; result under cascadeAnalyses.<child>PreResolve) and POST_CALCULATION (child fires automatically inside the same calculate call when trigger fields are present — result embedded as a *Analysis key). Each entry lists triggerFields, conditionDescription (gates such as IAS 41 → IAS 23 firing only under the cost model), directFieldOverride, targetField, and paragraph reference. Every calculate response reports what actually happened in context.cascadeTrace (fired / skipReason per cascade). Read this instead of guessing which standards to call separately — calling a cascaded child yourself duplicates journal entries. MIME type: application/json
- ifrs://samples/sample_prompt_batch - Free-text period-end brief written by MidCo CFO Ildikó Varga to ifrCoworker — the format an accounting firm receives from a client. Covers 10+ standards across opening balances and YTD events: IAS 16 (building + CNC machine), IAS 38 (CRM), IFRS 16 (office lease), IFRS 9 (CIB loan + gov bond FVOCI + Siemens equity FVTPL + new equipment loan with full 5-year cashflow table), IAS 40 (warehouse), IAS 19 (DB pension + staff costs), IFRS 15 (SaaS + Audi framework), IAS 2 (inventories), IAS 12 (current tax). Source document for ifr_period_end_batch. MIME type: text/plain
- ifrs://field-definitions/ias2 - JSON field schema for IAS2 — field types, enums, required flags, defaults, and IAS/IFRS paragraph references. Lightweight alternative to ifr_schema when you only need field metadata without example requests or version hashes. MIME type: application/json
- ifrs://field-definitions/ias7 - JSON field schema for IAS7 — field types, enums, required flags, defaults, and IAS/IFRS paragraph references. Lightweight alternative to ifr_schema when you only need field metadata without example requests or version hashes. MIME type: application/json
- ifrs://field-definitions/ias10 - JSON field schema for IAS10 — field types, enums, required flags, defaults, and IAS/IFRS paragraph references. Lightweight alternative to ifr_schema when you only need field metadata without example requests or version hashes. MIME type: application/json
- ifrs://field-definitions/ias12 - JSON field schema for IAS12 — field types, enums, required flags, defaults, and IAS/IFRS paragraph references. Lightweight alternative to ifr_schema when you only need field metadata without example requests or version hashes. MIME type: application/json
- ifrs://field-definitions/ias16 - JSON field schema for IAS16 — field types, enums, required flags, defaults, and IAS/IFRS paragraph references. Lightweight alternative to ifr_schema when you only need field metadata without example requests or version hashes. MIME type: application/json
- ifrs://field-definitions/ias19 - JSON field schema for IAS19 — field types, enums, required flags, defaults, and IAS/IFRS paragraph references. Lightweight alternative to ifr_schema when you only need field metadata without example requests or version hashes. MIME type: application/json
- ifrs://field-definitions/ias20 - JSON field schema for IAS20 — field types, enums, required flags, defaults, and IAS/IFRS paragraph references. Lightweight alternative to ifr_schema when you only need field metadata without example requests or version hashes. MIME type: application/json
- ifrs://field-definitions/ias21 - JSON field schema for IAS21 — field types, enums, required flags, defaults, and IAS/IFRS paragraph references. Lightweight alternative to ifr_schema when you only need field metadata without example requests or version hashes. MIME type: application/json
- ifrs://field-definitions/ias23 - JSON field schema for IAS23 — field types, enums, required flags, defaults, and IAS/IFRS paragraph references. Lightweight alternative to ifr_schema when you only need field metadata without example requests or version hashes. MIME type: application/json
- ifrs://field-definitions/ias27 - JSON field schema for IAS27 — field types, enums, required flags, defaults, and IAS/IFRS paragraph references. Lightweight alternative to ifr_schema when you only need field metadata without example requests or version hashes. MIME type: application/json
- ifrs://field-definitions/ias28 - JSON field schema for IAS28 — field types, enums, required flags, defaults, and IAS/IFRS paragraph references. Lightweight alternative to ifr_schema when you only need field metadata without example requests or version hashes. MIME type: application/json
- ifrs://field-definitions/ias29 - JSON field schema for IAS29 — field types, enums, required flags, defaults, and IAS/IFRS paragraph references. Lightweight alternative to ifr_schema when you only need field metadata without example requests or version hashes. MIME type: application/json
- ifrs://field-definitions/ias33 - JSON field schema for IAS33 — field types, enums, required flags, defaults, and IAS/IFRS paragraph references. Lightweight alternative to ifr_schema when you only need field metadata without example requests or version hashes. MIME type: application/json
- ifrs://field-definitions/ias36 - JSON field schema for IAS36 — field types, enums, required flags, defaults, and IAS/IFRS paragraph references. Lightweight alternative to ifr_schema when you only need field metadata without example requests or version hashes. MIME type: application/json
- ifrs://field-definitions/ias37 - JSON field schema for IAS37 — field types, enums, required flags, defaults, and IAS/IFRS paragraph references. Lightweight alternative to ifr_schema when you only need field metadata without example requests or version hashes. MIME type: application/json
- ifrs://field-definitions/ias38 - JSON field schema for IAS38 — field types, enums, required flags, defaults, and IAS/IFRS paragraph references. Lightweight alternative to ifr_schema when you only need field metadata without example requests or version hashes. MIME type: application/json
- ifrs://field-definitions/ias40 - JSON field schema for IAS40 — field types, enums, required flags, defaults, and IAS/IFRS paragraph references. Lightweight alternative to ifr_schema when you only need field metadata without example requests or version hashes. MIME type: application/json
- ifrs://field-definitions/ias41 - JSON field schema for IAS41 — field types, enums, required flags, defaults, and IAS/IFRS paragraph references. Lightweight alternative to ifr_schema when you only need field metadata without example requests or version hashes. MIME type: application/json
- ifrs://field-definitions/ifrs1 - JSON field schema for IFRS1 — field types, enums, required flags, defaults, and IAS/IFRS paragraph references. Lightweight alternative to ifr_schema when you only need field metadata without example requests or version hashes. MIME type: application/json
- ifrs://field-definitions/ifrs2 - JSON field schema for IFRS2 — field types, enums, required flags, defaults, and IAS/IFRS paragraph references. Lightweight alternative to ifr_schema when you only need field metadata without example requests or version hashes. MIME type: application/json
- ifrs://field-definitions/ifrs3 - JSON field schema for IFRS3 — field types, enums, required flags, defaults, and IAS/IFRS paragraph references. Lightweight alternative to ifr_schema when you only need field metadata without example requests or version hashes. MIME type: application/json
- ifrs://field-definitions/ifrs5 - JSON field schema for IFRS5 — field types, enums, required flags, defaults, and IAS/IFRS paragraph references. Lightweight alternative to ifr_schema when you only need field metadata without example requests or version hashes. MIME type: application/json
- ifrs://field-definitions/ifrs6 - JSON field schema for IFRS6 — field types, enums, required flags, defaults, and IAS/IFRS paragraph references. Lightweight alternative to ifr_schema when you only need field metadata without example requests or version hashes. MIME type: application/json
- ifrs://field-definitions/ifrs8 - JSON field schema for IFRS8 — field types, enums, required flags, defaults, and IAS/IFRS paragraph references. Lightweight alternative to ifr_schema when you only need field metadata without example requests or version hashes. MIME type: application/json
- ifrs://field-definitions/ifrs9 - JSON field schema for IFRS9 — field types, enums, required flags, defaults, and IAS/IFRS paragraph references. Lightweight alternative to ifr_schema when you only need field metadata without example requests or version hashes. MIME type: application/json
- ifrs://field-definitions/ifrs10 - JSON field schema for IFRS10 — field types, enums, required flags, defaults, and IAS/IFRS paragraph references. Lightweight alternative to ifr_schema when you only need field metadata without example requests or version hashes. MIME type: application/json
- ifrs://field-definitions/ifrs11 - JSON field schema for IFRS11 — field types, enums, required flags, defaults, and IAS/IFRS paragraph references. Lightweight alternative to ifr_schema when you only need field metadata without example requests or version hashes. MIME type: application/json
- ifrs://field-definitions/ifrs13 - JSON field schema for IFRS13 — field types, enums, required flags, defaults, and IAS/IFRS paragraph references. Lightweight alternative to ifr_schema when you only need field metadata without example requests or version hashes. MIME type: application/json
- ifrs://field-definitions/ifrs15 - JSON field schema for IFRS15 — field types, enums, required flags, defaults, and IAS/IFRS paragraph references. Lightweight alternative to ifr_schema when you only need field metadata without example requests or version hashes. MIME type: application/json
- ifrs://field-definitions/ifrs16 - JSON field schema for IFRS16 — field types, enums, required flags, defaults, and IAS/IFRS paragraph references. Lightweight alternative to ifr_schema when you only need field metadata without example requests or version hashes. MIME type: application/json
- ifrs://field-definitions/ifrs20 - JSON field schema for IFRS20 — field types, enums, required flags, defaults, and IAS/IFRS paragraph references. Lightweight alternative to ifr_schema when you only need field metadata without example requests or version hashes. MIME type: application/json

## Prompts
- ifrs-calculation-workflow - Step-by-step IFRS calculation workflow for any standard: schema → validate → calculate. Arguments: standard, entityContext
- ifrs-asset-recognition - Classify an asset (PPE vs intangible vs investment property) and post the recognition journal entries. Arguments: assetDescription
- ifrs-lease-analysis - Classify a lease as operating or finance under IFRS 16 and produce year-1 journal entries for lessee or lessor. Arguments: leaseDescription
- ifrs-impairment-flow - Walk through IAS 36 impairment testing: indicators → recoverable amount → impairment loss → IAS 12 deferred tax. Arguments: assetOrCgu, recoverableAmount

## Metadata
- Owner: com.spocont
- Version: 3.1.0
- Runtime: Streamable Http
- Transports: HTTP
- License: Not captured
- Language: Not captured
- Stars: Not captured
- Updated: May 4, 2026
- Source: https://registry.modelcontextprotocol.io
