Skip to main content
Glama

Milanote MCP Server and API by Cotlet

Upload image in Milanote

milanote_upload_image
Read-onlyIdempotent

Upload image 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_upload_image"
  }
}

Input Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false; the description reinforces this with the useful clarification that the tool opens nothing by itself, which is the exact point an agent could get wrong. It also discloses the ecosystem constraint (no public Milanote API, no official MCP server), explaining why the tool is instruction-based rather than an API call.

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

Conciseness3/5

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

The core two clauses are front-loaded and useful, but the definition carries filler: "from ChatGPT, Claude or any AI agent" adds nothing, and the dated API audit note ("checked 11 Oct 2026") is reference trivia rather than invocation guidance. Several ideas are packed into one run-on sentence, hurting scanability.

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?

For a no-param, no-output-schema guide tool, the description covers the important ground: what it returns, that it performs no action itself, and which tools complete the job. The remaining gap is how the specific image is identified given the empty schema, which the description never addresses.

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?

Zero-parameter tool, so the baseline is 4. The description adds no parameter detail because there is none to add, and the absence of an image identifier parameter is a schema design issue rather than a description gap, though the description could have explained how the image itself enters the flow.

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

Purpose3/5

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

The description states the resource (image in the user's Milanote account) and the odd actual behavior (returns step-by-step instructions, opens nothing). But the name and title both say "Upload image," so the first sentence reads as a write action that the second sentence reverses, forcing the agent to read the whole thing to learn the tool is really a how-to guide. It also does not differentiate against the three other upload-flavored siblings (upload_image, cotlet_upload_file, cotlet_browser_upload).

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

Usage Guidelines3/5

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

It gives a clear follow-on path: use cotlet_browser_* tools in the user's Milanote Cloud Browser after getting the steps. That is implied usage guidance, but there is no explicit when-to-use-this vs. cotlet_browser_upload or cotlet_upload_file, and no statement of when this tool is the wrong choice.

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.