{"name":"io.github.theluckystrike/maintenance-log","slug":"theluckystrike-maintenance-log","title":null,"description":"Equipment maintenance log: assets, service entries with costs, and a due report from stored dates.","url":"https://mcp.market/server/theluckystrike-maintenance-log","grade":"C","score":64,"certified":false,"status":"active","category":"other","tags":[],"transport":"mixed","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/theluckystrike/mcp-servers","website":"https://mcp.zovo.one/s/maintenance-log","version":"0.22.0","remotes":[{"type":"streamable-http","url":"https://mcp.zovo.one/mcp/maintenance-log","headers":[{"description":"Bearer <Pro license key or anonymous token from GET https://mcp.zovo.one/mcp/token>","isRequired":true,"isSecret":true,"name":"Authorization"}]}],"packages":[{"registryType":"mcpb","identifier":"https://github.com/theluckystrike/mcp-servers/releases/download/v0.22.0/maintenance-log.mcpb","version":"0.22.0","fileSha256":"6e4e8ab0924939be97c7f50e9f26807184a8201517c99242fc1cce33920a40eb","transport":{"type":"stdio"},"environmentVariables":[{"description":"Optional Pro license key (MCPL1....). Verified offline.","isSecret":true,"name":"MCP_LICENSE_KEY"}]}],"tools":[{"name":"asset_add","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"name":{"type":"string","maxLength":200,"description":"What the asset is called, e.g. Lathe, Combi boiler, Van 2, or Studio camera A"},"tag":{"type":"string","maxLength":200,"description":"The serial number or asset tag, e.g. SN-88-4412. Unique across the register: a second asset with the same tag is refused"},"location":{"type":"string","maxLength":400,"description":"Where the asset lives, e.g. Workshop bay 2, or 14 Nowa Street, flat 3"},"notes":{"type":"string","maxLength":2000,"description":"Anything worth keeping with the asset, e.g. Model, warranty end, supplier"},"currency":{"type":"string","pattern":"^[A-Za-z]{3}$","description":"ISO code the costs are in. Default USD"}},"required":["name"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"asset_history","description":"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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"asset":{"type":"string","maxLength":200,"description":"The asset id, e.g. AST-2026-0003, its serial or asset tag, or its name when only one asset has it"}},"required":["asset"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"asset_remove","description":"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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"asset":{"type":"string","maxLength":200,"description":"The asset id, e.g. AST-2026-0003, its serial or asset tag, or its name when only one asset has it"},"confirm":{"type":"boolean","description":"Pass true to remove an asset that carries a maintenance log. The log goes with it; this cannot be undone"}},"required":["asset"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"license_activate","description":"Turn Pro on for this connection with key, an MCPL1.<payload>.<signature> issued at checkout for this server or the bundle. Data under your token stays; a wrong or expired key changes nothing. license_status confirms it.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"key":{"type":"string","description":"License key from checkout, MCPL1.<payload>.<signature>"}},"required":["key"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"license_status","description":"Report this endpoint's licence state for your token as JSON: the product, the tier free or pro, why it is not Pro, and the checkout URL. Call it to explain a free-tier refusal. No arguments, nothing changes.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"maintenance_due","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"within_days":{"type":"integer","minimum":0,"maximum":3650,"description":"How far ahead to look, in days. Default 30"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"maintenance_export","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"from":{"type":"string","maxLength":10,"description":"Only entries dated on or after this, YYYY-MM-DD. Default: no lower bound"},"to":{"type":"string","maxLength":10,"description":"Only entries dated on or before this, YYYY-MM-DD. Default: no upper bound"},"format":{"type":"string","enum":["csv","markdown"],"description":"csv (default) or markdown. Markdown summaries are a Pro feature"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"maintenance_log","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"asset":{"type":"string","maxLength":200,"description":"The asset id, e.g. AST-2026-0003, its serial or asset tag, or its name when only one asset has it"},"date":{"type":"string","maxLength":10,"description":"The day the work was done, YYYY-MM-DD. A future date is refused"},"work":{"type":"string","maxLength":2000,"description":"What was done, e.g. Oil and filter change, or Annual boiler service"},"cost_cents":{"type":"integer","minimum":0,"maximum":100000000000000,"description":"What the work cost in whole cents. 12000 is 120.00. Default 0, for in-house work"},"technician":{"type":"string","maxLength":200,"description":"Who did the work, e.g. Anna, or Acme Heating Ltd"},"next_due":{"type":"string","maxLength":10,"description":"The date the next service falls due, YYYY-MM-DD. Pass either this or interval_days, not both"},"interval_days":{"type":"integer","minimum":1,"maximum":36500,"description":"Days after the work date the next service falls due, e.g. 90 for quarterly. Turned into a date once, at log time"}},"required":["asset","date","work"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}}],"scan":{"score":64,"grade":"C","scanned_at":"2026-09-17T16:31:12.992Z","report":{"scannerVersion":"0.1.2","scannedAt":"2026-09-17T16:31:12.808Z","components":{"code":{"score":-1,"max":25,"notes":["package could not be scanned"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 1177ms"]},"poisoning":{"score":15,"max":15,"notes":["8 tool descriptions checked"]},"auth":{"score":8,"max":15,"notes":["API key sent as a header"]},"maintenance":{"score":3,"max":15,"notes":["repository not readable: github 401"]},"identity":{"score":2,"max":10,"notes":["no repository or website to verify"]}},"findings":[],"inputs":{"probes":[{"url":"https://mcp.zovo.one/mcp/maintenance-log","reachable":true,"authRequired":false,"latencyMs":1177,"serverInfo":{"name":"mcp-maintenance-log","version":"0.22.0"}}],"packages":[],"repo":{"found":false,"owner":"theluckystrike","repo":"mcp-servers","error":"github 401"}}}},"grade_history":[]}