使用说明
注释mcp
note.com文章管理用MCP服务器。AI直接从助手(Claude Code,Claude Desktop等)note.com的文章。
⚠️ 注意:此项目包括note.com非公式API中所述修改相应参数的值。了解更多信息免责声明.md来修改标记元素的显示属性。
特性
- 🔐 浏览器验证: Playwright的note.com登录并安全保存会话
- 📝 记事作成: Markdown创建文章并保存为草稿
- 📖 记事取得:取得已有报道的内容(标题、正文、标签等)
- ✏️ 记事编集:更新现有文章(检索-编辑-保存工作流)
- 🚀 记事公开:从草稿到公开的一步变更
- 🗑️ 记事削除:下书き记事の削除(単体・一括)、2段阶确认で误操作防止
- 🖼️ 上传图像:上传眼部捕捉图像、文章内嵌入图像
- 眼部捕捉图像:文章的缩略图用
- 正文图像:S3直接上传不影响眼捕捉
- 📋 记事一覧:获取自己的文章列表
- 👁️ 预览: API通过高速的报道预览显示HTMLobtain
- 🔄 Markdown→HTML变换:自动note.com兼容HTML转换为格式
- 📐 公式支持: KaTeX兼容公式符号(
$${...}$$),模板名称将采用不同的格式 - 📑 目录支持:
[TOC]用符号从标题自动生成目录 - 🔗 嵌入式支持:外部URL在文章中嵌入(外部文章的丰富预览显示)
安装
# Install from GitHub
uv pip install git+https://github.com/drillan/note-mcp.git
# Install Playwright browser
playwright install chromium
开发安装
# Clone the repository
git clone https://github.com/drillan/note-mcp.git
cd note-mcp
# Install dependencies
uv sync
# Install Playwright browser
uv run playwright install chromium
配置
MCP在客户端配置文件中添加以下内容:。了解更多信息快速入门指南来修改标记元素的显示属性。
基本设定
{
"mcpServers": {
"note-mcp": {
"command": "uv",
"args": ["run", "python", "-m", "note_mcp"],
"cwd": "/path/to/note-mcp"
}
}
}
备注:
cwd类型的多个类型参数的着色器的编译器中可能发生的故障。指定包安装的项目目录,开发安装的克隆存储库。了解更多信息按安装方法设置来修改标记元素的显示属性。
eachMCP有关客户端(Claude Code,Claude Desktop,VS Code,Cursor,Windsurf)配置文件的位置和详细信息,请参见MCP按客户端设置来修改标记元素的显示属性。
用法
1.登录
note.comにログインしてください
浏览器启动note.com的明细栏样式中定义的设置。手动完成登录后,会话OS的明细栏样式中定义的设置。
2.记事作成
以下の内容でnote.comに下書きを作成してください:
タイトル: AIと記事を書く
本文:
# はじめに
AIアシスタントと一緒に記事を書いてみましょう。
3.上传图像
眼部捕捉(标题)图像
記事ID 12345678 に /path/to/eyecatch.png をアイキャッチ画像としてアップロードしてください
眼部捕捉图像显示为文章的缩略图。
文章内嵌入图像
記事ID 12345678 に /path/to/inline.png を本文用画像としてアップロードし、記事に埋め込んでください
当上传正文用图像时Markdown返回格式的插入代码。通过将其添加到文章正文中,可以嵌入图像。
带说明的图像:
单击功能区上的Markdown的,之title使用属性:

例:

