Koskamo

theluckystrike MCP Checklist

A community MCP server for creating reusable checklists and managing dated runs where each step is marked pass, fail, or not applicable. It records who marked each step, preserves the checklist version at the start of a run, and allows for a frozen sign-off with exceptions recorded on the report.

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.

theluckystrike MCP Checklist logo, by theluckystrikeCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-07Published by theluckystrike
You need:Get a free token with one requestcurl -X POST https://mcp.zovo.one/mcp/tokenNo account, no email, no OAuthThe token is good for 30 days and allows 600 calls an hour
MCP endpoint (Streamable HTTP)
https://mcp.zovo.one/mcp/checklist
Vendor documentation

What its tools do

16 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

16 of 16 have a description · 16 of 16 declare behavior hints · 14 of 15 with parameters document them all

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

What you can do with it

  • Create a reusable checklist with steps and sections
  • Start a dated run and record pass/fail/NA per step
  • View run reports with signatures and exceptions
  • Sign off a completed run to freeze the record

Source and maintenance

Community listingRegistry 0.23.0
Maintenance checked

Protocol and capabilities

Server
mcp-checklist 0.22.6
MCP protocol negotiated in check
2025-11-25
Tools
16 advertised
Resources
2 advertised
Resource templates
0 advertised
Prompts
2 advertised
Server-advertised capabilities
{
  "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.

Reusable checklists with signed-off runs. It covers checklists with required and optional steps grouped in sections, dated runs that copy the steps so later edits never change a run under way, pass, fail or not-applicable answers with who and when, sign-off that freezes a run and keeps exceptions on record, and plain-text run reports. Records are stored per user account on McpStamp's hosted service. The free tier holds 3 checklists with unlimited runs; Pro also returns run reports as download files. One lifetime key unlocks this server and all 58 others: https://mcp.zovo.one/buy/bundle?src=instr.checklist

Tools

16 advertised

checklist_create — Create a checklist
Advertised by the server during the last successful anonymous check.

Create a reusable checklist and return its CL-NNNN id: a name, a category and an optional description. Add the steps with checklist_item_add. Free tier: 3 checklists, and unlimited runs of them.

checklist_create input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 200,
      "description": "What the checklist is, e.g. Pre-delivery vehicle check or Site handover"
    },
    "category": {
      "type": "string",
      "maxLength": 60,
      "description": "A grouping key, lower-cased and hyphenated, e.g. handover or safety. Default general"
    },
    "description": {
      "type": "string",
      "maxLength": 2000,
      "description": "What this checklist is for and when to run it, printed at the top of a blank copy"
    }
  },
  "additionalProperties": false
}
checklist_create annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": false,
  "destructiveHint": false
}
checklist_item_add — Add a step to a checklist
Advertised by the server during the last successful anonymous check.

Add one step to a checklist and return its I01-style id: the text, an optional section heading, and whether it is required. A required step that is unanswered or failed blocks sign-off; an optional one does not.

checklist_item_add input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "checklist",
    "text"
  ],
  "properties": {
    "note": {
      "type": "string",
      "maxLength": 2000,
      "description": "Guidance printed under the step, e.g. the tolerance or the standard it is checked against"
    },
    "text": {
      "type": "string",
      "maxLength": 2000,
      "description": "The step, as the person doing it will read it, e.g. Tyre pressures checked and recorded"
    },
    "section": {
      "type": "string",
      "maxLength": 60,
      "description": "A heading to group this step under, e.g. Exterior. Steps keep the order they were added within a section"
    },
    "position": {
      "type": "integer",
      "maximum": 500,
      "minimum": 1,
      "description": "Insert at this 1-based position instead of at the end. Existing steps keep their ids"
    },
    "required": {
      "type": "boolean",
      "description": "Whether sign-off is blocked while this step is unanswered or failed. Default true"
    },
    "checklist": {
      "type": "string",
      "maxLength": 200,
      "description": "The checklist id, e.g. CL-0001, or its name when only one carries it"
    }
  },
  "additionalProperties": false
}
checklist_item_add annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": false,
  "destructiveHint": false
}
checklist_item_remove — Remove a step from a checklist
Advertised by the server during the last successful anonymous check.
Advertised destructive

