Skip to main content
Glama
mcp-maintenance-log

mcp-maintenance-log

mcp-maintenance-log

MCP server for an equipment maintenance log and schedule: service entries, costs, and what is due or overdue. Equipment maintenance log: assets, service entries with costs, and a due report computed from stored dates.

Works with Claude Desktop, Claude Code, Cursor and any Model Context Protocol client. Runs on your own machine, or hosted with no install.

Product page: https://mcp.zovo.one/s/maintenance-log - what it does, the tools it exposes, and a live token endpoint.

Install

Hosted, nothing to install. Get a token from https://mcp.zovo.one/mcp/connect (the connect page) or https://mcp.zovo.one/mcp/token (the same token as JSON); a free anonymous one is issued on the spot and a Pro key works the same way. Then point an MCP client at https://mcp.zovo.one/mcp/maintenance-log over streamable-http and send the token as Authorization: Bearer <token>.

If your client cannot set headers, put the token in the path instead: https://mcp.zovo.one/mcp/maintenance-log/t/<token>. Both forms work. The bare URL with no token answers 401 on tools/call, so the token is not optional.

Claude Desktop, one click. Download maintenance-log.mcpb from the latest release and double-click it.

From source. The mirror is self-contained: every @theluckystrike/* dependency is vendored, so a fresh clone builds with no extra setup.

git clone https://github.com/theluckystrike/mcp-maintenance-log.git
cd mcp-maintenance-log
npm install && npm run build

Then point your client at the built entry point:

{
  "mcpServers": {
    "maintenance-log": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-maintenance-log/dist/index.js"]
    }
  }
}

@theluckystrike/mcp-maintenance-log is not published on npm yet, so an npx -y @theluckystrike/mcp-maintenance-log command will fail. The three paths above are the working ones and each is exercised by CI.

Read-only mirror of mcp-servers/servers/maintenance-log. See MIRROR.md.

theluckystrike/mcp-maintenance-log MCP server

In the official MCP Registry (io.github.theluckystrike/maintenance-log). An mcp maintenance log for the workshop, the rental flats, the van fleet or the studio: one local register of every piece of equipment you look after, and the work that has been done on it. Add each asset once, name, serial or asset tag, where it lives, then log each service or repair as it happens: the date, what was done, what it cost in cents, who did it, and when the next service falls due, either as a date or as an interval in days. Ask what is due and the report answers what is overdue and what comes up in the next N days, computed from the stored dates at the moment you ask, so it can never go stale. Per-asset history keeps the chronological log with its total spend, and export hands the record over as CSV for a spreadsheet or a Markdown summary per asset. Everything stays on this machine; there is no account and no network call.

Built by theluckystrike.

npm publish for @theluckystrike/mcp-maintenance-log is pending, so npx -y @theluckystrike/mcp-maintenance-log returns 404 today. Until then, a clone+build is the working path.

Related MCP server: HomeOps MCP

Install

Claude Desktop

macOS ~/Library/Application Support/Claude/claude_desktop_config.json, Windows %APPDATA%\Claude\claude_desktop_config.json:

{
  "mcpServers": {
    "maintenance-log": {
      "command": "npx",
      "args": ["-y", "@theluckystrike/mcp-maintenance-log"]
    }
  }
}

Claude Code

claude mcp add maintenance-log -- npx -y @theluckystrike/mcp-maintenance-log

Cursor

~/.cursor/mcp.json (global) or .cursor/mcp.json (project), same entry as Claude Desktop.

Tools

tool

what it does

asset_add

Add an asset: name, serial or asset tag, location, notes, currency. Returns AST-YYYY-NNNN. A duplicate tag is refused

maintenance_log

Log work on an asset: the day, what was done, cost in cents, technician, and the next due date -- as next_due or as interval_days, never both

maintenance_due

The due report: what is overdue and by how many days, what falls due within N days (default 30), what is scheduled later, what has no schedule. Pro

asset_history

One asset in full: every entry in chronological order, total spend in integer cents, spend per technician, the schedule it currently lives under

maintenance_export

Entries in a date range as CSV (free) or a Markdown summary per asset (Pro)

asset_remove

Remove an asset. One carrying a log is refused unless confirm: true, naming what would be lost. The AST number is never reissued

license_status / license_activate

Free or Pro, and the key

Free vs Pro

Free

Pro

Assets on the register

3

Unlimited

Logging work, cost and technician

Yes

Yes

Per-asset history and total spend

Yes

Yes

CSV export of a date range

Yes

Yes

Due report: overdue and due-within-N-days

--

Yes

Markdown summary per asset

--

Yes

The record is never metered. Three assets with full logging and CSV export is a real working register for a one-machine shop, and nothing you have logged is ever held back. What Pro lifts is how many assets are on the register, and adds the due report and the Markdown summaries.

Get Pro: https://mcp.zovo.one/buy/maintenance-log, $19 one-time for this server, or $39 for the bundle.

Dates and money

Every date is stored as ISO 8601 (YYYY-MM-DD). Whether a service is overdue is computed from today's date at call time, never stored, so the register cannot go stale. An interval is turned into a date once, when the work is logged: the work date plus the interval, in whole days, in UTC so the answer does not depend on the server's timezone. Every cost is an integer number of cents in the asset's own currency (1200 is 12.00), stored on the entry; a total spend is the sum of the stored entries, so it can never drift from the lines it is made of.

Privacy

All data stays local, in ${XDG_DATA_HOME:-~/.local/share}/mcp-servers/maintenance-log/. Two files: assets.json, counter.json. Nothing is sent anywhere, there is no account, no API key and no network call in this server at all. License keys are verified offline.

Built by theluckystrike. https://github.com/theluckystrike

Use these docs as an MCP server

Any MCP client (Claude, Cursor, Windsurf, VS Code) can read this repository's documentation directly via GitMCP - no install:

Available Tools

8 tools
asset_addAdd an asset to the registerA

Add one piece of equipment to the maintenance register: its name, its serial or asset tag, where it lives, and the currency its costs are in. Returns the AST-YYYY-NNNN id. Free tier: 3 assets; logging work on the assets you have is never metered.

Inputs: name (required), tag, notes, currency, +1 more.

asset_historyRead one asset's log and total spendA

Read one asset in full by id, tag or name: every log entry in chronological order, the total spend as integer cents with a formatted amount, the last service date, and the next-due date the asset currently lives under. Reads only.

Inputs: asset (required).

asset_removeRemove an asset from the registerA

Remove an asset entered by mistake or sold off. One that carries a maintenance log is refused unless confirm is true, naming what would be lost, because removing it loses the record of work done. The AST number is never reissued.

Inputs: asset (required), confirm.

license_activateActivate licenseA

Activate a Pro key (MCPL1.xxx.yyy) from checkout: verified offline against a built-in public key, saved to your config file. A wrong, malformed or expired key is refused, unsaved. license_status reads it back.

Inputs: key (required).

license_statusLicense statusA

Report this server's licence state: product, tier free or pro, licence id, expiry, the key source and the upgrade URL. No arguments, no network. Explains a free-tier refusal; license_activate installs a key.

Inputs: no named parameters.

maintenance_dueReport what is overdue and what is coming dueA

The due report across every asset: what is overdue and by how many days, what falls due within the next N days (default 30), what is scheduled later, and what has no schedule at all. Computed from the stored next-due dates against today, at call time. Pro feature.

Inputs: within_days.

maintenance_exportExport the log as CSV or MarkdownA

Export maintenance entries dated inside a range. CSV (free): one row per entry, ready for a spreadsheet. Markdown (Pro): one section per asset with its entries, total spend and next due date, ready to paste into notes or a report. Writes nothing.

Inputs: to, from, format.

maintenance_logLog maintenance on an assetA

Log work done on an asset: the day, what was done, the cost in whole cents, who did it, and when the next service falls due -- as a date (next_due) or as an interval in days (interval_days), never both. A repair that sets no schedule takes neither. A future work date is refused.

Inputs: date (required), work (required), asset (required), next_due, +3 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.2/5.0

    Scored across 8 tools

    Disambiguation5/5

    Each tool targets a distinct operation: adding/removing assets, logging maintenance, checking due items, reading history, exporting, and license management. There is no realistic confusion between them, and overlapping read features are separated clearly by scope.

    Naming Consistency3/5

    The names use clear prefixes but mix noun-style and verb-style endings: asset_add and maintenance_export are verb-like, while asset_history, maintenance_due, and license_status are noun-like. The pattern is readable and predictable by prefix, but not fully consistent.

    Tool Count5/5

    Eight tools is well-scoped for a maintenance-log server: six cover the core asset/maintenance workflow and two cover licensing. Each tool has a clear purpose and none feel redundant.

    Completeness4/5

    The core lifecycle is covered: assets can be added, logged against, inspected, reported on, exported, and removed. Minor gaps include no way to update asset metadata or delete/correct an individual maintenance log entry, but agents can still complete primary workflows.

    Maintenance

    ActivityMaintained
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables managing personal vehicle history including mileage, maintenance, expenses, reminders, and document references through MCP tools and resources, all stored locally in SQLite.
      1
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables voice-first household maintenance tracking, turning spoken updates into durable records, service history, and due-date reminders for a concise maintenance brief.
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      Enables creating reusable checklists, running dated instances of them, recording pass/fail/not-applicable results with sign-off, and producing frozen dated records for accountability.
      16
      55 npm
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      Enables trades and field service work to be tracked per job: logging labor hours at worker rates and materials used, keeping running totals in integer cents per currency, and moving each job through a status machine from open to invoiced or archived. It also produces daily or weekly summaries of hours and value, and renders a printable card with a signature line for client sign-off.
      11
      55 npm
      MIT