Notion Markdown Sync
STDIOMCP server for syncing Markdown files with Notion pages using Notion API.
MCP server for syncing Markdown files with Notion pages using Notion API.
NotionMCP Lightは、Notion APIを使用してMarkdownファイルとNotionページを同期するModel Context Protocol (MCP)サーバーです。
このプロジェクトは、Notionの公式Model Context Protocol (MCP)サーバーが抱える非効率性(Markdownをブロック単位で読み書きし、LLMトークンを消費する点)を解決するために開発されました。トークンを使用せず、API経由で直接MarkdownファイルとNotionのページ/データベースを同期できる非公式のMCPサーバーを提供します。
Markdown → Notion
Notion → Markdown
MCPサーバー対応
# uvがインストールされていない場合は先にインストール # pip install uv # 依存関係のインストール uv sync
.env
ファイルを作成してトークンを設定します。# .envファイルの例 NOTION_TOKEN=your_notion_api_token
uv run python -m src.main
または、トークンを直接指定する場合:
uv run python -m src.main --token your_notion_api_token
python -m src.main
または、トークンを直接指定する場合:
python -m src.main --token your_notion_api_token
Cline/CursorなどのAIツールでNotionMCP Lightを使用するには、mcp_settings.json
ファイルに以下のような設定を追加します:
"notion-mcp-light": { "command": "uv", "args": [ "run", "--directory", "/path/to/notion-mcp-light", "python", "-m", "src.main" ], "env": { "NOTION_TOKEN": "your_notion_api_token" }, "disabled": false, "alwaysAllow": [] }
/path/to/notion-mcp-light
は、NotionMCP Lightのインストールディレクトリに置き換えてください。
NotionMCP Lightは以下のMCPツールを提供します:
Markdownファイルをアップロードし、Notionページとして作成します。
{ "jsonrpc": "2.0", "method": "uploadMarkdown", "params": { "filepath": "path/to/markdown.md", "database_id": "optional_database_id", "page_id": "optional_parent_page_id" }, "id": 1 }
NotionページをダウンロードしてMarkdownファイルとして保存します。
{ "jsonrpc": "2.0", "method": "downloadMarkdown", "params": { "page_id": "notion_page_id", "output_path": "path/to/output.md" }, "id": 2 }
このプロジェクトはMITライセンスの下で公開されています。詳細はLICENSEファイルを参照してください。