{
  "name": "xaf-mcp",
  "title": "XAF MCP",
  "version": "0.1.0",
  "description": "MCP server exposing Dutch XAF (XML Auditfile Financieel) tables.",
  "protocol_version": "2025-11-25",
  "publisher": {
    "name": "VectorOps AI",
    "url": "https://vectoropsai.com"
  },
  "remotes": [
    {
      "transport": "streamable-http",
      "url": "https://xaf-mcp.vectoropsai.com/xaf"
    }
  ],
  "auth": {
    "type": "oauth2.1",
    "protected_resource_metadata": "https://xaf-mcp.vectoropsai.com/.well-known/oauth-protected-resource",
    "authorization_servers": [
      "https://cognito-idp.us-east-1.amazonaws.com/us-east-1_l0KifdhT2"
    ],
    "scopes_supported": [
      "openid",
      "email",
      "profile"
    ]
  },
  "tools": [
    {
      "name": "general_ledger",
      "title": "general_ledger",
      "description": "Return the chart of accounts from an XAF file: every ledger account with its description, type (Balance vs Profit/Loss), and RGS reference codes. One row per account. Use this to understand the account structure of a company.",
      "read_only": true
    },
    {
      "name": "journal_entries",
      "title": "journal_entries",
      "description": "Return every journal entry line (debit/credit posting) in the XAF file. One row per <trLine>, joined with transaction and journal metadata. Includes a signed_amount column (+ for debit, - for credit). Use this for general-ledger walks, trial-balance reconstruction, or transaction-level analysis.",
      "read_only": true
    },
    {
      "name": "trial_balance",
      "title": "trial_balance",
      "description": "Return the trial balance: for every account in the XAF file, sum the debit and credit postings across all journals and compute the net balance. Joined with the chart of accounts for account descriptions and type (Balance/P&L). Sorted by account_id. total_debit should equal total_credit — any divergence indicates an unbalanced file.",
      "read_only": true
    },
    {
      "name": "customers",
      "title": "customers",
      "description": "Return the customer master list from an XAF file. Customers are entities in <customerSupplier> that appear as counterparties on sales journal lines (plus any uncategorised entities — XAF does not split customers and suppliers at the schema level). Fields: id, name, contact, email, phone, address, country, bank account, tax identifiers.",
      "read_only": true
    },
    {
      "name": "suppliers",
      "title": "suppliers",
      "description": "Return the supplier master list from an XAF file. Suppliers are entities in <customerSupplier> that appear as counterparties on purchase or bank journal lines. Fields: id, name, contact, email, phone, address, country, bank account, tax identifiers.",
      "read_only": true
    },
    {
      "name": "periods",
      "title": "periods",
      "description": "Return the accounting periods declared in the XAF file's company header. Typically 12 monthly periods plus sometimes a 13th year-end adjustment period. Used to cross-reference the period_number on journal entries.",
      "read_only": true
    },
    {
      "name": "vat_codes",
      "title": "vat_codes",
      "description": "Return the VAT (BTW) code table from an XAF file. Each row binds a vat_id to an optional description and to the claim/pay accounts used for VAT postings. Use these to interpret the vat_id and vat_amount columns on journal_entries rows.",
      "read_only": true
    }
  ]
}