note.com MCP ServerBLOCK
note.com用MCPサーバー(移行済)
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
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
デフォルトのバインドアドレスは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
606ec8ec5927OBSERVED · 2026-10-08Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.
claude mcp add note-exporter --env NOTE_GQL_AUTH_TOKEN=${NOTE_GQL_AUTH_TOKEN} --env NOTE_PASSWORD=${NOTE_PASSWORD} --env NOTE_XSRF_TOKEN=${NOTE_XSRF_TOKEN} --env NOTION_TOKEN=${NOTION_TOKEN} -- npx -y [email protected]{
"mcpServers": {
"note-exporter": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"NOTE_GQL_AUTH_TOKEN": "${NOTE_GQL_AUTH_TOKEN}",
"NOTE_PASSWORD": "${NOTE_PASSWORD}",
"NOTE_XSRF_TOKEN": "${NOTE_XSRF_TOKEN}",
"NOTION_TOKEN": "${NOTION_TOKEN}"
}
}
}
}Exposed tools (47)
34 read · 12 write · 1 destructive. Blast radius: 1 tool can delete or overwrite — an agent that can be talked into calling a tool can be talked into calling this one.
| Tool | Risk | Description |
|---|---|---|
add-magazine-note | write | マガジンに記事を追加する |
analyze-notes | read | 記事の詳細分析を行う(競合分析やコンテンツ成果の比較等) |
convert-obsidian-markdown | read | Obsidian MarkdownをnoteのHTML形式に変換(画像はプレースホルダーに置換) |
edit-note | write | 既存の記事を編集する |
get-category-notes | read | カテゴリーに含まれる記事一覧を取得する |
get-circle-info | read | サークル情報を取得する |
get-comments | read | 記事へのコメント一覧を取得する |
get-hashtag | read | ハッシュタグの詳細を取得する |
get-likes | read | 記事のスキ一覧を取得する |
get-magazine | read | マガジンの詳細情報を取得する |
get-membership-notes | read | メンバーシップの記事一覧を取得する |
get-membership-plans | read | 自分のメンバーシッププラン一覧を取得する |
get-membership-summaries | read | 加入済みメンバーシップ一覧を取得する |
get-my-notes | read | 自分の記事一覧(下書きを含む)を取得する |
get-note | read | 記事の詳細情報を取得する |
get-notice-counts | read | 通知件数を取得する |
get-notion-page | read | Get detailed information about a Notion page |
get-search-history | read | 検索履歴を取得する |
get-stats | read | ダッシュボードのPV統計情報を取得する |
get-test-membership-notes | read | テスト用:メンバーシップの記事一覧をダミーデータで取得する |
get-test-membership-summaries | read | テスト用:加入済みメンバーシップ一覧をダミーデータで取得する |
get-user | read | ユーザーの詳細情報を取得する |
get-user-notes | read | ユーザーの記事一覧を取得する |
import-notion-to-note | write | Import a Notion page to note.com as a draft |
insert-images-to-note | write | noteエディタで本文に画像を挿入(Playwright使用) |
like-note | read | 記事にスキをする |
list-categories | read | カテゴリー一覧を取得する |
list-contests | read | コンテスト一覧を取得する |
list-hashtags | read | ハッシュタグ一覧を取得する |
list-notion-pages | read | List pages from a Notion database |
open-note-editor | read | 記事の編集ページを開く |
post-comment | write | 記事にコメントを投稿する |
post-draft-note | write | 下書き記事を作成・更新 |
post-draft-note-with-images | write | 画像付きの下書き記事を作成する(API経由で画像を本文に挿入) |
prepare-obsidian-draft | read | Obsidian記事をnote下書き用に準備(画像情報を含む) |
preview-notion-to-note | read | Preview how a Notion page will be converted to note.com format |
publish-from-obsidian | write | Obsidian記事をnoteに公開(エディタUI操作で書式を適用、画像を自動挿入) |
publish-from-obsidian-remote | write | Obsidian記事をnoteに公開(画像データをBase64で受信、リモートサーバー用) |
publish-note | write | 下書き状態の記事を公開する |
remove-magazine-note | destructive | マガジンから記事を削除する |
search-all | read | note全体検索(ユーザー、ハッシュタグ、記事など) |
search-magazines | read | マガジンを検索する |
search-notes | read | note.comの記事を検索 |
search-users | read | ユーザーを検索する |
unlike-note | read | 記事のスキを削除する |
upload-image | write | note.comに画像をアップロード(アイキャッチ画像用。本文画像は publish-from-obsidian を使用) |
upload-images-batch | write | note.comに複数の画像を一括アップロード |
Trust audit
BLOCKgrade F · trust 55/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | FAIL |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | WARN |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (4 observation(s))
- Network
- declared (11 observation(s))
- Shell
- none-observed
- Dependencies
- not all pinned
- Secrets in source
- none-found
Findings (24)
'.env' ... fetch(
echo " sudo cp /opt/note-mcp-server/config/nginx-note-mcp.conf /etc/nginx/sites-available/"
echo " sudo ln -s /etc/nginx/sites-available/nginx-note-mcp.conf /etc/nginx/sites-enabled/"
echo " sudo nginx -t && sudo systemctl reload nginx"
npx playwright install-deps || log_warning "依存ライブラリのインストールに失敗(sudo が必要な場合があります)"
launchctl load "$LAUNCH_AGENTS_DIR/com.note-mcp-server.plist"
launchctl load "$LAUNCH_AGENTS_DIR/com.cloudflared.note-mcp.plist"
if launchctl list | grep -q "com.note-mcp-server"; then
if launchctl list | grep -q "com.cloudflared.note-mcp"; then
launchctl start com.note-mcp-server
remove-magazine-note
.env.sample
dotenv.config({ path: path.resolve(__dirname, "../../.env") });path.resolve(__dirname, "../../.env"),
GET http://127.0.0.1:3000/health
GET http://127.0.0.1:3000/mcp
GET http://127.0.0.1:3000/sse
"url": "http://127.0.0.1:3000/mcp",
HTTP Stream URL: http://127.0.0.1:3000/mcp
@modelcontextprotocol/sdk, @notionhq/client, dotenv, node-fetch, playwright, zod, @types/node, prettier
chalk, commander, glob, @types/node, @types/glob, tsx, typescript
test-articles/images/test-image.png
system use found in code, not declared in the description
Gates applied: no_behavioural_pass, no_license.
606ec8ec5927full audit observations/trust-audit/mcp-server/shimayuz__note-com-1.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-08 | 606ec8ec5927 | BLOCK | F | 55 | first audit |
Questions
What is the Note.com MCP server?
note.com用MCPサーバー(移行済)
What tools does Note.com expose?
47 in total: 34 read-only, 12 that write, and 1 that can delete or overwrite (remove-magazine-note). Every one is listed on this page with its risk.
Is Note.com safe to connect to an agent?
No — not without reading the findings first. The audit graded it F (55/100) and found 5 critical or high issues in the source. Each one is listed on this page with the file and line it is on. Separately from the audit: 1 of its tools can destroy data, so scope the token you give it to what you actually need.
What credentials does Note.com need?
It reads NOTE_GQL_AUTH_TOKEN, NOTE_PASSWORD, NOTE_XSRF_TOKEN and NOTION_TOKEN from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How does Note.com run?
It speaks stdio and streamable-http, so it runs as a local process your client starts. It is published on npm as note-exporter at 1.0.0.
How current is this page?
The grade is for one exact copy of the source (606ec8ec5927), read on 2026-10-08. The repository is watched and re-audited when it changes.