Skip to main content
Glama

Milanote MCP Server and API by Cotlet

Tick off tasks in Milanote

milanote_tick_off_tasks
Read-onlyIdempotent

Tick off tasks in the user's own Milanote account from ChatGPT, Claude or any AI agent. Returns how to do it in Milanote step by step (screens, buttons, fields) and opens nothing by itself; then do it with the cotlet_browser_* tools in the user's Milanote Cloud Browser. Milanote's official API: Milanote has no public API and no official MCP server (checked 11 Oct 2026).

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "milanote_tick_off_tasks"
  }
}

Input Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true and openWorldHint=false, and the description reinforces rather than contradicts them by stating it 'opens nothing by itself'. It adds genuine value beyond the annotations by disclosing the return content (screens, buttons, fields) and the required follow-up tooling, though it does not say what happens if the user is not signed in or the task is already complete.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The critical constraint ('returns how to do it ... opens nothing by itself') is front-loaded in the first two sentences, which is the right ordering. There is some padding — 'from ChatGPT, Claude or any AI agent' is marketing filler, and the closing note about the official API repeats the no-API point twice ('no public API and no official MCP server').

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no input parameters, no output schema and full annotation coverage, the description carries only the burden of explaining what comes back and what to do next — and it does both by describing the step-by-step guide and naming the cotlet_browser_* tools. It is nearly complete; only the edge cases (already-completed task, unauthenticated user) are unaddressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is no parameter meaning for the description to supply; the baseline for a no-parameter tool applies. The description appropriately spends its words on behavior and workflow instead of inventing parameter detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb+resource (tick off tasks in Milanote) and immediately corrects the natural misreading of the name by stating it returns step-by-step instructions rather than performing the action. It does not, however, distinguish itself from the sibling set_task_done, which plausibly performs the actual state change, leaving an agent to infer which of the two to call.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives a clear two-step workflow: call this to get the instructions, then execute them with the cotlet_browser_* tools in the user's Milanote Cloud Browser. What is missing is any exclusion — it never says when NOT to use this (e.g., when a direct API-style sibling like set_task_done is preferable), so the routing decision against siblings is left implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.