
Note
STDIOMCP server for note.com API integration enabling article viewing, posting and user management.
MCP server for note.com API integration enabling article viewing, posting and user management.
このMCPサーバーは、note.comのAPIを利用して記事の閲覧や投稿、ユーザー情報の取得などをClaude Desktopから実行できるようにするものです。
2900行のモノリシックファイルを16のモジュールに分割し、保守性と性能を大幅に改善しました。
このMCPサーバーでは以下の機能が利用できます。
このサーバーでは、ほとんどの読み取り機能(記事検索、ユーザー情報など)は認証なしで利用できます。一方、以下の機能を使用するにはnote.comの認証情報が必要です:
認証情報は、プロジェクトルートに作成する .env
ファイルに設定します。.env.example
ファイルをテンプレートとして使用し、ご自身の情報を入力してください。この .env
ファイルは .gitignore
によりリポジトリには含まれないため、安全に認証情報を管理できます。
このリポジトリをクローンします:
git clone https://github.com/shimayuz/note-mcp-server.git <お好きなディレクトリ名> cd <お好きなディレクトリ名>
依存パッケージをインストールします:
npm install
環境設定ファイルを作成します:
プロジェクトルートにある .env.example
ファイルをコピーして .env
という名前のファイルを作成します。
cp .env.example .env
作成した .env
ファイルを開き、あなたのnote.comの認証情報を設定してください。
詳細は「認証情報の設定方法」セクションおよび .env.example
ファイル内のコメントを参照してください。
重要: .env
ファイルは .gitignore
によってGitの追跡対象から除外されています。そのため、あなたの個人的な認証情報が誤ってリポジトリにコミットされることはありません。ローカル環境で安全に管理してください。
サーバーをビルドして起動します:
npm run build && npm run start
このコマンドでTypeScriptコードをビルドし、サーバーを起動します。
このMCPサーバーは、モジュラー設計により高い保守性を実現しています:
src/
├── config/ # 環境設定とAPI設定
├── types/ # TypeScript型定義
├── utils/ # 共通ユーティリティ
├── tools/ # 機能別MCPツール
├── prompts/ # プロンプトテンプレート
└── note-mcp-server-refactored.ts # メインサーバー
npm run start
: 本番用サーバー起動npm run start:refactored
: リファクタリング版サーバー起動npm run dev:refactored
: 開発用(ビルド+起動)npm run dev:watch
: ファイル監視モードnpm run dev:ts
: TypeScript直接実行(開発用)投稿やスキ、メンバーシップ情報取得などの機能を使うには、プロジェクトルートの .env
ファイルに認証情報を設定します。.env.example
を参考に、以下のいずれかの方法で設定してください。
.env
ファイルにあなたのnote.comアカウントのメールアドレスとパスワード、およびユーザーIDを設定します:
[email protected] NOTE_PASSWORD=your_password NOTE_USER_ID=your_note_user_id
この方法のメリットは、Cookieのように期限切れの心配が少ないことです。サーバー起動時に自動的に認証されます。
ブラウザの開発者ツールなどを使用して、note.comにログインした際のCookie情報を取得し、.env
ファイルに設定します。
NOTE_SESSION_V5=your_session_v5_cookie_value NOTE_XSRF_TOKEN=your_xsrf_token_cookie_value NOTE_USER_ID=your_note_user_id
注意: Cookie認証は有効期限があるため、定期的な更新が必要になる場合があります。
Claude Desktopをインストールして起動
Claude Desktopの設定ファイルを開く:
~/Library/Application Support/Claude/claude_desktop_config.json
%APPDATA%\Claude\claude_desktop_config.json
設定ファイルに以下の内容を追加します:
{ "mcpServers": { "note-api": { "command": "node", "args": [ "/path/to/noteMCP/build/note-mcp-server-refactored.js" ], "env": { "NOTE_EMAIL": "note.comのメールアドレス", "NOTE_PASSWORD": "note.comのパスワード", "NOTE_USER_ID": "あなたのuser ID" } } } }
Cookie認証を利用する場合は以下のように設定します:
{ "mcpServers": { "note-api": { "command": "node", "args": [ "/path/to/noteMCP/build/note-mcp-server-refactored.js" ], "env": { "NOTE_SESSION_V5": "あなたのセッションv5トークン", "NOTE_XSRF_TOKEN": "あなたのxsrfトークン", "NOTE_USER_ID": "あなたのuser ID" } } } }
注意: /path/to/noteMCP
は、あなたがこのプロジェクトをクローンした実際の絶対パスに置き換えてください。
この方法では、先に作成した.env
ファイルを使用します。設定ファイルにはプロジェクトの場所のみを指定します。
{ "mcpServers": { "noteMCP": { "command": "npm", "args": ["run", "start"], "cwd": "/path/to/your/note-mcp-server", // あなたがクローンしたプロジェクトのルートパス "mcp_version": "0.0.1" } } }
注意:
.env
ファイルから環境変数を自動的に読み込みます。Claude Desktopを再起動
Cursorをインストールして起動
CursorのMCP設定ファイルを開く
~/.cursor/mcp.json
%APPDATA%\.cursor\mcp.json
もしくはCursor settingsを開き、MCP設定画面を開いてから、Add new global MCP serverを押します。設定ファイルに以下の内容を追加します
{ "mcpServers": { "note-api": { "command": "node", "args": [ "/path/to/noteMCP/build/note-mcp-server-refactored.js" ], "env": { "NOTE_EMAIL": "note.comのメールアドレス", "NOTE_PASSWORD": "note.comのパスワード", "NOTE_USER_ID": "あなたのuser ID" } } } }
注意: /path/to/noteMCP
は、あなたがこのプロジェクトをクローンした実際の絶対パスに置き換えてください。
Cursorを再起動
Windsurfをインストールして起動
WindsurfのMCP設定ファイルを開く
~/.codeium/windsurf/mcp_config.json
%APPDATA%\.codeium\windsurf\mcp_config.json
もしくはWindsurf settingsを開き、Manage Pluginsを開いてから、View Raw Configを押します。設定ファイルに以下の内容を追加します
{ "mcpServers": { "note-api": { "command": "node", "args": [ "/path/to/noteMCP/build/note-mcp-server-refactored.js" ], "env": { "NOTE_EMAIL": "note.comのメールアドレス", "NOTE_PASSWORD": "note.comのパスワード", "NOTE_USER_ID": "あなたのuser ID" } } } }
注意: /path/to/noteMCP
は、あなたがこのプロジェクトをクローンした実際の絶対パスに置き換えてください。
Windsurfを再起動
以下のようなクエリをClaude Desktopで試すことができます。
このMCPサーバーでは以下のツールが利用できます。
sort
パラメータで指定可能)このMCPサーバーには以下の制限事項があります。
下書き保存機能(post-draft-note): まだ未実装です。
検索結果の上限: 単一の検索リクエストで取得できる結果は最大20件程度です。より多くの結果を取得する場合は、start
パラメータを使用してページネーションを行ってください。
認証情報の更新: Cookieベースの認証を使用している場合、Cookieの有効期限(1~2週間程度)が切れると認証が必要な機能が使えなくなります。定期的にCookie値を更新するか、ログイン認証を利用してください。
analyze-notes ツール: 記事の詳細分析機能は、note.com APIが提供するデータに基づいています。一部の分析指標(例:実際の閲覧数など)は、APIから提供されない場合は利用できません。
ソートパラメータ: sort
パラメータでは、new
(新着順)、popular
(人気順)、hot
(急上昇)の3種類のソートが利用できますが、note.comのAPI変更により、一部のソートオプションが機能しない場合があります。
get-my-notes: 下書き記事の取得については、note.comのAPI実装によっては一部の情報が取得できない場合があります。
// 基本的な使用例
analyze-notes(query: "ChatGPT")
// 詳細なオプション指定
analyze-notes(
query: "AIツール",
size: 30,
sort: "popular",
includeUserDetails: true,
analyzeContent: true,
priceRange: "paid"
)
// カテゴリと日付範囲の指定
analyze-notes(
query: "プログラミング",
category: "technology",
dateRange: "3m", // 3ヶ月以内
sort: "new"
)
// 新着順で記事を検索
search-notes(query: "AI", sort: "new")
// 人気順で全体検索
search-all(query: "プログラミング", context: "user,hashtag,note", sort: "popular")
// 急上昇(デフォルト)で検索
search-notes(query: "ChatGPT")
.env
ファイルが正しく作成され、設定されているか確認してください。.env.example
をコピーして .env
を作成し、必要な認証情報が入力されているか確認します。node -v
コマンドで確認)。npm install
を実行)。npm run build
でTypeScriptが正しくビルドできているか確認してください(npm run start
で本番用サーバーを起動する場合)。.env
ファイルに設定した認証情報(メールアドレス/パスワード、またはCookie値、ユーザーID)が正しいか、最新か確認してください。.env
ファイルに以下の行を追記してください:
DEBUG=true
.env
ファイルが存在しない場合は、上記のインストール手順に従い .env.example
から作成してください。リファクタリング版では以下の開発スクリプトが利用できます:
# TypeScriptファイルを直接実行(ビルド不要、最速) npm run dev # ファイル変更を監視して自動的に再ビルド・再起動(開発時に便利) npm run dev:watch # 本番用にビルドして起動 npm run start
各モジュールは独立しているため、個別にテスト・デバッグできます(パスは適宜調整してください):
# 特定のモジュールをNode.jsで直接実行(ビルド後) node build/utils/api-client.js node build/tools/search-tools.js
MIT