note-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@note-mcp「AI時代の読書術」というタイトルで下書き記事を作成して"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
note-mcp
自分の note.com アカウントに下書き記事を作成・更新するための MCP サーバーです。Claude Code や Claude Desktop などの MCPクライアントから、「noteに下書きを作って」といった依頼で記事を投稿できます。
note.com は記事投稿の公式APIを公開していません。本プロジェクトは、ブラウザの開発者ツールで 観測できる内部API(非公式)をセッションCookie経由で呼び出す実装です。 (参考: note.comの非公式API調査記事)
2つの実行方法
方法 | 使えるタイミング | セットアップ |
① ローカル / Docker(stdio) | 自分のPCが起動している間だけ | セットアップ(簡単) |
② Cloudflare Workers(リモート) | PCの電源に関係なく常時 | 常時稼働させたい場合(要Cloudflareアカウント。 |
/schedule のようなクラウド上のスケジュール実行から呼び出したい場合、①のstdio版は
「Claude Codeがその場でローカルにサブプロセスを起動する」方式のため使えません
(PCが起動していても、クラウド側のエージェントからはローカルのDockerに到達できません)。
その場合は②のCloudflare Workers版で常時稼働のURLを用意してください。
Related MCP server: notepm-mcp-server
⚠️ 免責事項
非公式のAPIを利用しています。 note.com の仕様変更により、予告なく動作しなくなる 可能性があります。
note.com の利用規約に抵触しないか、利用者ご自身の責任で判断してください。
本ソフトウェアは無保証で提供されます(LICENSE 参照)。作者は本ソフトウェアの 利用によって生じたいかなる損害についても責任を負いません。
公開・タグ付け機能(
note_publish_draft/ タグ引数)は未確認のAPIに基づく実験的機能です。 下書きの作成・更新のみが動作確認済みです。詳しくは 既知の制限 を参照してください。
🔒 セキュリティについて
このリポジトリ・配布Dockerイメージ・Cloudflare Workersのコードには、個人の認証情報
(note.comのセッションCookie等)は一切含まれていません。 利用者ご自身のセッションCookieを、
①は実行時の環境変数、②はCloudflare Secretsとして渡す必要があります
(.env / .dev.vars はテンプレート(.env.example / .dev.vars.example)のみを
コミット対象とし、実際の値を入れたファイルは .gitignore で除外されます)。
②は/mcpエンドポイント自体もOAuth(Dynamic Client Registration対応)で保護されており、
ブラウザでのログイン(MCP_ACCESS_TOKENをパスワードとして入力)を経ないと接続できません。
必要なもの
Docker(推奨。環境を問わず動かせます)
または Node.js 22以上(Dockerを使わずローカル実行する場合。wranglerがNode 22以上を要求するため)
note.com のアカウント(ログイン済みのブラウザ)
セットアップ(① ローカル / Docker)
1. Cookieの取得方法
ブラウザで note.com にログインする。
開発者ツールを開く(Chromeの場合:
F12または右クリック→「検証」)。「Application」タブ(Firefoxは「Storage」タブ)→ 左側の「Cookies」→
https://note.comを選択。一覧から
_note_session_v5という名前の行を探し、「Value」列の値をコピーする。
この値は note.com へのログインセッションそのものです。第三者と共有しないでください。 有効期限が切れたら(下書き作成が失敗し始めたら)、同じ手順で取得し直してください。
2. .env の作成
git clone <このリポジトリのURL>
cd note-mcp
cp .env.example .env.env を開き、手順1で取得した値を入れる:
NOTE_SESSION_COOKIE=(コピーした値)3. Dockerイメージのビルド
docker build -t note-mcp .4. Claude Codeへの登録(ユーザースコープ)
claude mcp add note-mcp --scope user -- \
docker run -i --rm --env-file /絶対パス/note-mcp/.env note-mcp--scope user で登録すると、どのプロジェクトを開いているときでも
note_create_draft などのツールが使えるようになります。
登録できているかは claude mcp list で確認できます。
使えるツール
ツール名 | 内容 | 状態 |
| タイトル・本文(・タグ)を指定して新規下書きを作成 | ✅ 動作確認済み(下書き作成・保存) |
| 既存の下書き(IDで指定)のタイトル・本文(・タグ)を更新 | ✅ 動作確認済み(下書き保存部分) |
| 下書きの現在の内容を取得(デバッグ用) | 🧪 実験的(未確認) |
| 下書きを公開する。 | 🧪 実験的(未確認・不可逆操作) |
各ツールの | タグ付けを試みる | 🧪 実験的(未確認。失敗しても記事本体は保存される) |
本文はプレーンテキストを渡すと1行1段落として保存されます。簡易的に
**太字** と [表示文字](URL) にも対応していますが、note.com の本文HTML仕様は
非公開のため、複雑なMarkdown装飾までは保証しません。
常時稼働させたい場合(Cloudflare Workers)
PCを起動していなくても(/schedule のクラウドスケジュール実行や、スマホ・ブラウザの
claude.aiからも)使えるようにしたい場合は、①のstdio版とは別に、Cloudflare Workers上に
常時稼働のMCPサーバーをデプロイできます。ツールの中身(src/register-tools.ts)は
共通で、通信方式だけがstdioからHTTP(Streamable HTTP)に変わり、認証はOAuth 2.1
(Dynamic Client Registration対応。@cloudflare/workers-oauth-provider使用)に
なります。claude.aiのカスタムコネクタはOAuthを前提にしているため、この方式にすることで
Claude Code・claude.ai(Web/Desktop/モバイル)のどちらからも同じ手順で接続できます。
必要なもの: Cloudflareアカウント(無料枠で可)
1. Cloudflareにログイン
npm install
npx wrangler login2. KVネームスペースを作成
OAuthの認可コード・トークン・DCRで登録されたクライアント情報を保存するために使う
(@cloudflare/workers-oauth-providerが内部で使用)。このリポジトリをforkした場合は
自分のアカウントで作り直す必要がある。
npx wrangler kv namespace create OAUTH_KV表示されたidをwrangler.jsoncのkv_namespacesに反映する(フォーク元のIDのままだと
他人のネームスペースを指してしまい失敗する)。
3. シークレットを設定
note.comのセッションCookie(取得方法は①と同じ)に加えて、
ログイン用のパスワードも作る。これは、Claude Code・claude.aiがOAuthで接続する際に
ブラウザのログイン画面(/authorize)で入力する「このMCPサーバーの持ち主本人であることの
証明」用の合言葉(note.com自体のパスワードやCookieとは別物)。
# ランダムな値を生成(例)
openssl rand -hex 32
npx wrangler secret put NOTE_SESSION_COOKIE
npx wrangler secret put MCP_ACCESS_TOKEN # 上で生成した値を貼り付ける。ログインパスワードとして使うどちらもCloudflare側に暗号化して保存され、リポジトリやDockerイメージには一切残らない。
4. デプロイ
方法A(推奨): GitHub Actions経由で自動デプロイ
mainブランチにsrc/等の変更がpushされるたびに、GitHub Actions
(.github/workflows/deploy.yml)が自動で
wrangler deployを実行する構成になっています。
このリポジトリをご自身のGitHubアカウントにpush(fork/新規リポジトリ作成)する。
Cloudflareダッシュボード → 右上のアイコン →「My Profile」→「API Tokens」→ 「Create Token」→ テンプレート「Edit Cloudflare Workers」でAPIトークンを発行する。
Cloudflareダッシュボードのトップページ右側に表示されている「Account ID」を控える。
GitHubリポジトリの Settings → Secrets and variables → Actions → 「New repository secret」で以下を登録する:
CLOUDFLARE_API_TOKEN(手順2の値)CLOUDFLARE_ACCOUNT_ID(手順3の値)
mainブランチにpushする(初回は空コミットでもよい)と、Actionsタブでデプロイが 実行される。
以降はmainにマージするだけで自動的に最新版がデプロイされます。
.github/workflows/ci.yml はPull Requestの時点で
ビルド・テスト・型チェックのみ行い(Cloudflareの認証情報は使わないため、フォークからの
PRでも安全に実行できる)、実際のデプロイはmainへのマージ後に限定しています。
より厳格に運用したい場合は、GitHubリポジトリの Settings → Environments で
production という名前のEnvironmentを作り、Required reviewers(承認者)を
設定すると、デプロイ実行前に人の承認を挟めます。
方法B: ローカルから手動デプロイ
npm run deploy:workerどちらの方法でも、成功すると https://note-mcp.<あなたのサブドメイン>.workers.dev
が発行される(同一Workerなので、方法Aと方法Bを併用しても問題ない)。
5. 接続する
OAuth対応にしたことで、Claude Code・claude.ai(Web/Desktop/モバイル)のどちらからも
同じMCPサーバーに接続できる。初回はブラウザでログイン画面が開き、手順3で設定した
MCP_ACCESS_TOKENをパスワードとして入力する(以後はトークンが自動更新されるため、
毎回入力する必要はない)。
Claude Codeの場合:
claude mcp add note-mcp-remote --scope user --transport http \
https://note-mcp.<あなたのサブドメイン>.workers.dev/mcp-Hでのヘッダー指定は不要(OAuthに統一したため)。ローカル/Docker版(①)と名前が
被らないよう note-mcp-remote 等の別名にすると、両方を併用する場合にも混乱しない。
接続時にブラウザが開かない場合は claude mcp login note-mcp-remote を実行する。
claude.aiの場合:
Customize → Connectors → 「Add custom connector」
MCPサーバーのURL(
https://note-mcp.<あなたのサブドメイン>.workers.dev/mcp)を入力保存すると自動的にOAuthのログイン画面へリダイレクトされるので、
MCP_ACCESS_TOKENを パスワードとして入力して「許可する」
Advanced settings(OAuth Client ID/Secret)の入力は不要(Dynamic Client Registrationで claude.ai側が自動的にクライアント登録するため)。
ローカルでWorkerの動作確認をする場合
cp .dev.vars.example .dev.vars # NOTE_SESSION_COOKIE / MCP_ACCESS_TOKEN を設定(コミット対象外)
npm run dev:worker # wrangler dev。Cloudflareへのデプロイはせずローカルで起動既知の制限
非公式API: note.com が公式に提供しているAPIではなく、ブラウザの通信を観察して 発見したエンドポイントを利用しています。仕様変更でいつ動作しなくなってもおかしくありません。
公開機能は未確認: 記事を実際に公開するAPIエンドポイントは特定できていません。
note_publish_draftは候補となるエンドポイントを複数試しますが、失敗する可能性が高いです。 失敗した場合は、実際にブラウザで「公開に進む」ボタンを押した際の通信をDevToolsの Networkタブで確認し、src/note-client.tsのpublishDraft内の候補エンドポイントを 実際のリクエストに合わせて書き換えてください。タグ付けも未確認: 同様に、実際の通信を確認しながら
updateHashtagsを調整してください。セッションCookieの有効期限: 切れた場合は取得し直して、①は
.env、②はnpx wrangler secret put NOTE_SESSION_COOKIEで再設定してください。OAuthは単一ユーザー専用の簡易実装:
/authorizeのログイン画面はユーザーごとの アカウント管理をせず、MCP_ACCESS_TOKENと一致するパスワードなら誰でもログインできる 設計です(このMCPサーバーの持ち主1人だけが使う前提のため)。複数人での利用や、 より厳密なアクセス制御が必要な場合はCloudflare Access等の追加を検討してください。
ローカル開発(Dockerを使わない場合)
npm install
cp .env.example .env # NOTE_SESSION_COOKIE を設定
npm run build
npm start本文変換ロジック(src/text-to-html.ts)の単体テスト(外部通信なし):
npm run test:text-to-htmlライセンス
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Markdown-based note-taking with a hosted MCP server. Your notes serve you and your AI.
MCP server for AI dialogue using various LLM models via AceDataCloud
MCP Server for Slima - AI Writing IDE for Novel Authors with AI Beta Reader.
An MCP server that used to create notes
Related MCP Servers
- AlicenseAqualityDmaintenanceA simple note-taking MCP server for recording and managing notes with AI models.42236GPL 2.0
- AlicenseAqualityAmaintenanceAn unofficial MCP server that enables AI assistants to search, read, create, and update pages in your NotePM workspace.8281MIT
- AlicenseAqualityDmaintenanceMCP server for Alog, an AI × Human blog platform. Enables AI agents to post logs, create and publish articles, search content, and interact socially on alog.world.19201MIT
- AlicenseBqualityAmaintenanceUnofficial MCP server for note.com using cookie-based authentication to manage notes and drafts via internal APIs.1912MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/TaisukeAndo/note-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server