{
  "$schema": "https://modelcontextprotocol.io/schema/manifest.json",
  "serverId": "xicae-gateway",
  "name": "Xicae API & MCP Computational Node",
  "description": "Deterministic developer APIs and Model Context Protocol (MCP) server. Math evaluation, unit conversions, code formatting, table transforms, and ephemeris.",
  "version": "1.0.0",
  "capabilities": {
    "tools": true,
    "resources": false,
    "prompts": false
  },
  "tools": [
    {
      "name": "utility_calculate_expression",
      "description": "Safely and deterministically evaluate arithmetic expressions, trigonometry (deg/rad), powers, logarithms, and statistical functions (mean, median, stddev, sum, min, max) on numeric arrays without rounding errors.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "expression": {
            "type": "string",
            "description": "Mathematical expression (e.g. \"sin(45 deg) * 12 + sqrt(144)\", \"mean([15, 22, 38, 45, 90])\")"
          },
          "variables": {
            "type": "object",
            "description": "Optional dictionary of variable substitutions"
          },
          "precision": {
            "type": "number",
            "description": "Decimal precision for results (default: 6)"
          }
        },
        "required": [
          "expression"
        ]
      }
    },
    {
      "name": "utility_convert_units",
      "description": "Convert measurements with high precision across Digital Storage (B, KB, MB, GB, TB, KiB, MiB, GiB), Time (ms, sec, min, hr, day), Length (mm, cm, m, km, inch, ft, mile), Mass (g, kg, oz, lb), Temperature (C, F, K), and CSS units (px, rem, em, pt).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "value": {
            "type": "number",
            "description": "Numeric value to convert"
          },
          "from_unit": {
            "type": "string",
            "description": "Source unit symbol (e.g. \"GiB\", \"px\", \"celsius\", \"kg\", \"mile\")"
          },
          "to_unit": {
            "type": "string",
            "description": "Target unit symbol (e.g. \"MB\", \"rem\", \"fahrenheit\", \"lb\", \"km\")"
          },
          "root_base_px": {
            "type": "number",
            "description": "Root base pixel font size for CSS rem/em conversions (default: 16)"
          }
        },
        "required": [
          "value",
          "from_unit",
          "to_unit"
        ]
      }
    },
    {
      "name": "utility_convert_table",
      "description": "Seamlessly transform tabular data between Markdown Table, JSON Array of Objects, CSV, TSV, and HTML table markup with automatic column alignment.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "string",
            "description": "Raw input data (Markdown table with | pipes, JSON array string, or CSV/TSV text)"
          },
          "source_format": {
            "type": "string",
            "enum": [
              "auto",
              "markdown",
              "json",
              "csv",
              "tsv"
            ],
            "description": "Source data format (default: auto)"
          },
          "target_format": {
            "type": "string",
            "enum": [
              "markdown",
              "json",
              "csv",
              "tsv",
              "html"
            ],
            "description": "Desired output table format"
          }
        },
        "required": [
          "data",
          "target_format"
        ]
      }
    },
    {
      "name": "utility_generate_diff",
      "description": "Compare two text strings or code snippets and produce a standard unified diff (diff -u) format with line markers, addition/deletion counts, and change summary.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "original_text": {
            "type": "string",
            "description": "Original text or code string before edits"
          },
          "modified_text": {
            "type": "string",
            "description": "Updated text or code string after edits"
          },
          "file_name": {
            "type": "string",
            "description": "File name header for unified diff patch (default: \"file.txt\")"
          }
        },
        "required": [
          "original_text",
          "modified_text"
        ]
      }
    },
    {
      "name": "utility_regex_match",
      "description": "Test regular expressions against target text, extract matched substrings and capture groups, and check for regex syntax errors.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "pattern": {
            "type": "string",
            "description": "Regular expression pattern string"
          },
          "flags": {
            "type": "string",
            "description": "Regex flags (e.g. \"g\", \"i\", \"m\", \"s\", default: \"g\")"
          },
          "text": {
            "type": "string",
            "description": "Target text to evaluate and extract matches from"
          }
        },
        "required": [
          "pattern",
          "text"
        ]
      }
    },
    {
      "name": "utility_crypto_hash",
      "description": "Generate cryptographic hashes (SHA-256, SHA-512, SHA-1), unique UUIDv4 tokens, Base64 encode/decode, and URL safe encoding.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "action": {
            "type": "string",
            "enum": [
              "sha256",
              "sha512",
              "sha1",
              "uuid",
              "base64_encode",
              "base64_decode",
              "url_encode",
              "url_decode"
            ],
            "description": "Cryptographic or encoding operation"
          },
          "text": {
            "type": "string",
            "description": "Input string to hash or encode/decode"
          }
        },
        "required": [
          "action"
        ]
      }
    }
  ],
  "documentation": "https://xicae.dev/llms.txt"
}