mcpbeat Sign in

Milanote by Cotlet MCP Server

answering

Milanote by Cotlet is answering right now. Last checked 9 min ago. 816 installs a week from pypi. It exposes 48 tools. Last commit 24 Oct 2026.

Boards, notes and links in your Milanote workspace.

Installs per day peak 816 · avg 27
a month agotoday
Uptime history 46 hours of history
46 hours agonow
100.0%
Uptime 24h
182 of 182 checks
48
Tools
read from the server
331 ms
Response time
average over 24h
816
Installs / week
npm and PyPI

What changed 46

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 24 October 2026. No other catalogue keeps this.

24 Oct 43 tool descriptions were rewritten add_column, add_comment, add_label and 40 more
24 Oct 3 tools disappeared cotlet_balance, cotlet_browser_connect, cotlet_browser_sessions

Tools have disappeared from this server

A tool that vanishes takes a piece of your agent with it, and the change arrives silently. Watch this server and every such change lands in your inbox.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 9 min ago.

run in your terminal
claude mcp add milanote --transport http https://cotlet.dev/mcp/v1/milanote/connect
Settings → Connectors → Add custom connector, then paste this address
https://cotlet.dev/mcp/v1/milanote/connect
~/.codex/config.toml
[mcp_servers.milanote]
url = "https://cotlet.dev/mcp/v1/milanote/connect"
.cursor/mcp.json
{
  "mcpServers": {
    "milanote": {
      "url": "https://cotlet.dev/mcp/v1/milanote/connect"
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "milanote": {
      "type": "http",
      "url": "https://cotlet.dev/mcp/v1/milanote/connect"
    }
  }
}

This endpoint answered with an authorization challenge. The server is running, and it signs you in through your browser: there is no API key to paste.

This server publishes 1 more address. The block above uses the one we reach during checks; the full list is under Endpoints below, and the author may intend a particular one for your client.

Available tools 48

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

cotlet
cotlet_apps
The apps of the user's workspace and whether each works now: access granted or requested, the app account in the user's Cloud Browser (connected, signed out, signed in but not connected), and the one step the user has to take, with the console link. Free. Needs the user's Cotlet API key or sign-in.
cotlet_browser_click
Clicks a link, button or other element of the current page in the user's Milanote Cloud Browser, by its number in the page's element list, and returns the URL and title after the click. It acts as the user on that site. Buttons that pay or buy and buttons on account or sign-in pages are refused. Every started minute of the session costs credits; it ends when closed or 3 minutes after the last call in the browser.
cotlet_browser_close
Ends the session in the user's Milanote Cloud Browser: the browser keeps its cookies, goes to sleep and the per-minute charge stops. Returns the session's minutes and credits.
cotlet_browser_navigate
Opens a public http or https address in the user's Milanote Cloud Browser and returns the URL and title it ended on. Only Milanote pages open. Every started minute of the session costs credits; it ends when closed or 3 minutes after the last call in the browser.
cotlet_browser_open
Wakes the user's Milanote Cloud Browser, a real Chrome hosted on Cotlet and signed in to Milanote as the user. Use it for what the Milanote tools do not cover. Opens `url` when given and returns the page's URL and title. The user watches every step live. Every started minute of the session costs credits; it ends when closed or 3 minutes after the last call in the browser.
cotlet_browser_press
Presses one key on the current page in the user's Milanote Cloud Browser, on the element that has focus: Tab to the next field, Enter to send, Escape to close a dialog or pop-up, arrows to move through a suggestion list. Returns the URL and title after it. Enter on account pages is refused. Every started minute of the session costs credits; it ends when closed or 3 minutes after the last call in the browser.
cotlet_browser_read
Returns the current page of the user's Milanote Cloud Browser: its readable text, up to 20,000 characters, and a numbered list of its links, buttons and fields. Field values, cookies and storage are never returned. On a page longer than that, both start near where it is scrolled to. Every started minute of the session costs credits; it ends when closed or 3 minutes after the last call in the browser.
cotlet_browser_screenshot
Returns a JPEG image of the visible part of the current page in the user's Milanote Cloud Browser, with its URL and title: boards, canvases and layouts that the page text does not show. Every started minute of the session costs credits; it ends when closed or 3 minutes after the last call in the browser.
cotlet_browser_scroll
Scrolls the current page in the user's Milanote Cloud Browser with the mouse wheel, as a person does: down or up by `screens` viewport heights (default 0.8), to the top or the bottom, or until element `element` is in view. Content that loads on scroll appears, and the next read lists it. Returns the URL, title and scroll position (at_top, at_bottom). Every started minute of the session costs credits; it ends when closed or 3 minutes after the last call in the browser.
cotlet_browser_select
Chooses an option of a drop-down list on the current page in the user's Milanote Cloud Browser, by the list's number in the element list and the option's label as read lists it (or its value). Returns the URL and title after it. Card fields and account pages are refused. Every started minute of the session costs credits; it ends when closed or 3 minutes after the last call in the browser.
cotlet_browser_type
Types text into a field of the current page in the user's Milanote Cloud Browser, by the field's number in the page's element list, and with `submit` presses Enter. Returns the URL and title after it. Password, card and one-time code fields and sign-in pages are refused: the user fills those in themselves. Every started minute of the session costs credits; it ends when closed or 3 minutes after the last call in the browser.
cotlet_browser_upload
Puts files into a file field of the current page in the user's Milanote Cloud Browser, or into the file picker that an upload button opens, by its number in the element list. A file is given as {"url": "https://..."} for a file online or {"file_id": "..."} for one uploaded to Cotlet first; up to 10 files, 20 MB each. Returns the URL and title after it. Every started minute of the session costs credits; it ends when closed or 3 minutes after the last call in the browser.
cotlet_get_call
Status of an earlier Cotlet call, by its call_id: pending (waits for the owner's approval in the Cotlet console), approved, running, success, rejected, expired, blocked or failed. For a call that answered with status pending or running.
cotlet_report_issue
Sends a report straight to the Cotlet team: a tool that failed or returned wrong data, an error you could not get past, or a tool, field or app the task needed and Cotlet lacks. The report carries the error text and call_id when there is one, never passwords or tokens. Needs the user's Cotlet API key or sign-in.
cotlet_request_apps
Requests access to apps for the user's workspace, as Request access in the console: a live app is granted at once, any other goes to the Cotlet team, who answer within 72 hours. Takes app slugs as listed at https://cotlet.dev/api/v1/apps. Free. Needs the user's Cotlet API key or sign-in.
cotlet_upload_file
Returns a one-time upload_url and a file_id for a local file (an image for a post, an attachment). The file is sent to upload_url with an HTTP PUT; an argument that takes a file accepts {"file_id": "..."}. Up to 25 MB, the URL works once. Free. Needs the user's Cotlet API key or sign-in.
cotlet_whoami
The Cotlet account this connection acts as: email, workspace, access status, the API key or OAuth client in use with its scope, the apps the workspace may call and its credit balance. Free. Needs the user's Cotlet API key or sign-in.
board
create_board
New board on your Home or nested inside another board. Creates an empty board and returns its board_id for the tools that add cards. It appears in the Unsorted panel of the parent board (your Home by default), where you can drag it onto the canvas. It is private unless the parent board is shared, in which case the parent's editors can open it; nobody is notified. Move it to the trash in Milanote to undo it.
get_board
Every card on a board: notes, links, images, files, to-do lists, columns and sub-boards. Returns one entry per card with its type, ID and content, so other tools can point at it. Order is the board's: the canvas top to bottom, then the Unsorted panel (section says which). Notes come back as plain text. To-do lists list each task with its done state and due date (due_time only when one was set). Cards inside a column carry column_id; color and labels (by name) appear when a card has them. Sub-boards appear as cards with their own board_id; call get_board again to open one. Drawings, lines and tables come back with their type and ID only. include_comments adds comment threads with author, text and time.
boards
list_boards
Boards inside one board, by default the boards on your Home, with title, ID and link. Lists the boards one level down: on your Home, or inside parent_board_id. Boards nest like folders, so pass a board's id as parent_board_id to walk down. Order is the board's own: the canvas top to bottom, then Unsorted. parent_board_id in the answer is the Home board's id when you left it out. Boards in the trash are left out.
search_boards
Find boards and cards by text across your boards, like the Search icon in Milanote. Runs Milanote's own search over every board you can open. Each result is a board, with the cards on it that matched (matches) and the boards above it (path). A board whose title matched has no matches. Sorted by when you last viewed the board, or last modified. Returns Milanote's first page of boards; use get_board on a result to read all its cards.
comment
add_comment
Comment card on a board, or a reply in a comment thread, posted under your name. Without reply_to_id it adds a new comment card on top of the board's Unsorted panel; with it the comment joins that thread. Everyone who can open the board sees it under your name, and Milanote notifies people already in the thread. The text is plain: an @name stays text and tags nobody. Only you can edit or delete it afterwards, in Milanote. By default you confirm each call; you can switch that off for this tool. Waits for the owner's approval.
delete_comment
Delete a comment you wrote, for everyone. Removes your own comment from its thread; the thread and other people's comments stay. There is no trash for comments, so it cannot be brought back. By default you confirm each call; you can switch that off for this tool. Waits for the owner's approval.
edit
edit_comment
Replace the text of a comment you wrote. Overwrites your own comment with plain text, as Edit then Save does in the thread. Others' comments cannot be changed. People who already read it get no new notification.
edit_note
Replace the text of a note card. Overwrites the whole note with plain text: line breaks become paragraphs, and bold, links or lists the note had are lost. Only note cards; to-do lists change with set_task_done. Editors of the board see the change at once; Milanote's undo in the app does not reach it.
trash
list_trash
Cards and boards you moved to the trash, with the board each one came from. Lists your own trash, newest first: one entry per trashed card or board with its ID, content and board_id of the board it was on. restore_card puts one back where it was. Milanote keeps trashed items until you empty the trash in the app; has_more is true when it holds more than one page.
trash_cards
Move cards or sub-boards to the trash, as the Delete key does. The cards leave the board for everyone who can see it, and a trashed sub-board takes its contents with it. Nothing is gone for good: list_trash shows them and restore_card puts one back where it was, until the trash is emptied in Milanote. By default you confirm each call; you can switch that off for this tool. Waits for the owner's approval.
card
set_card_color
Colour the bar on top of a note, to-do list, link, file or column, or clear it. Sets one of Milanote's eleven card colours, as the Color tool does; none removes it. Boards and images take no colour here. Editors of the board see the change at once.
column
add_column
Empty column on a board, to group cards in a stack. Adds a titled column on top of the board's Unsorted panel and returns its column_id; move_card with to_column_id puts cards into it. Editors of the board see it, nobody is notified.
duplicate
duplicate_board
Copy a board with everything on it, sub-boards included, as a template. Does what Duplicate in a board's menu does: Milanote copies every card, column, comment and sub-board into a new board and returns its board_id. The copy lands in the parent board's Unsorted panel, private to you unless that board is shared; the read-only link and editors are not copied. Every copied card counts toward the free plan's card limit (get_usage). card_count is what Milanote reports it copied.
editor
remove_editor
Take away someone's access to a board, or cancel an invite they have not accepted. Removes one editor, by user_id or email, as the Share dialog's Remove does. They lose the board and the boards inside it unless a parent board is shared with them too; Milanote does not tell them. The owner cannot be removed. invite_editor adds them back. By default you confirm each call; you can switch that off for this tool. Waits for the owner's approval.
export
export_board
Export a board as Markdown, plain text, Word, PDF or PNG, as the Export menu does. Runs Milanote's own export of one board. markdown and plain_text return the text in content; word, pdf and png return only file_url. Text formats follow the board's reading order and leave out comments and sub-board contents; pdf and png are a picture of the canvas. Anyone with file_url can download the file, and Milanote deletes it after about a day.
invite
invite_editor
Invite someone by email to edit a board and the boards inside it. Adds the address as an editor, as Share, Invite editors via email does, and Milanote emails them a link. status is invited when they have no Milanote account yet (a free one is enough to edit), active when they do. Milanote allows inviting only once your account's email is verified; the free plan limits how many boards you can share. Remove them in the Share dialog to undo it. By default you confirm each call; you can switch that off for this tool. Waits for the owner's approval.
label
add_label
Put a label on a card, creating the label when the name is new. Matches the name against your labels (list_labels) without regard to case; created is true when it made a new one. The card keeps its other labels. Editors of the board see the label on the card.
labels
list_labels
The labels you can put on cards, with name and colour. Labels are yours, not a board's: the same label can sit on cards across all your boards. add_label puts one on a card by name and creates it when it is new.
link
add_link
Link card for a web address, with the page's title and preview, added to Unsorted. Adds one link card on top of the board's Unsorted panel. Milanote fetches the page itself and fills in the title, description and preview image, as when you paste a link; the answer returns what it found (title is null when the page gave none). On the free plan a link counts toward the 100 cards limit. Nobody is notified; move the card to the trash in Milanote to undo it.
move
move_card
Move a card or a sub-board to another board, or into or out of a column. Moves it the way drag and drop does, keeping its ID, comments and content. With to_column_id it goes to the top of that column; without it, to the top of the target board's Unsorted panel. Moving a board moves everything inside it. Moving to a board shared with other people shows it to them.
note
add_note
Note card with plain text, added to a board's Unsorted panel. Adds one note card on top of the board's Unsorted panel and returns its card_id. The text is plain: line breaks become paragraphs, Markdown is not converted. On the free plan a note counts toward the 100 cards limit. Editors of the board see it, nobody is notified; move it to the trash in Milanote to undo it.
publish
publish_board
Turn on a board's read-only link, which anyone can open without signing up. Does what Share, Enable read-only link does and returns the link. Anyone who has it sees the board and the boards inside it, without a Milanote account. A board keeps one link: publishing again, even after unpublish_board, brings back the same link with these settings. unpublish_board turns it off. By default you confirm each call; you can switch that off for this tool. Waits for the owner's approval.
recent
list_recent_boards
Boards you opened lately, newest first, wherever they sit in your board tree. The list behind Milanote's search box before you type: every board you viewed, shared ones too, with when you last opened it and how many times. Home and Quick notes appear like any other board. Boards you have not opened since they were made are missing; list_boards walks the tree instead.
rename
rename_board
Change a board's title. Renames the board everywhere it shows: its card on the parent board, the breadcrumb and search. The board_id and the links to it stay the same. Your Home cannot be renamed.
restore
restore_card
Take a card or board out of the trash and put it back where it was. Puts it back on the board, and in the column, it was trashed from, at its old place; a restored board comes back with its contents. column_id is set when it went back into a column. Only items in your own trash, as list_trash shows them.
sharing
get_sharing
Who can open a board: owner, editors and the read-only link with its settings. Lists the board's owner and the editors invited to it; status is invited for someone who has not made a Milanote account yet. Editors of a parent board can open it too and are not listed here. read_only_link is null until publish_board turns the link on; comments_on_link and downloads_on_link say what viewers of that link may do.
task
set_task_done
Tick or untick one task in a to-do list. Finds the task by task_id or by its exact text and sets it done or not done, as clicking its checkbox does; the rest of the list stays as it was. Returns the whole list after the change. When two tasks share the text, pass the task_id instead.
todo
add_todo_list
To-do list card with tasks, each with an optional due date and time, added to Unsorted. Creates one to-do list on top of the board's Unsorted panel with all its tasks, unchecked, and returns each task_id. A due date without a time is due at 5 PM; Milanote reminds you at 9 AM the day it's due, by the channels in your notification settings. Times are in the Cloud Browser's time zone. Nobody else is notified; move the list to the trash in Milanote to undo it.
unpublish
unpublish_board
Turn off a board's read-only link; people who had it can no longer open the board. Does what switching off Share, Enable read-only link does. Editors keep their access. publish_board turns the same link back on, so anyone who kept it can open the board again. was_published is false when the board had no link.
upload
upload_image
Image card from a PNG, JPEG, GIF or WebP file, added to a board's Unsorted panel. Uploads one image per call, as Upload in Milanote does, and returns its card_id and size. The file goes in as a file argument (a link, an upload or base64), up to 10 MB; the extension of the name follows the real file type. The image_url opens only for people signed in to Milanote who can see the board. On the free plan an image counts toward the 100 cards limit and uploads are limited too. Nobody is notified; move the card to the trash in Milanote to undo it.
usage
get_usage
How many cards your account uses against the free plan's limit, by card type. used is what Milanote counts toward the free plan's limit (100 cards, more with referral bonuses); once exceeded is true Milanote refuses new cards until you delete some or upgrade. On a paid plan unlimited is true and limit is null. by_type counts each kind of element you made, comments and lines included; Milanote decides which of them count toward used.

Tools removed

Tools this server used to expose. Anything built against them stopped working on the day they went.

cotlet_balance
removed 24 Oct 2026
cotlet_browser_connect
removed 24 Oct 2026
cotlet_browser_sessions
removed 24 Oct 2026

Endpoints

URLTransportStateLatencyChecked
https://cotlet.dev/mcp/v1/milanote/connect streamable-http sign-in 103 ms 10 min ago
https://cotlet.dev/mcp/v1/milanote streamable-http answering 102 ms 9 min ago

Alternatives to Milanote by Cotlet

same job, measured the same way
Hovercode
by hovercode

Create and manage QR codes, short links, landing pages, and forms in your Hovercode workspace.

28 installs/wk 36 tools answering
Eutexa CRM
by eutexa

Search contacts, track deals, create tasks and log notes in your Eutexa CRM workspace.

answering
Builderforce
by seanhogg

Run tickets, boards, OKRs and cloud coding agents in your Builderforce workspace

answering
Vaiz
by vaiz

Connect AI assistants to your Vaiz workspace: tasks, projects, boards, documents and milestones.

23 installs/wk local only
The Margin
by themarginapp

Notes, boards, habits, money and family life in one place your AI can read and act on.

answering
ToDowl
by supafast-tech

Tasks, calendar, notes and habits from ToDowl, in one workspace, for your AI client.

answering
Linear
by linear

Find and manage issues, projects, and documents in your Linear workspace.

answering
Moxt Workspace
by moxt

Browse and manage files in your Moxt AI workspace from any MCP client.

answering

Milanote by Cotlet — questions

Answers built from our own checks of this server.

What can Milanote by Cotlet do?
It exposes 48 tools, read directly from the server on our last check. Among them: add_column, add_comment, add_label, add_link, add_note, add_todo_list and 42 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
What is Milanote by Cotlet mostly used for?
Its tools cluster around cotlet, board and trash. That is what this server is built to work with — the grouping comes from the actual tool names, not from a category we assigned.
Is Milanote by Cotlet working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 182 of 182 checks got a reply (100.0%), average response time 331 ms. The bar chart above shows every period we have measured.
Did Milanote by Cotlet ever remove tools?
Yes. cotlet_balance, cotlet_browser_connect, cotlet_browser_sessions are no longer exposed — we recorded the date each one disappeared. A tool vanishing usually means a breaking change for anything that depended on it.
How do I connect Milanote by Cotlet?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address. You sign in through your browser once and the client keeps the session: no key to copy, and it refuses anonymous clients.
How do you sign in to Milanote by Cotlet?
No API key is involved. Milanote by Cotlet answers our knock with an OAuth challenge, so you authorise it once in your browser and the client keeps the session. That is also why we see no tool list: it will not describe itself to an anonymous client, and that is the server working as intended, not a fault.
How fast is Milanote by Cotlet?
It answers our handshake in 331 ms on average, which is faster than 49% of all working MCP servers we measure. The comparison comes from our own checks across the whole registry, every 15 minutes.
How many people use Milanote by Cotlet?
The pypi package milanote-api-mcp was installed 816 times in the last week. We show installs rather than GitHub stars on purpose: a star is a bookmark, an install is someone actually running it.
Is Milanote by Cotlet open source?
We cannot say either way: written in Python and 2 stars on GitHub, but we could not determine the licence, and without one the code is not open source by default.