{
  "schemaVersion": "1.0.0",
  "id": "weboffice",
  "name": "WebOffice",
  "category": "Office Productivity",
  "status": "operational",
  "description": "Create Word documents, calculate spreadsheets with formulas, build presentation slides, and convert files in one place.",
  "runtime": "client-edge",
  "capabilities": [
    "Pre-baked spreadsheet templates (personal budget, invoices, loan EMI, payroll, SaaS metrics)",
    "60+ spreadsheet formula evaluation engine (SUMIFS, VLOOKUP, XLOOKUP, PMT)",
    "Spreadsheet formula AST explainer and common error pitfall diagnostic (#DIV/0!, approximate VLOOKUP)",
    "In-worker relational row matrix transformation (group_by aggregation, sort, filter, transpose)",
    "Delimited table parsing and automatic schema/type inference (number, date, boolean)",
    "OpenXML (.docx, .xlsx, .pptx) and PDF compilation recipes"
  ],
  "endpoints": [
    {
      "method": "POST",
      "path": "/v1/spreadsheet-template",
      "summary": "Generate pre-baked spreadsheet matrices, CSV, and formulas",
      "url": "https://api.xicae.dev/weboffice/v1/spreadsheet-template"
    },
    {
      "method": "POST",
      "path": "/v1/evaluate-formula",
      "summary": "Evaluate Excel/OpenXML formula expression with grid context",
      "url": "https://api.xicae.dev/weboffice/v1/evaluate-formula"
    },
    {
      "method": "POST",
      "path": "/v1/explain-formula",
      "summary": "Deconstruct spreadsheet formula into execution AST tree",
      "url": "https://api.xicae.dev/weboffice/v1/explain-formula"
    },
    {
      "method": "POST",
      "path": "/v1/matrix-transform",
      "summary": "Relational transformations on row matrices",
      "url": "https://api.xicae.dev/weboffice/v1/matrix-transform"
    }
  ],
  "mcp": {
    "url": "https://xicae.dev/weboffice/mcp",
    "tools": [
      {
        "name": "weboffice_generate_spreadsheet_template",
        "description": "Generate pre-baked, production-grade spreadsheet data matrices, verified Excel/Sheets formulas, ready-to-save CSV text, and formatted markdown tables for instant presentation.",
        "parameters": {
          "type": "object",
          "properties": {
            "template": {
              "type": "string",
              "enum": [
                "monthly_personal_budget",
                "client_invoice_billing",
                "loan_emi_calculator",
                "employee_payroll",
                "saas_metrics_dashboard",
                "student_gradebook"
              ],
              "description": "Pre-baked spreadsheet archetype preset"
            },
            "currency_symbol": {
              "type": "string",
              "description": "Currency symbol prefix (default: \"$\")"
            }
          },
          "required": [
            "template"
          ]
        }
      },
      {
        "name": "weboffice_evaluate_spreadsheet_formula",
        "description": "Evaluate standard spreadsheet formulas (SUM, AVERAGE, IF, VLOOKUP, INDEX, MATCH, PMT, NPV, IRR) with cell references and range arrays.",
        "parameters": {
          "type": "object",
          "properties": {
            "formula": {
              "type": "string",
              "description": "Formula expression (e.g. \"=SUM(A1:A10)\", \"=VLOOKUP(D2, A1:B50, 2, FALSE)\")"
            },
            "grid_context": {
              "type": "string",
              "description": "JSON representation of referenced row and column cell values"
            }
          },
          "required": [
            "formula"
          ]
        }
      },
      {
        "name": "weboffice_explain_formula",
        "description": "Deconstruct complex spreadsheet formulas into an execution tree AST, extract all referenced cell coordinates and ranges, and diagnose common pitfalls (#DIV/0!, approximate VLOOKUP, out-of-bounds index).",
        "parameters": {
          "type": "object",
          "properties": {
            "formula": {
              "type": "string",
              "description": "Formula string to explain"
            }
          },
          "required": [
            "formula"
          ]
        }
      },
      {
        "name": "weboffice_matrix_transform",
        "description": "Perform in-worker relational data transformations on tabular row matrices (group_by with sum/avg/count/min/max aggregation, multi-column sort, filter predicates, and matrix transposition).",
        "parameters": {
          "type": "object",
          "properties": {
            "rows": {
              "type": "array",
              "description": "Array of row objects to transform"
            },
            "operation": {
              "type": "string",
              "enum": [
                "group_by",
                "sort",
                "filter",
                "transpose"
              ],
              "description": "Transformation operation"
            }
          },
          "required": [
            "rows",
            "operation"
          ]
        }
      },
      {
        "name": "weboffice_parse_tabular_schema",
        "description": "Parse raw CSV, TSV, or structured document tables into validated OpenXML spreadsheet schema matrices with type inference.",
        "parameters": {
          "type": "object",
          "properties": {
            "raw_table_string": {
              "type": "string",
              "description": "Raw tabular text data"
            },
            "delimiter": {
              "type": "string",
              "enum": [
                ",",
                "\t",
                "|",
                ";"
              ],
              "description": "Column delimiter"
            }
          },
          "required": [
            "raw_table_string"
          ]
        }
      },
      {
        "name": "weboffice_generate_document_recipe",
        "description": "Generate OpenXML or PDF transformation recipes for client-side document compilation.",
        "parameters": {
          "type": "object",
          "properties": {
            "document_type": {
              "type": "string",
              "enum": [
                "word_docx",
                "spreadsheet_xlsx",
                "slides_pptx",
                "pdf"
              ],
              "description": "Target document type"
            },
            "title": {
              "type": "string",
              "description": "Document title"
            }
          },
          "required": [
            "document_type",
            "title"
          ]
        }
      }
    ]
  },
  "rateLimit": {
    "requestsPerMinute": 60,
    "quotaReset": "sliding-window"
  },
  "documentation": "https://xicae.dev/llms.txt"
}