标题是note.com的明细栏样式中定义的设置。
备注:正文图像S3对较大场景进行渲染期间已观察到该故障。
4.引用和出处
可以在引用块中添加出处(引用源)。Markdown引用— (em破折号+空格)开头的行被识别为出处。
基本出处:
> 知識は力なり
> — フランシス・ベーコン
出处URL添加:
> 知識は力なり
> — フランシス・ベーコン (https://ja.wikipedia.org/wiki/知識は力なり)
来源URL将转换为链接。如果没有出处行,则与以往一样只显示引用。
小贴士:支持多行引用。出处请写在引用块的最后一行。
5.文章编辑(推荐工作流)
编辑现有文章时,首先获取内容,然后进行编辑:
記事ID ne1c111d2073c の内容を取得してください
确认取得的内容后,委托编辑:
取得した記事の末尾に「まとめ」セクションを追加してください
AI中描述的场景,使用以下步骤创建明细表,以便在概念设计中分析体量的体积。
6.记事公开
下書きを公開してください
7.删除草稿文章
単体削除
記事 n1234567890ab を削除してください
2阶段确认流程:
- 第一个调用将显示删除确认
- 确认后,再次调用时实际删除
一括削除
すべての下書き記事を削除してください
同样,在2阶段确认流程中,首先显示删除对象一览,确认后执行批量删除。
注意:无法取消删除。无法删除已发布的文章(出于安全考虑)。
8.使用公式
note.com公式符号Markdown中所述修改相应参数的值。
内嵌公式(嵌入文中):
ピタゴラスの定理は $${a^2 + b^2 = c^2}$$ で表されます。
显示公式(显示在独立行上):
二次方程式の解の公式:
$$
x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}
$$
备注:公式是KaTeX遵守记法。了解更多信息公式功能文档来修改标记元素的显示属性。
9.插入目录
可以在文章中自动生成目录。
# 記事タイトル
[TOC]
## はじめに
導入文...
## 本論
メインコンテンツ...
### サブセクション
詳細...
## まとめ
結論...
[TOC]标题(H2・H3)中所述修改相应参数的值。
备注:了解更多信息目录功能文档来修改标记元素的显示属性。
10.文章预览
您可以预览草稿文章。
在浏览器中预览:
記事 n1234567890ab のプレビューを表示してください
浏览器将启动并显示预览页面。API中描述的场景,使用以下步骤创建明细表,以便在概念设计中分析体量的体积。
HTML获取为:
記事 n1234567890ab のプレビューHTMLを取得してください
单击功能区上HTML将条目添加到文档注册表。E2E可用于测试和内容验证。
备注:预览只能显示自己的文章。验证错误时会自动重试。
11.嵌入外部内容
URL在单独的行中记述的话,会作为外部报道嵌入。
# 参考記事
https://example.com/interesting-article
上記の記事では...
嵌入显示链接目标的标题、说明文和缩略图图像。
备注:了解更多信息嵌入功能文档来修改标记元素的显示属性。
MCP工具
| 工具 | 说明 |
|---|---|
note_login 在浏览器中note.com登录到 |
|
note_check_auth 确认认证状态 |
|
note_logout 注销(删除会话) |
|
note_set_username 设置用户名(恢复会话时需要) |
|
note_create_draft 创建草稿文章 |
|
note_get_article 取得报道内容(标题、正文、标签、状态等) |
|
note_update_article 更新文章(先note_get_article建议在中获取内容 |
|
note_publish_article 发布文章 |
|
note_list_articles 获取文章列表 |
|
note_delete_draft 删除草稿文章(2阶段确认) |
|
note_delete_all_drafts |一并删除所有草稿文章(2阶段确认)| |
|
note_upload_eyecatch 上传眼部捕捉(标题)图像 |
|
note_upload_body_image 上传文章正文用的嵌入图像 |
|
note_insert_body_image 在文章正文中直接插入图像 |
|
note_show_preview 在浏览器中显示文章预览(通过API高速) |
|
note_get_preview_html |文章预览的HTML获得 |
安全
保存凭据
会话信息(Cookie,用户ID等)表示OS的安全存储加密保存:
| OS | 保存先 |
|---|---|
| macOS | 钥匙扣 |
| Windows | 凭据管理器 |
| Linux | GNOME密钥环/libsecret |
保存的信息:
- 认证Cookie(
_note_session_v5等) - 用户ID・用户名
- 会话创建时间
安全特性
- OS暗号化:每个OS使用的本地加密功能
- 用户隔离:仅允许登录用户访问
- 自动管理:
note_login保存note_logout删除
Linux 中的其他设置
Linux那么,您需要:
# Ubuntu/Debian
sudo apt install gnome-keyring
# または
sudo apt install libsecret-1-0
需求
- Python 3.11+
- 桌面环境(Playwright运行的环境)
- note.com账户
码头工人
Docker来修改标记元素的显示属性Playwright可以构建环境。支持多种执行模式。
构建
docker build -t note-mcp .
运行模式
1. Headless(默认值)
CI/CD适用于环境和后台:
# docker-compose使用
docker compose run --rm test
# 直接実行
docker run --rm --ipc=host note-mcp uv run pytest -v
2.以Xvfb为首
Xvfb使用headed模式(在虚拟显示器上启动浏览器):
docker compose run --rm test-headed
# 直接実行
docker run --rm --ipc=host -e USE_XVFB=1 -e HEADED=1 note-mcp uv run pytest -v
备注:
HEADED=1要使用环境变量,请在测试代码中os.environ.get("HEADED")查看项目中可用的所有族headless中描述的相应参数的值。
3. VNC通过视觉确认
VNC客户端或Web在浏览器中实时确认浏览器操作:
# バックグラウンドで起動
docker compose up -d test-vnc
# 方法1: noVNC(Webブラウザ経由、クリップボード共有対応)
# ブラウザで http://localhost:6080/vnc.html にアクセス
# 方法2: VNCクライアント
vncviewer localhost:5900
# ログ確認(必要な場合)
docker compose logs -f test-vnc
# 終了時
docker compose down
小贴士: noVNC可以从左侧的剪贴板面板在主机和容器之间复制和粘贴文本。
4.X11转发(Linux/WSL2)
直接显示在主机显示器上:
# X11アクセスを許可(必要な場合)
xhost +local:docker
# 実行
docker compose run --rm test-x11
# または直接
docker run --rm --ipc=host \
-e DISPLAY=$DISPLAY \
-e HEADED=1 \
-v /tmp/.X11-unix:/tmp/.X11-unix \
note-mcp uv run pytest -v
开发用外壳
在容器中交互:
# VNCなしで実行(ポートマッピングなし)
docker compose run --rm dev bash
# VNC経由でブラウザを確認する場合(ポートマッピングあり)
docker compose run --rm --service-ports dev bash
备注:
docker compose run默认情况下,不执行端口映射。VNC(端口5900)或noVNC(端口6080)时--service-ports需要标记。
要在容器中打开浏览器,请执行以下操作:
# コンテナ内で実行
uv run python scripts/open_browser.py https://note.com --wait 120
要查看浏览器,请执行以下操作:
- noVNC(推奨): http://localhost:6080/vnc.html访问(支持剪贴板共享)
- VNC客户机:
vncviewer localhost:5900连接到
Claude Code + Chrome扩张机能
Docker开发环境Claude Code中所述修改相应参数的值。noVNC经过Claude in Chrome扩展功能可用。
首次安装
# 開発コンテナを起動
docker compose run --rm --service-ports dev bash
# コンテナ内でChromeを起動(--no-sandboxは必須)
google-chrome-stable --no-sandbox &
noVNC(http://localhost:6080/vnc.html)或VNC客户机(vncviewer localhost:5900)连接并按以下步骤安装扩展:
- Chrome网络商店にアクセス: https://chromewebstore.google.com/detail/claude/danfoghgkjjpomlapfijehgjhbhnphnf
- 「Chrome添加到
- 启用扩展
Chrome永久扩展
Chrome扩展和设置Docker卷(chrome-data),模板名称将采用不同的格式。重新创建容器时仍保留扩展。
# ボリュームの確認
docker volume ls | grep chrome-data
# ボリュームの削除(設定をリセットする場合)
docker volume rm note-mcp_chrome-data
Claude Code使用
# コンテナ内で
claude --version # バージョン確認
claude # Claude Code起動
环境变数
|变量|说明|默认|
|------|------|------------|
| USE_XVFB | Xvfb启动(1 或 true) | 0 |
| VNC_PORT | VNC服务器端口(TigerVNC)|(无效)|
| NOVNC_PORT | noVNC Web访问端口 6080 |
| DISPLAY | X11显示 :99 |
| XVFB_WHD | Xvfb解像度 | 1920x1080x24 |
| CHROME_FLAGS | Chrome启动选项 --no-sandbox (dev)|
备注:
VNC_PORT来定义自定义外观TigerVNC启动noVNC进行动态观察时的轴心点。剪贴板共享noVNC来定义自定义外观。
故障排除
Chromium崩溃时:
--ipc=host添加标记(已在docker-compose中设置)- 共享内存不足可能是原因
Chrome如果未在“已操作”下启动:
google-chrome-stable --no-sandbox &请在启动- Docker内部Chrome的砂箱功能受到限制
claude缺少命令:
- PATH确认是否正确设置:
echo $PATH /home/ubuntu/.local/bin的PATH包含在
X11连接错误:
xhost +local:docker执行- WSL2在…的情况下
/mnt/wslg/确认目录存在
VNC缺少支持的问题:
- 检查其他进程是否使用了端口5900(VNC)或6080(noVNC)
docker compose logs test-vnc查看日志- noVNC的双曲正切值http://localhost:6080/vnc.html访问
剪贴板共享不起作用:
- noVNC(http://localhost:6080/vnc.html),模板名称将采用不同的格式
- VNC不能通过客户端共享剪贴板
- noVNC在左侧面板中单击剪贴板图标
“服务器已对显示器99处于活动状态”エラー:
- 还有上次的集装箱
docker compose down之后由应用程序进行调用
发展
# Install dev dependencies
uv sync --group dev
# Run tests
uv run pytest
# Run E2E tests
uv run pytest tests/e2e/ -v
# Run linter
uv run ruff check .
# Run type checker
uv run mypy .
E2E测试详细信息测试指南来修改标记元素的显示属性。
许可证
MIT许可证
免责声明
这个项目note.com和无关的非正式工具。了解更多信息免责声明.md来修改标记元素的显示属性。