MCP Delivery Schedule
Tracks dated deliverables against quotes or work orders, managing status transitions from planned to accepted. It generates late reports showing slipped items with value at risk and can create invoice-ready milestone lines for accepted items.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://mcp.zovo.one/mcp/delivery-scheduleWhat its tools do
12 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Read-only (2)
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Availability 1 of 1 checks passed in 30 days
- Popularity 2 GitHub stars
What you can do with it
- Track contract deliverables and milestones
- Generate late-deliverables reports as at any date
- Mark items delivered and accepted
- Create invoice-ready lines for accepted milestones
Source and maintenance
- Last repository push
- Latest release
- v0.22.5
- Maintenance checked
Protocol and capabilities
- Server
- mcp-delivery-schedule 0.22.7
- MCP protocol negotiated in check
- 2025-06-18
- Tools
- 12 advertised
- Resources
- 2 advertised
- Resource templates
- 0 advertised
- Prompts
- 2 advertised
{
"tools": {
"listChanged": true
},
"prompts": {
"listChanged": true
},
"resources": {
"listChanged": true
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
12 advertised
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.
{
"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
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}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.
{
"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
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": 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.
{
"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
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": 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.
{
"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
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": true
}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.
{
"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
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": 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.
{
"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
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": 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.
{
"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
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": true
}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.
{
"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
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": 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.
{
"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
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}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.
{
"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
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": 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": {}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": 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
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}Prompts
2 advertised
upgrade_to_pro — Explain the upgrade
Explain what Pro on the delivery-schedule server costs and exactly what the user has to do, without leaving the conversation.
- feature
- The capped feature that prompted this, if there was one
run_the_schedule — Plan the deliveries and report what is late
Open a schedule against a quote, work order or change order, add the dated deliverables, record each hand-over and sign-off, and bill the accepted milestones.
- reference
- The quote, work order or change order id, e.g. WO-2026-0001, Q-2026-0003 or CO-2026-0001 (required)
Resources
2 advertised
pricing — Pricing and upgrade
What delivery-schedule costs, what Pro unlocks, the checkout link that carries this connection's token, and the one step a person has to take. Machine-readable; read it before telling a user how to lift a free-tier cap.
pricing://delivery-schedulecontract — The status machine, why late is not stored, the two scales and the free tier
The four stored statuses and the legal moves, how lateness is derived from as_of, the two payload scales, the free-tier limits and the one document this server writes.
deliveryschedule://contract90-day uptime
A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.
- 2026-11-02: 3 of 3 checks answered
- 2026-11-03: 4 of 4 checks answered
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 1621 ms
- 95th percentile latency
- 1621 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · repository · passed · metadata changed · updated
- · backfill · recorded · Pre-expansion baseline; unobserved rich metadata remains unknown
- · probe · passed · 1621 ms · metadata changed · 12 tool(s), 2 resource(s), 0 resource template(s), 2 prompt(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http mcp-delivery-schedule https://mcp.zovo.one/mcp/delivery-scheduleCodex
codex mcp add mcp-delivery-schedule --url https://mcp.zovo.one/mcp/delivery-scheduleCursor
{
"mcpServers": {
"mcp-delivery-schedule": {
"url": "https://mcp.zovo.one/mcp/delivery-schedule"
}
}
}Cline
{
"mcpServers": {
"mcp-delivery-schedule": {
"type": "streamableHttp",
"url": "https://mcp.zovo.one/mcp/delivery-schedule",
"disabled": false
}
}
}VS Code
{
"servers": {
"mcp-delivery-schedule": {
"type": "http",
"url": "https://mcp.zovo.one/mcp/delivery-schedule"
}
}
}Gemini CLI
gemini mcp add --transport http mcp-delivery-schedule https://mcp.zovo.one/mcp/delivery-scheduleClaude Desktop
{
"mcpServers": {
"mcp-delivery-schedule": {
"url": "https://mcp.zovo.one/mcp/delivery-schedule"
}
}
}Windsurf
{
"mcpServers": {
"mcp-delivery-schedule": {
"serverUrl": "https://mcp.zovo.one/mcp/delivery-schedule"
}
}
}Let your agent find its tools
Find servers like MCP Delivery Schedule from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.