Zovo Shared Checklist MCP
An MCP server that allows AI agents to create, manage, and tick off items on shared checklist pages. It supports assigning items to people, setting due dates, and tracking progress by section or person, enabling collaborative planning for events like moving or weddings without requiring user accounts.
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://shared-checklist.zovo.one/mcpWhat its tools do
3 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Read-only (1)
Can change data (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
What you can do with it
- Create a shared checklist for group tasks like moving house or wedding prep
- Tick items off a checklist via chat interface
- Check progress and identify overdue items by section or person
- Export checklist data as CSV
Source and maintenance
Protocol and capabilities
- Server
- shared-checklist 1.0.0
- MCP protocol negotiated in check
- 2025-11-25
- Tools
- 3 advertised
- Resources
- 1 advertised
- Resource templates
- 1 advertised
- Prompts
- Not advertised
{
"tools": {
"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
3 advertised
create_shared_checklist — Create a shared checklist page
Use this when a group needs to work through a list together (moving house, wedding prep, event setup, onboarding a new teammate) and wants one link everyone can tick off. Publishes a page and returns a public link to share and a private organizer link. 1-150 items, each with an optional section, assignee first name and due date (YYYY-MM-DD, checked in the given time zone). Total text is limited to 64 KB: plenty for 150 items in English, about 130 items of 140 characters in Chinese, Japanese or Korean. Does not send reminders or notifications. Do not use for a private to-do list nobody else needs to see.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"time_zone",
"items"
],
"properties": {
"note": {
"type": "string",
"maxLength": 280,
"description": "Optional note shown at the top of the page, e.g. Tick an item when it is done."
},
"items": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"maxLength": 140
},
{
"type": "object",
"required": [
"text"
],
"properties": {
"due": {
"type": "string",
"maxLength": 10,
"description": "Optional due date YYYY-MM-DD between 2000-01-01 and 2100-12-31, e.g. 2026-11-20."
},
"text": {
"type": "string",
"maxLength": 140,
"description": "What needs doing, e.g. Book the moving van."
},
"section": {
"type": "string",
"maxLength": 40,
"description": "Optional group heading, e.g. Kitchen."
},
"assignee": {
"type": "string",
"maxLength": 40,
"description": "Optional first name of who does it, e.g. Ana."
}
}
}
]
},
"maxItems": 150,
"minItems": 1,
"description": "The items, as text or objects, e.g. [\"Book the van\", {\"text\": \"Pack the kitchen\", \"section\": \"Kitchen\", \"assignee\": \"Sam\", \"due\": \"2026-11-20\"}]."
},
"title": {
"type": "string",
"maxLength": 80,
"description": "Name of the checklist, e.g. Moving day, Flat 4B."
},
"time_zone": {
"type": "string",
"maxLength": 64,
"description": "IANA time zone of the group (Area/City, not an abbreviation like EST), used for due dates and tick times, e.g. Europe/London or America/Chicago."
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"public_url",
"manage_url",
"title",
"time_zone",
"today",
"closed",
"ended",
"expires_at",
"done",
"total",
"percent_done",
"by_section",
"by_assignee",
"overdue",
"overdue_count",
"due_today",
"open_items",
"open_count",
"recent"
],
"properties": {
"done": {
"type": "number"
},
"full": {
"type": "boolean"
},
"ended": {
"type": "boolean"
},
"title": {
"type": "string"
},
"today": {
"type": "string"
},
"total": {
"type": "number"
},
"closed": {
"type": "boolean"
},
"recent": {
"type": "array",
"items": {
"type": "object",
"required": [
"number",
"by",
"done",
"at"
],
"properties": {
"at": {
"type": "string"
},
"by": {
"type": "string"
},
"done": {
"type": "boolean"
},
"number": {
"type": "number"
}
},
"additionalProperties": false
}
},
"changes": {
"type": "array",
"items": {
"type": "string"
}
},
"overdue": {
"type": "array",
"items": {
"type": "object",
"required": [
"number",
"text",
"assignee",
"due"
],
"properties": {
"due": {
"type": "string"
},
"text": {
"type": "string"
},
"number": {
"type": "number"
},
"assignee": {
"type": "string"
}
},
"additionalProperties": false
}
},
"due_today": {
"type": "array",
"items": {
"type": "object",
"required": [
"number",
"text",
"assignee",
"due"
],
"properties": {
"due": {
"type": "string"
},
"text": {
"type": "string"
},
"number": {
"type": "number"
},
"assignee": {
"type": "string"
}
},
"additionalProperties": false
}
},
"time_zone": {
"type": "string"
},
"by_section": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"done",
"total",
"overdue"
],
"properties": {
"done": {
"type": "number"
},
"name": {
"type": "string"
},
"total": {
"type": "number"
},
"overdue": {
"type": "number"
}
},
"additionalProperties": false
}
},
"expires_at": {
"type": "string"
},
"manage_url": {
"type": "string"
},
"open_count": {
"type": "number"
},
"open_items": {
"type": "array",
"items": {
"type": "object",
"required": [
"number",
"text",
"assignee",
"due"
],
"properties": {
"due": {
"type": "string"
},
"text": {
"type": "string"
},
"number": {
"type": "number"
},
"assignee": {
"type": "string"
}
},
"additionalProperties": false
}
},
"public_url": {
"type": "string"
},
"by_assignee": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"done",
"total",
"overdue"
],
"properties": {
"done": {
"type": "number"
},
"name": {
"type": "string"
},
"total": {
"type": "number"
},
"overdue": {
"type": "number"
}
},
"additionalProperties": false
}
},
"percent_done": {
"type": "number"
},
"overdue_count": {
"type": "number"
},
"overdue_shown": {
"type": "object",
"required": [
"shown",
"total"
],
"properties": {
"shown": {
"type": "number"
},
"total": {
"type": "number"
}
},
"additionalProperties": false
},
"due_today_count": {
"type": "number"
},
"due_today_shown": {
"type": "object",
"required": [
"shown",
"total"
],
"properties": {
"shown": {
"type": "number"
},
"total": {
"type": "number"
}
},
"additionalProperties": false
},
"by_section_count": {
"type": "object",
"required": [
"shown",
"total"
],
"properties": {
"shown": {
"type": "number"
},
"total": {
"type": "number"
}
},
"additionalProperties": false
},
"open_items_count": {
"type": "object",
"required": [
"shown",
"total"
],
"properties": {
"shown": {
"type": "number"
},
"total": {
"type": "number"
}
},
"additionalProperties": false
},
"by_assignee_count": {
"type": "object",
"required": [
"shown",
"total"
],
"properties": {
"shown": {
"type": "number"
},
"total": {
"type": "number"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}{
"title": "Create a shared checklist page",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}show_checklist_results — Show checklist progress
Use this when the organizer asks how far along a shared checklist is, what is overdue, who did what, or what is left, for a checklist made with create_shared_checklist. Takes the private organizer link and returns progress by section and by person, overdue and due-today items in the checklist's time zone, open items and recent ticks. Does not change the checklist. Do not use without the organizer link.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"manage_link"
],
"properties": {
"manage_link": {
"type": "string",
"maxLength": 400,
"description": "The private organizer link returned when the checklist was created, e.g. https://shared-checklist.zovo.one/m/AbC.../XyZ..."
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"public_url",
"manage_url",
"title",
"time_zone",
"today",
"closed",
"ended",
"expires_at",
"done",
"total",
"percent_done",
"by_section",
"by_assignee",
"overdue",
"overdue_count",
"due_today",
"open_items",
"open_count",
"recent"
],
"properties": {
"done": {
"type": "number"
},
"full": {
"type": "boolean"
},
"ended": {
"type": "boolean"
},
"title": {
"type": "string"
},
"today": {
"type": "string"
},
"total": {
"type": "number"
},
"closed": {
"type": "boolean"
},
"recent": {
"type": "array",
"items": {
"type": "object",
"required": [
"number",
"by",
"done",
"at"
],
"properties": {
"at": {
"type": "string"
},
"by": {
"type": "string"
},
"done": {
"type": "boolean"
},
"number": {
"type": "number"
}
},
"additionalProperties": false
}
},
"changes": {
"type": "array",
"items": {
"type": "string"
}
},
"overdue": {
"type": "array",
"items": {
"type": "object",
"required": [
"number",
"text",
"assignee",
"due"
],
"properties": {
"due": {
"type": "string"
},
"text": {
"type": "string"
},
"number": {
"type": "number"
},
"assignee": {
"type": "string"
}
},
"additionalProperties": false
}
},
"due_today": {
"type": "array",
"items": {
"type": "object",
"required": [
"number",
"text",
"assignee",
"due"
],
"properties": {
"due": {
"type": "string"
},
"text": {
"type": "string"
},
"number": {
"type": "number"
},
"assignee": {
"type": "string"
}
},
"additionalProperties": false
}
},
"time_zone": {
"type": "string"
},
"by_section": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"done",
"total",
"overdue"
],
"properties": {
"done": {
"type": "number"
},
"name": {
"type": "string"
},
"total": {
"type": "number"
},
"overdue": {
"type": "number"
}
},
"additionalProperties": false
}
},
"expires_at": {
"type": "string"
},
"manage_url": {
"type": "string"
},
"open_count": {
"type": "number"
},
"open_items": {
"type": "array",
"items": {
"type": "object",
"required": [
"number",
"text",
"assignee",
"due"
],
"properties": {
"due": {
"type": "string"
},
"text": {
"type": "string"
},
"number": {
"type": "number"
},
"assignee": {
"type": "string"
}
},
"additionalProperties": false
}
},
"public_url": {
"type": "string"
},
"by_assignee": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"done",
"total",
"overdue"
],
"properties": {
"done": {
"type": "number"
},
"name": {
"type": "string"
},
"total": {
"type": "number"
},
"overdue": {
"type": "number"
}
},
"additionalProperties": false
}
},
"percent_done": {
"type": "number"
},
"overdue_count": {
"type": "number"
},
"overdue_shown": {
"type": "object",
"required": [
"shown",
"total"
],
"properties": {
"shown": {
"type": "number"
},
"total": {
"type": "number"
}
},
"additionalProperties": false
},
"due_today_count": {
"type": "number"
},
"due_today_shown": {
"type": "object",
"required": [
"shown",
"total"
],
"properties": {
"shown": {
"type": "number"
},
"total": {
"type": "number"
}
},
"additionalProperties": false
},
"by_section_count": {
"type": "object",
"required": [
"shown",
"total"
],
"properties": {
"shown": {
"type": "number"
},
"total": {
"type": "number"
}
},
"additionalProperties": false
},
"open_items_count": {
"type": "object",
"required": [
"shown",
"total"
],
"properties": {
"shown": {
"type": "number"
},
"total": {
"type": "number"
}
},
"additionalProperties": false
},
"by_assignee_count": {
"type": "object",
"required": [
"shown",
"total"
],
"properties": {
"shown": {
"type": "number"
},
"total": {
"type": "number"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}{
"title": "Show checklist progress",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}update_shared_checklist — Change, tick or close a checklist
Use this when the organizer wants to add items, change an item's text, section, assignee or due date, remove items, tick or untick items by number, rename the list, change the note, or close or reopen the page. Takes the private organizer link. Removing an item also removes its tick history. Does not send messages to anyone.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"manage_link"
],
"properties": {
"note": {
"type": "string",
"maxLength": 280,
"description": "New note shown on the page; empty text removes it."
},
"title": {
"type": "string",
"maxLength": 80,
"description": "New title, e.g. Moving day (final)."
},
"status": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "closed stops ticking (the list stays visible); open allows it again."
},
"done_by": {
"type": "string",
"maxLength": 40,
"description": "Name shown for ticks made from the chat, e.g. Priya. Default Organizer."
},
"add_items": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"maxLength": 140
},
{
"type": "object",
"required": [
"text"
],
"properties": {
"due": {
"type": "string",
"maxLength": 10,
"description": "Optional due date YYYY-MM-DD between 2000-01-01 and 2100-12-31, e.g. 2026-11-20."
},
"text": {
"type": "string",
"maxLength": 140,
"description": "What needs doing, e.g. Book the moving van."
},
"section": {
"type": "string",
"maxLength": 40,
"description": "Optional group heading, e.g. Kitchen."
},
"assignee": {
"type": "string",
"maxLength": 40,
"description": "Optional first name of who does it, e.g. Ana."
}
}
}
]
},
"maxItems": 150,
"description": "New items, e.g. [\"Buy tape\", {\"text\": \"Return keys\", \"due\": \"2026-11-30\"}]."
},
"mark_done": {
"type": "array",
"items": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1
},
"maxItems": 150,
"description": "Numbers of items to tick as done, e.g. [1, 2]."
},
"edit_items": {
"type": "array",
"items": {
"type": "object",
"required": [
"number"
],
"properties": {
"due": {
"type": "string",
"maxLength": 10,
"description": "New due date YYYY-MM-DD between 2000-01-01 and 2100-12-31; empty text removes it."
},
"text": {
"type": "string",
"maxLength": 140,
"description": "New text, e.g. Book the big van."
},
"number": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Item number as shown on the page, e.g. 3."
},
"section": {
"type": "string",
"maxLength": 40,
"description": "New section; empty text removes it."
},
"assignee": {
"type": "string",
"maxLength": 40,
"description": "New assignee first name; empty text removes it."
}
}
},
"maxItems": 150,
"description": "Changes to existing items, by number."
},
"manage_link": {
"type": "string",
"maxLength": 400,
"description": "The private organizer link returned when the checklist was created, e.g. https://shared-checklist.zovo.one/m/AbC.../XyZ..."
},
"remove_items": {
"type": "array",
"items": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1
},
"maxItems": 150,
"description": "Numbers of items to remove, e.g. [4, 7]."
},
"mark_not_done": {
"type": "array",
"items": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1
},
"maxItems": 150,
"description": "Numbers of items to untick, e.g. [5]."
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"public_url",
"manage_url",
"title",
"time_zone",
"today",
"closed",
"ended",
"expires_at",
"done",
"total",
"percent_done",
"by_section",
"by_assignee",
"overdue",
"overdue_count",
"due_today",
"open_items",
"open_count",
"recent"
],
"properties": {
"done": {
"type": "number"
},
"full": {
"type": "boolean"
},
"ended": {
"type": "boolean"
},
"title": {
"type": "string"
},
"today": {
"type": "string"
},
"total": {
"type": "number"
},
"closed": {
"type": "boolean"
},
"recent": {
"type": "array",
"items": {
"type": "object",
"required": [
"number",
"by",
"done",
"at"
],
"properties": {
"at": {
"type": "string"
},
"by": {
"type": "string"
},
"done": {
"type": "boolean"
},
"number": {
"type": "number"
}
},
"additionalProperties": false
}
},
"changes": {
"type": "array",
"items": {
"type": "string"
}
},
"overdue": {
"type": "array",
"items": {
"type": "object",
"required": [
"number",
"text",
"assignee",
"due"
],
"properties": {
"due": {
"type": "string"
},
"text": {
"type": "string"
},
"number": {
"type": "number"
},
"assignee": {
"type": "string"
}
},
"additionalProperties": false
}
},
"due_today": {
"type": "array",
"items": {
"type": "object",
"required": [
"number",
"text",
"assignee",
"due"
],
"properties": {
"due": {
"type": "string"
},
"text": {
"type": "string"
},
"number": {
"type": "number"
},
"assignee": {
"type": "string"
}
},
"additionalProperties": false
}
},
"time_zone": {
"type": "string"
},
"by_section": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"done",
"total",
"overdue"
],
"properties": {
"done": {
"type": "number"
},
"name": {
"type": "string"
},
"total": {
"type": "number"
},
"overdue": {
"type": "number"
}
},
"additionalProperties": false
}
},
"expires_at": {
"type": "string"
},
"manage_url": {
"type": "string"
},
"open_count": {
"type": "number"
},
"open_items": {
"type": "array",
"items": {
"type": "object",
"required": [
"number",
"text",
"assignee",
"due"
],
"properties": {
"due": {
"type": "string"
},
"text": {
"type": "string"
},
"number": {
"type": "number"
},
"assignee": {
"type": "string"
}
},
"additionalProperties": false
}
},
"public_url": {
"type": "string"
},
"by_assignee": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"done",
"total",
"overdue"
],
"properties": {
"done": {
"type": "number"
},
"name": {
"type": "string"
},
"total": {
"type": "number"
},
"overdue": {
"type": "number"
}
},
"additionalProperties": false
}
},
"percent_done": {
"type": "number"
},
"overdue_count": {
"type": "number"
},
"overdue_shown": {
"type": "object",
"required": [
"shown",
"total"
],
"properties": {
"shown": {
"type": "number"
},
"total": {
"type": "number"
}
},
"additionalProperties": false
},
"due_today_count": {
"type": "number"
},
"due_today_shown": {
"type": "object",
"required": [
"shown",
"total"
],
"properties": {
"shown": {
"type": "number"
},
"total": {
"type": "number"
}
},
"additionalProperties": false
},
"by_section_count": {
"type": "object",
"required": [
"shown",
"total"
],
"properties": {
"shown": {
"type": "number"
},
"total": {
"type": "number"
}
},
"additionalProperties": false
},
"open_items_count": {
"type": "object",
"required": [
"shown",
"total"
],
"properties": {
"shown": {
"type": "number"
},
"total": {
"type": "number"
}
},
"additionalProperties": false
},
"by_assignee_count": {
"type": "object",
"required": [
"shown",
"total"
],
"properties": {
"shown": {
"type": "number"
},
"total": {
"type": "number"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}{
"title": "Change, tick or close a checklist",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}Prompts
Not advertised
Resources
1 advertised
shared-checklist-widget — Zovo Shared Checklist view
Interactive view for Zovo Shared Checklist.
ui://widget/shared-checklist-v1-1.0.0-58c138a8cd1bc9c5fb4dd2174c53b79112d38488de14315322b67523ada51dd5.htmlshared-checklist-widget-legacy — Zovo Shared Checklist view (previous versions)
ui://widget/shared-checklist-{version}.html30-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
- 745 ms
- 95th percentile latency
- 745 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 745 ms · metadata changed · 3 tool(s), 1 resource(s), 1 resource template(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http zovo-shared-checklist-mcp https://shared-checklist.zovo.one/mcpCodex
codex mcp add zovo-shared-checklist-mcp --url https://shared-checklist.zovo.one/mcpCursor
{
"mcpServers": {
"zovo-shared-checklist-mcp": {
"url": "https://shared-checklist.zovo.one/mcp"
}
}
}Cline
{
"mcpServers": {
"zovo-shared-checklist-mcp": {
"type": "streamableHttp",
"url": "https://shared-checklist.zovo.one/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"zovo-shared-checklist-mcp": {
"type": "http",
"url": "https://shared-checklist.zovo.one/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http zovo-shared-checklist-mcp https://shared-checklist.zovo.one/mcpClaude Desktop
https://shared-checklist.zovo.one/mcpWindsurf
{
"mcpServers": {
"zovo-shared-checklist-mcp": {
"serverUrl": "https://shared-checklist.zovo.one/mcp"
}
}
}Let your agent find its tools
Find servers like Zovo Shared Checklist MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.