Skip to main content

How to connect Milanote to Claude Code, ChatGPT and any AI agent

Yes, Claude, ChatGPT and other AI agents can work in your Milanote account. There is no official Milanote app in ChatGPT's apps directory and no official Milanote connector in Claude's directory. Cotlet.dev connects your own signed-in Milanote account to any AI agent, so you can ask in plain words and the AI sorts your ideas, notes and references into organized boards for you.

What you can ask

Create a board called "Spring launch 2027" with columns for Ideas, In progress and Done, then sort my loose notes into them.

Turn the notes from Tuesday's meeting with Priya into a to-do list on the "Bloom Bakery" board.

Add these 12 reference links to my "Brand moodboard" board, one card each with a short caption.

Summarize everything on the "Q1 content plan" board in 5 bullet points and add the summary as a note at the top.

Move every finished board with "2026" in the title into a new board called "Archive 2026".

Connect in 2 minutes

Get your API key at https://cotlet.dev/app and export it as COTLET_API_KEY.

Claude Code

claude mcp add --transport http cotlet https://cotlet.dev/mcp/v1 --header "Authorization: Bearer $COTLET_API_KEY"

ChatGPT

Settings → Apps → add connector URL https://cotlet.dev/mcp/v1, then sign in with Cotlet.dev. No API key needed.

Cursor

Copy .cursor/mcp.json from this repo into your project:

{
  "mcpServers": {
    "cotlet": {
      "url": "https://cotlet.dev/mcp/v1",
      "headers": {
        "Authorization": "Bearer ${COTLET_API_KEY}"
      }
    }
  }
}

Run it locally (stdio)

This repo is a real MCP server. It speaks MCP over stdio, lists its Milanote tools without any key, and forwards every tool call to the hosted Cotlet.dev server. The hosted URL above stays the recommended way. Use this when your client only starts local servers.

{"mcpServers":{"milanote":{"command":"uvx","args":["milanote-mcp"],"env":{"COTLET_API_KEY":"your-key"}}}}

Or with Docker:

docker build -t milanote-mcp .
docker run -i --rm -e COTLET_API_KEY milanote-mcp

Tools: milanote_guide, milanote_status, milanote_open, milanote_read, milanote_click, milanote_type, milanote_close. Without COTLET_API_KEY a tool call answers: "Set COTLET_API_KEY. Get a key at https://cotlet.dev/app".

Command line

Python 3.10+, nothing else to install. From PyPI:

pip install milanote-mcp        # or run it once: uvx milanote-mcp connect
milanote-mcp connect

Or straight from this repo:

export COTLET_API_KEY="your-key"
python3 milanote_agent.py connect   # ready config for Claude Code, Cursor, ChatGPT
python3 milanote_agent.py status    # is Milanote ready in your Cotlet.dev account
python3 milanote_agent.py guide     # Milanote screens and sign-in link
python3 milanote_agent.py read      # open Milanote, read the page, close the browser
python3 milanote_agent.py tools     # list Cotlet.dev tools
python3 milanote_agent.py serve     # start the stdio MCP server (same as no argument)

Questions from Milanote users

Does Milanote have an API?

You don't need one. Cotlet.dev works in your own signed-in Milanote account, so your AI agent can create boards, add notes and organize cards without a Milanote API key.

How do I connect Milanote to ChatGPT?

Add Cotlet.dev as an app in ChatGPT (Settings → Apps, connector URL https://cotlet.dev/mcp/v1), sign in to Milanote once in your Cotlet.dev Cloud Browser, and ask ChatGPT in plain words. No code and no Milanote API key.

Is there a way to use Claude with Milanote?

Yes. In Claude Code run the one-line claude mcp add command above; in the Claude app add https://cotlet.dev/mcp/v1 as a custom connector. Claude then works in your own Milanote account.

Is there a Milanote MCP server?

Milanote has no official MCP server listed in the ChatGPT or Claude directories. Cotlet.dev is a hosted MCP server that works in Milanote for you, 24/7, with Claude, ChatGPT, Cursor, Codex, n8n, Make and Zapier.

Find it on

Also works with


More: https://cotlet.dev/integrations/milanote-api-mcp-server?utm_source=github&utm_medium=readme&utm_campaign=milanote

Start free: https://cotlet.dev/signup?app=milanote&utm_source=github&utm_medium=readme&utm_campaign=milanote

Metadata

Release files for milanote-mcp 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for milanote-mcp 1.1.0
File Size Uploaded Provenance Actions
milanote_mcp-1.1.0.tar.gz 9.3 kB Without provenance Details for milanote_mcp-1.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for milanote-mcp 1.1.0
File Interpreter ABI Platform Actions
milanote_mcp-1.1.0-py3-none-any.whl Python 3 none any Details for milanote_mcp-1.1.0-py3-none-any.whl

Total release size: 18.6 kB

Release files / milanote_mcp-1.1.0.tar.gz

Download URL milanote_mcp-1.1.0.tar.gz
Size 9.3 kB
Tags Source
SHA-256 checksum
How to use checksums
412cbbd87282f55c5e989bc27e62a2a05f698786a5f032607b142785ca557e9f
BLAKE2b-256 checksum
How to use checksums
0b3e6fe6c0deddbe1e4a6571489652390c2d6cbe783d9efa9bd8945fe5575530
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / milanote_mcp-1.1.0-py3-none-any.whl

Download URL milanote_mcp-1.1.0-py3-none-any.whl
Size 9.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
686f42c38597ada06426fbcf057a0cb614edaae58bc594576036df5a8b7f046f
BLAKE2b-256 checksum
How to use checksums
4d69cc4163daeeb73ef9783a68095b01336d7b5983b319747aee137b5964b46f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for milanote-mcp 1.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page