Remove one step from a checklist by its I01-style id and bump the checklist version. Runs already under way keep the step they started with, so nothing anybody already ticked is rewritten.

checklist_item_remove input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "checklist",
    "item"
  ],
  "properties": {
    "item": {
      "type": "string",
      "maxLength": 16,
      "description": "The step id, e.g. I03, as shown by checklist_show"
    },
    "checklist": {
      "type": "string",
      "maxLength": 200,
      "description": "The checklist id, e.g. CL-0001, or its name when only one carries it"
    }
  },
  "additionalProperties": false
}
checklist_item_remove annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": false,
  "destructiveHint": true
}
checklist_show — Show one checklist
Advertised by the server during the last successful anonymous check.
Advertised read-only

One checklist with its steps in order, grouped by section, plus how many are required and how many runs have been started from it. Pass as_text for a blank printable copy with a box against each step.

checklist_show input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "checklist"
  ],
  "properties": {
    "as_text": {
      "type": "boolean",
      "description": "Return a blank printable copy as plain text as well as the structured view. Default false"
    },
    "checklist": {
      "type": "string",
      "maxLength": 200,
      "description": "The checklist id, e.g. CL-0001, or its name when only one carries it"
    }
  },
  "additionalProperties": false
}
checklist_show annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
checklist_list — List checklists
Advertised by the server during the last successful anonymous check.
Advertised read-only

Every checklist with its category, version, step count and how many runs came from it. Filter by category or by a word in the name. Returns at most 500 rows, newest change first.

checklist_list input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "category": {
      "type": "string",
      "maxLength": 60,
      "description": "Only checklists in this category, matched after the same lower-case hyphenation applied on create"
    },
    "contains": {
      "type": "string",
      "maxLength": 200,
      "description": "Only checklists whose name contains this text, matched case-insensitively"
    }
  },
  "additionalProperties": false
}
checklist_list annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
checklist_delete — Delete a checklist
Advertised by the server during the last successful anonymous check.
Advertised destructive

Delete a checklist and its steps for good. Runs already started from it are untouched and stay readable: a run carries its own copy of the steps, so deleting the checklist does not erase what anybody signed.

checklist_delete input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "checklist",
    "confirm"
  ],
  "properties": {
    "confirm": {
      "type": "boolean",
      "const": true,
      "description": "Must be true. There is no undo and nothing is copied anywhere first"
    },
    "checklist": {
      "type": "string",
      "maxLength": 200,
      "description": "The checklist id, e.g. CL-0001, or its name when only one carries it"
    }
  },
  "additionalProperties": false
}
checklist_delete annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": false,
  "destructiveHint": true
}
run_start — Start a run of a checklist
Advertised by the server during the last successful anonymous check.

Start a dated run of a checklist and return its RUN-YYYY-NNNN id. The steps are COPIED into the run, so editing the checklist afterwards never changes a run already under way. Runs are free and never capped.

run_start input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "checklist",
    "title"
  ],
  "properties": {
    "date": {
      "type": "string",
      "maxLength": 10,
      "description": "The day the run happened, YYYY-MM-DD. Default today"
    },
    "note": {
      "type": "string",
      "maxLength": 2000
    },
    "title": {
      "type": "string",
      "maxLength": 200,
      "description": "What this run is against, e.g. Van BX21 KLM, February service"
    },
    "checklist": {
      "type": "string",
      "maxLength": 200,
      "description": "The checklist id, e.g. CL-0001, or its name when only one carries it"
    },
    "reference": {
      "type": "string",
      "maxLength": 64,
      "description": "The job, order or asset id this run belongs to, e.g. WO-2026-0044. Named only; no sibling store is opened"
    }
  },
  "additionalProperties": false
}
run_start annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": false,
  "destructiveHint": false
}
run_check — Answer a step in a run
Advertised by the server during the last successful anonymous check.

Mark one step pass, fail or na, with who did it and when. na means the step did not apply; it counts as answered and never as passed. A step can be answered again while the run is open, and the last answer stands.

