MCPサーバー

maintenance-schedule

io.github.theluckystrike/maintenance-schedule
ビジネス・業務 公開・接続可能 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月24日2:40
追加
license_status
2026年9月24日2:40
追加
asset_remove
2026年9月24日2:40
追加
maintenance_export
2026年9月24日2:40
追加
asset_history
2026年9月24日2:40
追加
maintenance_due
2026年9月24日2:40
追加
maintenance_log
2026年9月24日2:40
追加
asset_add
2026年9月24日2:40