Metadata-Version: 2.4
Name: iflow-mcp_notion-mcp-light
Version: 0.1.0
Summary: Notion MCP Light - Notion APIを使用してMarkdownファイルとNotionページを同期するMCPサーバー
Author: NotionMCP Light Team
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Operating System :: OS Independent
Classifier: License :: OSI Approved :: MIT License
Classifier: Topic :: Text Processing :: Markup :: Markdown
Classifier: Topic :: Office/Business :: Office Suites
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: notion-client
Requires-Dist: mcp[cli]
Requires-Dist: markdown
Requires-Dist: mistune
Requires-Dist: python-dotenv
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Dynamic: license-file

# NotionMCP Light

NotionMCP Lightは、Notion APIを使用してMarkdownファイルとNotionページを同期するModel Context Protocol (MCP)サーバーです。

## 概要

このプロジェクトは、Notionの公式Model Context Protocol (MCP)サーバーが抱える非効率性（Markdownをブロック単位で読み書きし、LLMトークンを消費する点）を解決するために開発されました。トークンを使用せず、API経由で直接MarkdownファイルとNotionのページ／データベースを同期できる非公式のMCPサーバーを提供します。

## 機能

- **Markdown → Notion**
  - H1をページタイトルとして認識
  - Markdownの内容をNotionページまたはデータベースのページとして作成
  - データベースIDを指定可能
  - Notion APIを直接使用（トークン未使用）

- **Notion → Markdown**
  - 指定されたページまたはデータベースのページをMarkdown形式に変換
  - タイトルをH1として出力
  - ブロック構造をMarkdownに変換
  - ファイルに保存

- **MCPサーバー対応**
  - Model Context Protocol（MCP）に準拠
  - CursorやClineなどのAIツールから呼び出し可能なエンドポイントを提供
  - JSON-RPC over stdioベースで動作

## インストール

### 依存関係のインストール

```bash
# uvがインストールされていない場合は先にインストール
# pip install uv

# 依存関係のインストール
uv sync
```

### Notion API Tokenの設定

1. [Notion Developers](https://developers.notion.com/)でアカウントを作成し、APIトークンを取得します。
2. 環境変数に設定するか、`.env`ファイルを作成してトークンを設定します。

```bash
# .envファイルの例
NOTION_TOKEN=your_notion_api_token
```

## 使い方

### MCPサーバーの起動

#### uvを使用する場合（推奨）

```bash
uv run python -m src.main
```

または、トークンを直接指定する場合：

```bash
uv run python -m src.main --token your_notion_api_token
```

#### 通常のPythonを使用する場合

```bash
python -m src.main
```

または、トークンを直接指定する場合：

```bash
python -m src.main --token your_notion_api_token
```

### Cline/Cursorでの設定

Cline/Cursor/Claude CodeなどのAIコーディングツールでNotionMCP Lightを使用するには、各ツールのMCPサーバ設定を行うJSONファイルに以下のような設定を追加します：

```json
{
  "mcpServers": {
    "notion-mcp-light": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "/path/to/notion-mcp-light",
        "-m",
        "src.main"
      ],
      "env": {
        "NOTION_TOKEN": "your_notion_api_token"
      }
    }
  }
}
```

`/path/to/notion-mcp-light`は、NotionMCP Lightのインストールディレクトリ、`your_notion_api_token`は、NotionのAPIトークンに置き換えてください。

## MCPツールの使用方法

NotionMCP Lightは以下のMCPツールを提供します：

### uploadMarkdown

Markdownファイルをアップロードし、Notionページとして作成します。

```json
{
  "jsonrpc": "2.0",
  "method": "uploadMarkdown",
  "params": {
    "filepath": "path/to/markdown.md",
    "database_id": "optional_database_id",
    "page_id": "optional_parent_page_id"
  },
  "id": 1
}
```

### downloadMarkdown

NotionページをダウンロードしてMarkdownファイルとして保存します。

```json
{
  "jsonrpc": "2.0",
  "method": "downloadMarkdown",
  "params": {
    "page_id": "notion_page_id",
    "output_path": "path/to/output.md"
  },
  "id": 2
}
```

## ライセンス

このプロジェクトはMITライセンスの下で公開されています。詳細は[LICENSE](LICENSE)ファイルを参照してください。
