{
  "ok": true,
  "name": "maintenance-log",
  "url": "https://mcp.zovo.one/mcp/maintenance-log",
  "protocol": "MCP streamable HTTP (2025-06-18)",
  "transport": "streamable-http",
  "build": "2026-09-13.1",
  "summary": "asset_add puts one piece of equipment on the register - name, serial or asset tag (unique across the register), location, currency - and returns its AST-YYYY-NNNN number; maintenance_log records the work: the day, what was done, the cost in whole cents (12000 is 120.00), who did it, and when the next service falls due, as next_due (a date) or interval_days (a number of days), never both; maintenance_due is the report - what is overdue and by how many days, what falls due within the next N days, what has no schedule - computed from the stored dates at call time; asset_history reads one asset's whole log with its total spend and spend per technician; maintenance_export hands a date range over as CSV or a Markdown summary per asset.",
  "tool_count": 8,
  "tools": [
    "asset_add",
    "maintenance_log",
    "maintenance_due",
    "asset_history",
    "maintenance_export",
    "asset_remove",
    "license_status",
    "license_activate"
  ],
  "free_limits": "3 assets on the register, with logging, the per-asset history and CSV export free and unlimited on every tier; removing an asset frees its slot. The due report and the Markdown summaries are Pro",
  "authentication": {
    "note": "This GET is public so a health check and a browser both get an answer. The JSON-RPC traffic is POST and still needs a token.",
    "get_a_free_token": "GET https://mcp.zovo.one/mcp/token",
    "ready_made_urls": "GET https://mcp.zovo.one/mcp/connect",
    "header_form": "Authorization: Bearer <token>",
    "url_form": "https://mcp.zovo.one/mcp/maintenance-log/t/<token>"
  },
  "index": "https://mcp.zovo.one/mcp",
  "source": "https://github.com/theluckystrike/mcp-servers"
}