Serveur MCP

deliverable-tracker

io.github.theluckystrike/deliverable-tracker
Entreprise et opérations Indisponible MCP 2026-07-28

Ce que fait ce MCP

Tracks delivery schedules and deliverables through planned, in-progress, delivered, and accepted states, with lateness reports and invoice-ready milestone payloads.

deliverable_add
Add a dated deliverable
Add one dated deliverable and return its D number and the new counts. value_minor is NET of VAT in whole MINOR units. A due date before the reference document's own date is refused. It starts as planned.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['schedule', 'description', 'due_date'], 'properties': {'note': {'type': 'string', 'maxLength': 2000}, 'due_date': {'type': 'string', 'maxLength': 10, 'description': "The day it is due, YYYY-MM-DD. It cannot fall before the reference document's own date"}, 'schedule': {'type': 'string', 'maxLength': 200, 'description': 'The schedule id, e.g. DS-2026-0001, the reference it delivers, e.g. WO-2026-0001, or its title'}, 'tax_rate': {'type': 'number', 'maximum': 1000, 'minimum': 0, 'description': "VAT percent for this deliverable, overriding the shared business profile's default"}, 'description': {'type': 'string', 'maxLength': 2000, 'description': 'What is being handed over, as the client would recognise it, e.g. Wireframes for the five main pages'}, 'value_minor': {'type': 'integer', 'maximum': 1000000000000, 'minimum': 0, 'description': 'What this deliverable is worth, net of VAT, in whole minor units. 90000 is EUR 900.00. Leave it out when the job is a lump sum and this deliverable carries no price of its own'}, 'duplicate_ok': {'type': 'boolean', 'description': 'Add it even though this schedule already carries the same description due on the same day. Default false'}}, 'additionalProperties': False}
deliverable_delete
Delete a planned deliverable
Delete one deliverable still planned with no history. One started, delivered or accepted is refused, naming when: add a corrected deliverable instead. The D number on a schedule is never reissued.
Destructif
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['schedule', 'deliverable'], 'properties': {'schedule': {'type': 'string', 'maxLength': 200, 'description': 'The schedule id, e.g. DS-2026-0001, the reference it delivers, e.g. WO-2026-0001, or its title'}, 'deliverable': {'type': 'string', 'maxLength': 200, 'description': 'The deliverable id, e.g. D01, or its description when only one carries it'}}, 'additionalProperties': False}
deliverable_status
Move a deliverable along
Record a dated move on one deliverable: planned, in_progress, delivered, then accepted with a note. An out-of-order move, or a date before the reference document, is refused. The date drives lateness.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['schedule', 'deliverable', 'status'], 'properties': {'date': {'type': 'string', 'maxLength': 10, 'description': 'The day it happened, YYYY-MM-DD. Default today. This is the date every late reading is taken against, not the day you type it'}, 'note': {'type': 'string', 'maxLength': 2000, 'description': 'What happened. On accepted this is the acceptance note, e.g. Signed off by the client on the call, no snags'}, 'status': {'enum': ['in_progress', 'delivered', 'accepted'], 'type': 'string', 'description': 'The status to move to'}, 'schedule': {'type': 'string', 'maxLength': 200, 'description': 'The schedule id, e.g. DS-2026-0001, the reference it delivers, e.g. WO-2026-0001, or its title'}, 'deliverable': {'type': 'string', 'maxLength': 200, 'description': 'The deliverable id, e.g. D01, or its description when only one carries it'}}, 'additionalProperties': False}
delivery_schedule_create
Open a delivery schedule
Open a delivery schedule against a quote, work order or change order and return its DS-YYYY-NNNN number: the reference, its own date, the client, a title and the currency. Free tier: 3 open.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['reference', 'reference_date', 'client', 'title'], 'properties': {'note': {'type': 'string', 'maxLength': 2000}, 'title': {'type': 'string', 'maxLength': 2000, 'description': 'What the job is, in one line, e.g. Website rebuild, phase one'}, 'client': {'type': 'string', 'maxLength': 200, 'description': 'The client the work is delivered to, as named on the reference document'}, 'currency': {'type': 'string', 'pattern': '^[A-Za-z]{3}$', 'description': "ISO code the deliverables are priced in. Defaults to the shared business profile's currency"}, 'reference': {'type': 'string', 'maxLength': 64, 'description': 'The quote, work order or change order this schedule delivers, by its id, e.g. WO-2026-0001, Q-2026-0003 or CO-2026-0001'}, 'reference_date': {'type': 'string', 'maxLength': 10, 'description': 'The date on the reference document itself, YYYY-MM-DD. No due date and no delivery may fall before it'}, 'reference_kind': {'enum': ['quote', 'work_order', 'change_order'], 'type': 'string', 'description': 'What the reference is. Inferred from the id when omitted: WO- is a work order, CO- a change order, anything else a quote'}}, 'additionalProperties': False}
delivery_schedule_delete
Delete an empty schedule
Delete a schedule carrying no deliverables, freeing an open slot. One holding any is refused, naming them, since they record what was owed. The DS number is never reissued. Free on every tier.
Destructif
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['schedule'], 'properties': {'schedule': {'type': 'string', 'maxLength': 200, 'description': 'The schedule id, e.g. DS-2026-0001, the reference it delivers, e.g. WO-2026-0001, or its title'}}, 'additionalProperties': False}
delivery_schedule_document
Delivery schedule document
Render one schedule as a plain-text document for the client: every deliverable with its due date, status, delivered and accepted dates and value, the counts as at a date, and a sign-off block. Pro.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['schedule'], 'properties': {'as_of': {'type': 'string', 'maxLength': 10, 'description': 'Read the schedule as at this date, YYYY-MM-DD. Defaults to today'}, 'schedule': {'type': 'string', 'maxLength': 200, 'description': 'The schedule id, e.g. DS-2026-0001, the reference it delivers, e.g. WO-2026-0001, or its title'}}, 'additionalProperties': False}
delivery_schedule_get
Show one delivery schedule
Return one schedule in full as at a date: every deliverable with due date, status, delivered and accepted dates, note and value, plus what is late and the totals. The answer names the as_of it used.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['schedule'], 'properties': {'as_of': {'type': 'string', 'maxLength': 10, 'description': 'Read the schedule as at this date, YYYY-MM-DD. Defaults to today'}, 'schedule': {'type': 'string', 'maxLength': 200, 'description': 'The schedule id, e.g. DS-2026-0001, the reference it delivers, e.g. WO-2026-0001, or its title'}}, 'additionalProperties': False}
delivery_schedule_list
List delivery schedules
List schedules oldest reference first with client, currency and counts as at a date: late, still owed, accepted. Filter by client, reference and state open or complete. Free.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'as_of': {'type': 'string', 'maxLength': 10, 'description': 'Read the schedule as at this date, YYYY-MM-DD. Defaults to today'}, 'limit': {'type': 'integer', 'maximum': 500, 'minimum': 1, 'description': 'Maximum schedules returned, default and ceiling 500'}, 'state': {'enum': ['open', 'complete'], 'type': 'string', 'description': 'open for a job with a deliverable that is not yet accepted, complete for one where every deliverable is'}, 'client': {'type': 'string', 'maxLength': 200, 'description': 'Only schedules whose client name contains this text'}, 'reference': {'type': 'string', 'maxLength': 64, 'description': 'Only the schedule against this quote, work order or change order'}}, 'additionalProperties': False}
late_report
What is late as at a date
What has slipped as at a date: every deliverable still owed past its due date, worst first, with value at risk per currency, and what was delivered late kept apart. A reference with no schedule is refused.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'as_of': {'type': 'string', 'maxLength': 10, 'description': 'Read lateness as at this date, YYYY-MM-DD. Defaults to today. Everything in the answer is as at this date, not as at now'}, 'limit': {'type': 'integer', 'maximum': 500, 'minimum': 1, 'description': 'Maximum rows per section, default and ceiling 500'}, 'client': {'type': 'string', 'maxLength': 200, 'description': 'Only schedules whose client name contains this text'}, 'reference': {'type': 'string', 'maxLength': 64, 'description': 'Only the schedule against this quote, work order or change order'}, 'include_delivered_late': {'type': 'boolean', 'description': 'Include what was handed over after its due date but is no longer outstanding. Default true'}}, '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.
Schéma d’entrée
{'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.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
milestone_payload
Invoice payload for accepted milestones
Build the delivered-and-accepted deliverables as invoice_create-ready items in MAJOR units and quote_create-ready items in MINOR units, with VAT at the shared profile rate. Writes nothing. Pro.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['schedule'], 'properties': {'as_of': {'type': 'string', 'maxLength': 10, 'description': 'Bill what had been accepted by this date, YYYY-MM-DD. Defaults to today'}, 'schedule': {'type': 'string', 'maxLength': 200, 'description': 'The schedule id, e.g. DS-2026-0001, the reference it delivers, e.g. WO-2026-0001, or its title'}, 'tax_rate': {'type': 'number', 'maximum': 1000, 'minimum': 0, 'description': "VAT percent for deliverables with no rate of their own, overriding the shared business profile's default"}, 'issue_date': {'type': 'string', 'maxLength': 10, 'description': 'The invoice issue date, YYYY-MM-DD. Default today'}}, 'additionalProperties': False}
Modifié
license_activate
22 September 2026 02:40
Modifié
license_status
22 September 2026 02:40
Modifié
milestone_payload
22 September 2026 02:40
Modifié
delivery_schedule_document
22 September 2026 02:40
Modifié
late_report
22 September 2026 02:40
Modifié
delivery_schedule_delete
22 September 2026 02:40
Modifié
delivery_schedule_list
22 September 2026 02:40
Modifié
delivery_schedule_get
22 September 2026 02:40
Modifié
deliverable_delete
22 September 2026 02:40
Modifié
deliverable_status
22 September 2026 02:40
Modifié
deliverable_add
22 September 2026 02:40
Modifié
delivery_schedule_create
22 September 2026 02:40
Ajouté
license_activate
18 September 2026 02:40
Ajouté
license_status
18 September 2026 02:40
Ajouté
milestone_payload
18 September 2026 02:40
Ajouté
delivery_schedule_document
18 September 2026 02:40
Ajouté
late_report
18 September 2026 02:40
Ajouté
delivery_schedule_delete
18 September 2026 02:40
Ajouté
delivery_schedule_list
18 September 2026 02:40
Ajouté
delivery_schedule_get
18 September 2026 02:40
Ajouté
deliverable_delete
18 September 2026 02:40
Ajouté
deliverable_status
18 September 2026 02:40
Ajouté
deliverable_add
18 September 2026 02:40
Ajouté
delivery_schedule_create
18 September 2026 02:40