MCP 서버

maintenance-log

io.github.theluckystrike/maintenance-log
비즈니스 및 운영 공개 · 연결 가능 MCP 2026-07-28

이 MCP로 할 수 있는 일

Maintains an equipment asset register with service logs, costs, due-date reporting, and CSV or Markdown exports.

asset_add
Add an asset to the register
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.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name'], 'properties': {'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'}, 'name': {'type': 'string', 'maxLength': 200, 'description': 'What the asset is called, e.g. Lathe, Combi boiler, Van 2, or Studio camera A'}, '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'}, 'location': {'type': 'string', 'maxLength': 400, 'description': 'Where the asset lives, e.g. Workshop bay 2, or 14 Nowa Street, flat 3'}}, 'additionalProperties': False}
asset_history
Read one asset's log and total spend
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.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['asset'], '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'}}, 'additionalProperties': False}
asset_remove
Remove an asset from the register
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.
파괴적 작업
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['asset'], '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'}}, 'additionalProperties': False}
license_activate
Activate license
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.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['key'], 'properties': {'key': {'type': 'string', 'description': 'License key from checkout, MCPL1.<payload>.<signature>'}}, 'additionalProperties': False}
license_status
License status
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.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
maintenance_due
Report what is overdue and what is coming due
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.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'within_days': {'type': 'integer', 'maximum': 3650, 'minimum': 0, 'description': 'How far ahead to look, in days. Default 30'}}, 'additionalProperties': False}
maintenance_export
Export the log as CSV or Markdown
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.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'to': {'type': 'string', 'maxLength': 10, 'description': 'Only entries dated on or before this, YYYY-MM-DD. Default: no upper bound'}, 'from': {'type': 'string', 'maxLength': 10, 'description': 'Only entries dated on or after this, YYYY-MM-DD. Default: no lower bound'}, 'format': {'enum': ['csv', 'markdown'], 'type': 'string', 'description': 'csv (default) or markdown. Markdown summaries are a Pro feature'}}, 'additionalProperties': False}
maintenance_log
Log maintenance on an asset
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.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['asset', 'date', 'work'], 'properties': {'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'}, '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'}, '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'}, 'cost_cents': {'type': 'integer', 'maximum': 100000000000000, 'minimum': 0, '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'}, 'interval_days': {'type': 'integer', 'maximum': 36500, 'minimum': 1, 'description': 'Days after the work date the next service falls due, e.g. 90 for quarterly. Turned into a date once, at log time'}}, 'additionalProperties': False}
변경됨
license_activate
2026년 9월 22일 2:40 AM
변경됨
license_status
2026년 9월 22일 2:40 AM
변경됨
asset_remove
2026년 9월 22일 2:40 AM
변경됨
maintenance_export
2026년 9월 22일 2:40 AM
변경됨
asset_history
2026년 9월 22일 2:40 AM
변경됨
maintenance_due
2026년 9월 22일 2:40 AM
변경됨
maintenance_log
2026년 9월 22일 2:40 AM
변경됨
asset_add
2026년 9월 22일 2:40 AM
추가됨
license_activate
2026년 9월 18일 2:40 AM
추가됨
license_status
2026년 9월 18일 2:40 AM
추가됨
asset_remove
2026년 9월 18일 2:40 AM
추가됨
maintenance_export
2026년 9월 18일 2:40 AM
추가됨
asset_history
2026년 9월 18일 2:40 AM
추가됨
maintenance_due
2026년 9월 18일 2:40 AM
추가됨
maintenance_log
2026년 9월 18일 2:40 AM
추가됨
asset_add
2026년 9월 18일 2:40 AM