run_check input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "run",
    "item",
    "state"
  ],
  "properties": {
    "at": {
      "type": "string",
      "maxLength": 10,
      "description": "The day it was answered, YYYY-MM-DD. Default the run's own date"
    },
    "by": {
      "type": "string",
      "maxLength": 200,
      "description": "Who answered it. Printed against the step on the report"
    },
    "run": {
      "type": "string",
      "maxLength": 200,
      "description": "The run id, e.g. RUN-2026-0001, or its title when only one carries it"
    },
    "item": {
      "type": "string",
      "maxLength": 16,
      "description": "The step id, e.g. I03, as shown by run_show"
    },
    "note": {
      "type": "string",
      "maxLength": 2000,
      "description": "What was found. Say why on a fail: the report prints this under the step"
    },
    "state": {
      "enum": [
        "pending",
        "pass",
        "fail",
        "na"
      ],
      "type": "string",
      "description": "pass, fail, na for did not apply, or pending to put the step back to unanswered"
    }
  },
  "additionalProperties": false
}
run_check annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": false,
  "destructiveHint": false
}
run_show — Show one run
Advertised by the server during the last successful anonymous check.
Advertised read-only

The whole run: every step with its answer, who answered it and when, grouped by section, plus the pass, fail and outstanding counts, the failures in full, and whether it can be signed off and why not.

run_show input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "run"
  ],
  "properties": {
    "run": {
      "type": "string",
      "maxLength": 200,
      "description": "The run id, e.g. RUN-2026-0001, or its title when only one carries it"
    }
  },
  "additionalProperties": false
}
run_show annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
run_list — List runs
Advertised by the server during the last successful anonymous check.
Advertised read-only

Runs newest first, with their checklist, progress and sign-off state. Filter by checklist, by status, by reference or to open runs only. Returns at most 500 rows.

run_list input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "status": {
      "enum": [
        "open",
        "complete",
        "signed_off",
        "abandoned"
      ],
      "type": "string",
      "description": "Only runs in this status"
    },
    "checklist": {
      "type": "string",
      "maxLength": 200,
      "description": "Only runs of this checklist, by id or name"
    },
    "open_only": {
      "type": "boolean",
      "description": "Only open and complete runs, the ones still editable. Default false"
    },
    "reference": {
      "type": "string",
      "maxLength": 64,
      "description": "Only runs against this job, order or asset id, matched case-insensitively"
    },
    "with_failures": {
      "type": "boolean",
      "description": "Only runs that have at least one failed step. Default false"
    }
  },
  "additionalProperties": false
}
run_list annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
run_sign_off — Sign off a run
Advertised by the server during the last successful anonymous check.

Sign off a completed run with a name and a date, which freezes it. Refused while a required step is unanswered or failed, unless force is true, and either way the exceptions stay on the record and print on the report.

run_sign_off input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "run",
    "by"
  ],
  "properties": {
    "by": {
      "type": "string",
      "maxLength": 200,
      "description": "Who is signing it off, as it should read on the document"
    },
    "run": {
      "type": "string",
      "maxLength": 200,
      "description": "The run id, e.g. RUN-2026-0001, or its title when only one carries it"
    },
    "date": {
      "type": "string",
      "maxLength": 10,
      "description": "The day it was signed, YYYY-MM-DD. Default today"
    },
    "note": {
      "type": "string",
      "maxLength": 2000,
      "description": "What the signature covers, or the exception being accepted"
    },
    "force": {
      "type": "boolean",
      "description": "Sign off even though required steps are unanswered or failed. Default false; the reasons come back either way"
    }
  },
  "additionalProperties": false
}
run_sign_off annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": false,
  "destructiveHint": false
}
run_status — Reopen or abandon a run
Advertised by the server during the last successful anonymous check.
Advertised read-only

Move a run back to open so a step can be answered again, or abandon it when the job did not happen. A signed-off run is refused: a signature is the point at which a run stops moving.

run_status input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "run",
    "status"
  ],
  "properties": {
    "run": {
      "type": "string",
      "maxLength": 200,
      "description": "The run id, e.g. RUN-2026-0001, or its title when only one carries it"
    },
    "date": {
      "type": "string",
      "maxLength": 10,
      "description": "The day the step happened, YYYY-MM-DD. Default today"
    },
    "note": {
      "type": "string",
      "maxLength": 2000,
      "description": "Why. Kept on the run's history and printed nowhere else"
    },
    "status": {
      "enum": [
        "open",
        "abandoned"
      ],
      "type": "string",
      "description": "open puts a complete run back into edit; abandoned closes it without a signature"
    }
  },
  "additionalProperties": false
}
run_status annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
run_report — Produce the run report
Advertised by the server during the last successful anonymous check.
Advertised read-only

