note.com用MCPサーバー(移行済)
개요
note.comのAPIを利用して、Claude Desktop、Claude Code、Cursor、n8nなどのMCPクライアントから記事の検索・投稿・分析ができるMCPサーバーです。 stdio(ローカル)とHTTP(リモート)の両方のトランスポートに対応しています。 起動時にPlaywrightが自動でheadlessログインを行い、セッションCookieを取得・更新します。手動でCookieを設定する必要はありません。 : .envファイルは.gitignoreに含まれているため、リポジトリにコミットされません。 リモートクライアントやn8nから接続するためのHTTPベースの接続方式です。MCP_HTTP_PORT環境変数または--httpフラグで有効化されます。 デフォルトのバインドアドレスは127.0.0.1です。MCP_HTTP_HOST環境変数で変更できます。 - search-notes - 記事検索(新着/人気/急上昇) - search-all - note全体検索 - analyze-notes - 記事詳細分析 - get-note - 記事詳細取得 - search-users - ユーザー検索 - get-user - ユーザー情報取得 - get-user-notes - ユーザーの記事一覧 - search-magazines - マガジン検索 - get-magazine - マガジン詳細 - get-category-notes - カテゴリー別記事一覧 - list-categories - カテゴリー一覧 - list-hashtags - ハッシュタグ一覧 - get-hashtag - ハッシュタグ詳細 - get-comments - コメント一覧 - get-likes - スキ一覧 - list-contests - コンテスト一覧 - post-draft-note - 下書き作成(Markdown自動変換) - get-my-notes - 自分の記事一覧(下書き含む) - open-note-editor - 記事の編集ページを開く
README
note.com MCP Server
note.comのAPIを利用して、Claude Desktop、Claude Code、Cursor、n8nなどのMCPクライアントから記事の検索・投稿・分析ができるMCPサーバーです。
stdio(ローカル)とHTTP(リモート)の両方のトランスポートに対応しています。
🚀 クイックスタート
1. インストール
git clone https://github.com/shimayuz/note-com-mcp.git
cd note-com-mcp
npm install
npx playwright install chromium # ブラウザ自動ログイン用
npm run build
2. 認証設定
cp .env.sample .env
.env を編集:
[email protected]
NOTE_PASSWORD=your-password
NOTE_USER_ID=your_note_user_id
起動時にPlaywrightが自動でheadlessログインを行い、セッションCookieを取得・更新します。手動でCookieを設定する必要はありません。
セキュリティ: .envファイルは.gitignoreに含まれているため、リポジトリにコミットされません。
3. 起動
stdioモード(Claude Desktop / Claude Code / Cursor):
npm run start
HTTPモード(n8n / リモート接続):
npm run start:http
# デフォルトポートは3000。変更する場合:
MCP_HTTP_PORT=3001 node build/note-mcp-server.js
🔌 トランスポート
stdioモード(デフォルト)
ローカルのMCPクライアントから直接起動される標準的な接続方式です。
node build/note-mcp-server.js
HTTPモード
リモートクライアントやn8nから接続するためのHTTPベースの接続方式です。MCP_HTTP_PORT環境変数または--httpフラグで有効化されます。
# 環境変数で指定
MCP_HTTP_PORT=3000 node build/note-mcp-server.js
# CLIフラグで指定(ポートはMCP_HTTP_PORTまたはデフォルト3000)
node build/note-mcp-server.js --http
| エンドポイント | メソッド | 説明 |
|---|---|---|
/mcp |
POST | MCP JSON-RPCリクエスト |
/mcp |
GET | SSEストリーム |
/mcp |
DELETE | セッション終了 |
/health |
GET | ヘルスチェック |
デフォルトのバインドアドレスは127.0.0.1です。MCP_HTTP_HOST環境変数で変更できます。
✨ 主な機能
| カテゴリ | 機能 | 認証 |
|---|---|---|
| 🔍 検索 | 記事検索、ユーザー検索、ハッシュタグ検索 | 不要 |
| 📊 分析 | 記事分析、エンゲージメント分析 | 不要 |
| ✍️ 投稿 | 下書き作成、画像付き投稿 | 必須 |
| 🖼️ 画像 | 画像アップロード、アイキャッチ設定 | 必須 |
| 💬 コメント | コメント投稿、スキ機能 | 必須 |
| 📈 統計 | PV数、アクセス解析 | 必須 |
📋 利用可能なツール
検索・分析(認証不要)
search-notes- 記事検索(新着/人気/急上昇)search-all- note全体検索analyze-notes- 記事詳細分析get-note- 記事詳細取得search-users- ユーザー検索get-user- ユーザー情報取得get-user-notes- ユーザーの記事一覧search-magazines- マガジン検索get-magazine- マガジン詳細get-category-notes- カテゴリー別記事一覧list-categories- カテゴリー一覧list-hashtags- ハッシュタグ一覧get-hashtag- ハッシュタグ詳細get-comments- コメント一覧get-likes- スキ一覧list-contests- コンテスト一覧
投稿・編集(認証必須)
post-draft-note- 下書き作成(Markdown自動変換)get-my-notes- 自分の記事一覧(下書き含む)open-note-editor- 記事の編集ページを開く
インタラクション(認証必須)
post-comment- コメント投稿like-note/unlike-note- スキ機能add-magazine-note/remove-magazine-note- マガジン管理get-stats- PV統計情報get-notice-counts- 通知件数get-search-history- 検索履歴
メンバーシップ(認証必須)
get-membership-summaries- 加入済みメンバーシップ一覧get-membership-plans- メンバーシッププラン一覧get-membership-notes- メンバーシップの記事一覧get-circle-info- サークル情報
🔧 設定方法
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"note-api": {
"command": "node",
"args": ["/path/to/note-com-mcp/build/note-mcp-server.js"],
"env": {
"NOTE_EMAIL": "[email protected]",
"NOTE_PASSWORD": "your_password",
"NOTE_USER_ID": "your_note_user_id"
}
}
}
}
Claude Code
~/.claude/settings.json の mcpServers に追加:
{
"mcpServers": {
"note-api": {
"command": "node",
"args": ["/path/to/note-com-mcp/build/note-mcp-server.js"],
"cwd": "/path/to/note-com-mcp",
"env": {
"NOTE_EMAIL": "[email protected]",
"NOTE_PASSWORD": "your_password",
"NOTE_USER_ID": "your_note_user_id"
}
}
}
}
Cursor
~/.cursor/mcp.json:
{
"mcpServers": {
"note-api": {
"command": "node",
"args": ["/path/to/note-com-mcp/build/note-mcp-server.js"],
"env": {
"NOTE_EMAIL": "[email protected]",
"NOTE_PASSWORD": "your_password",
"NOTE_USER_ID": "your_note_user_id"
}
}
}
}
Windsurf
~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"note-api": {
"command": "node",
"args": ["/path/to/note-com-mcp/build/note-mcp-server.js"],
"env": {
"NOTE_EMAIL": "[email protected]",
"NOTE_PASSWORD": "your_password",
"NOTE_USER_ID": "your_note_user_id"
}
}
}
}
/path/to/note-com-mcpは実際のプロジェクトの絶対パスに置き換えてください。
n8n(HTTP経由)
- HTTPサーバーを起動:
npm run start:http
- n8nで「MCP Client HTTP Streamable」ノードを設定:
HTTP Stream URL: http://127.0.0.1:3000/mcp
HTTP Connection Timeout: 60000
🌐 リモートアクセス(Cloudflare Tunnel)
VPSでn8nを使用する場合、Cloudflare Tunnelで安全に接続できます:
# 1. Cloudflare Tunnelを設定
cloudflared tunnel run note-mcp
# 2. n8nでHTTPS URLを設定
# HTTPS Stream URL: https://your-domain.com/mcp
🔐 認証フロー
起動時に以下の順序で認証情報を取得します:
NOTE_EMAIL/NOTE_PASSWORDが設定されている場合、Playwrightでheadlessログインを実行し、最新のセッションCookieを自動取得- Playwright失敗時は
.envの既存Cookie情報にフォールバック - どちらもない場合はPlaywrightがブラウザを開き、手動ログインを求める
セッションCookieは自動で.envに永続化されるため、次回起動時にも利用可能です。
📝 Markdown変換ルール
投稿時のMarkdownは自動的にnote.com用HTMLに変換されます。
| Markdown | note.com | HTML |
|---|---|---|
# H1 / ## H2 |
大見出し | `` |
### H3 |
小見出し | `` |
#### H4-H6 |
太字 | `` |
![[image.png]] |
画像 | `` |
- リスト |
箇条書き | `` |
💡 使い方の例
記事検索(認証不要)
noteで「プログラミング」に関する人気記事を検索して
画像付き投稿(認証必須)
タイトル「技術メモ」、本文「## 概要\n\n![[screenshot.png]]」で下書きを作成して
記事分析(認証不要)
ユーザー「username」の記事を分析して、人気の要因を教えて
⚠️ 注意点
- 投稿機能: 下書き作成のみ対応です。公開はnote.comから直接行ってください
- 画像: サポート形式はPNG、JPEG、GIFです(最大10MB)
- 検索結果: 最大20件まで取得できます
- 認証: セッションCookieは約1~2週間で期限切れになりますが、メール/パスワード設定済みなら自動更新されます
🛠️ 開発
# ビルド
npm run build
# 開発モード(ファイル監視)
npm run dev:watch
# HTTPサーバー開発
npm run dev:http
📄 ライセンス
MIT License
설치
npx playwright install chromium # ブラウザ自動ログイン用설정
{
"mcpServers": {
"note-api": {
"command": "node",
"args": ["/path/to/note-com-mcp/build/note-mcp-server.js"],
"env": {
"NOTE_EMAIL": "[email protected]",
"NOTE_PASSWORD": "your_password",
"NOTE_USER_ID": "your_note_user_id"
}
}
}
}