The run as plain text on every tier: every step with its mark, who answered it, the notes, the counts and a signature block or the recorded signature. Pro also gets it back as a .txt download link valid for one hour, named by out_path.

run_report input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "run"
  ],
  "properties": {
    "run": {
      "type": "string",
      "maxLength": 200,
      "description": "The run id, e.g. RUN-2026-0001, or its title when only one carries it"
    },
    "out_path": {
      "type": "string",
      "maxLength": 1000,
      "description": "Name for the downloaded .txt file, e.g. site-handover-run. Pro only. Omit to get the report back as text, which every tier can do; the file comes back as a download link valid for one hour"
    },
    "overwrite": {
      "type": "boolean",
      "description": "Replace out_path if a file is already there. Default false, and an existing file is refused with nothing written"
    }
  },
  "additionalProperties": false
}
run_report annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
run_delete — Delete a run
Advertised by the server during the last successful anonymous check.
Advertised destructive

Delete a run for good, with every answer on it. A signed-off run is refused: it is the record of what somebody put their name to. Abandon a run you no longer want instead of deleting a signed one.

run_delete input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "run",
    "confirm"
  ],
  "properties": {
    "run": {
      "type": "string",
      "maxLength": 200,
      "description": "The run id, e.g. RUN-2026-0001, or its title when only one carries it"
    },
    "confirm": {
      "type": "boolean",
      "const": true,
      "description": "Must be true. There is no undo and nothing is copied anywhere first"
    }
  },
  "additionalProperties": false
}
run_delete annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": false,
  "destructiveHint": true
}
license_status — License status
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

license_status input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {}
}
license_status annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
license_activate — Activate license
Advertised by the server during the last successful anonymous check.

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.

license_activate input schema
{
  "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_activate annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": false,
  "destructiveHint": false
}

Prompts

2 advertised

run_the_checklist — Run a checklist against a job and get it signed off

Advertised by the server during the last successful anonymous check.

Pick or build the checklist, start a dated run against a job, answer every step with who and when, and sign it off with the exceptions on the record.

job
What the run is against, e.g. Van BX21 KLM February service, or WO-2026-0044 (required)
upgrade_to_pro — Explain the upgrade

Advertised by the server during the last successful anonymous check.

Explain what Pro on the checklist 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

Resources

2 advertised

contract — The snapshot rule, the run status machine, the free tier and where this server writes

Advertised by the server during the last successful anonymous check.

Why a run copies its checklist, the four item states and what na means, the run status machine, what blocks a sign-off, the free-tier limits and the one document this server writes.

contract URI
checklist://contract

MIME type: application/json

pricing — Pricing and upgrade

Advertised by the server during the last successful anonymous check.

What checklist 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 URI
pricing://checklist

MIME type: application/json

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
1357 ms
95th percentile latency
1357 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 1357 ms · metadata changed · 16 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.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http mcp-checklist https://mcp.zovo.one/mcp/checklist

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add mcp-checklist --url https://mcp.zovo.one/mcp/checklist

Cursor

Merge this server into .cursor/mcp.json in your project, then enable mcp-checklist in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "mcp-checklist": {
      "url": "https://mcp.zovo.one/mcp/checklist"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "mcp-checklist": {
      "type": "streamableHttp",
      "url": "https://mcp.zovo.one/mcp/checklist",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start mcp-checklist and inspect its tools.
VS Code configuration
{
  "servers": {
    "mcp-checklist": {
      "type": "http",
      "url": "https://mcp.zovo.one/mcp/checklist"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http mcp-checklist https://mcp.zovo.one/mcp/checklist

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://mcp.zovo.one/mcp/checklist

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "mcp-checklist": {
      "serverUrl": "https://mcp.zovo.one/mcp/checklist"
    }
  }
}

Let your agent find its tools

Find servers like theluckystrike MCP Checklist from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.