mcpField
S
Simple Notion MCP Server

Simple Notion MCP Server

ローカル
github.com/larryhudsonメモリ・ナレッジ179 週間前に更新

Simple Notion MCP Server について

Simple Notion MCP Serverは、AIアシスタントからNotionページを取得するMCPサーバーです。ページを大きなJSONではなく、リッチテキストの書式を保ったMarkdownとして返します。

主な機能

  1. 01NotionページのMarkdown変換
  2. 02太字、斜体、取り消し線、コードの保持
  3. 03入れ子になったページブロックの再帰取得
  4. 04ページIDによるページ取得

活用シーン

  1. 01AIアシスタント経由でのNotionページ閲覧
  2. 02Markdown形式でのページ内容の処理

MCP 対応

MCPクライアントに`get_page`ツールを公開し、Notionページを取得してMarkdownで返します。利用にはNotionインテグレーションのトークンが必要で、対象ページをそのインテグレーションと共有します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"simple-notion": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/inspector"
]
}
}
}
起動コマンドnpx -y @modelcontextprotocol/inspector

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@modelcontextprotocol/inspector

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

シンプルな Notion MCP サーバー

概要

このプロジェクトは、AI アシスタントと Notion API の橋渡しをする Model Context Protocol(MCP)サーバーを実装します。大きな JSON の塊を返す公式の Notion MCP サーバーとは異なり、このサーバーは Notion ページを Markdown としてレンダリングするため、LLM が効率よく処理して理解できます。

機能

  • Markdown レンダリング:Notion ページを読みやすく整った Markdown 形式に変換します
  • リッチテキスト対応:太字、斜体、取り消し線、コード要素の書式を保持します

セットアップ

  1. Notion インテグレーションを作成し、https://www.notion.so/my-integrations から API トークンを取得します
  2. トークンを環境変数として設定します:
export NOTION_TOKEN=your-notion-api-token

または、プロジェクト内に .env ファイルを作成して、次のように設定できます:

NOTION_TOKEN=your-notion-api-token
  1. アクセスする Notion ページをインテグレーションと共有してください

使用方法

VS Code での使用

設定 JSON ファイルに次の内容を追加します:

{
  "mcp": {
    "inputs": [
      {
        "type": "promptString",
        "id": "notion_token",
        "description": "Notion API Token",
        "password": true
      }
    ],
    "servers": {
      "notion": {
        "command": "npx",
        "args": [
          "-y",
          "@larryhudson/simple-notion-mcp-server"
        ],
        "env": {
          "NOTION_TOKEN": "${input:notion_token}"
        }
      }
    }
  }
}
Claude またはその他の MCP 互換アプリケーションでの使用

MCP 設定 JSON ファイルに次の内容を追加します:

{
  "mcpServers": {
    "notion": {
      "command": "npx",
      "args": ["-y", "@larryhudson/simple-notion-mcp-server"],
      "env": {
        "NOTION_TOKEN": "<YOUR_NOTION_API_TOKEN>"
      }
    }
  }
}

利用可能なツール

get_page

Notion ページを ID で取得し、Markdown としてレンダリングします。

パラメーター:

  • page_id:取得する Notion ページの ID

例:

{
  "page_id": "83c75a5b7a324be29d454536f2345678"
}

仕組み

サーバーは次の手順で Notion ページを処理します:

  1. Notion API を使用してページのメタデータを取得します
  2. ページ内のすべてのブロックを取得します(子ブロックも再帰的に取得します)
  3. 構造と書式を保ちながら、ブロックを Markdown に整形します
  4. ページを整った Markdown 形式で返します

技術的な詳細

使用している技術:

  • Model Context Protocol(MCP):AI アシスタントが外部ツールと連携できるようにするフレームワーク
  • Notion API Client:Notion との通信に使用する公式クライアント
  • TypeScript:型安全性と開発者体験の向上に使用します

開発

Model Context Protocol インスペクターを使って、サーバーを試すことができます:

npx @modelcontextprotocol/inspector npx tsx src/index.ts

制限事項と今後の改善

  • 現在はページの取得のみをサポートしています(更新や作成には対応していません)
  • 今後のアップデートで画像の処理を改善できる可能性があります(例:画像を base64 画像ブロックとしてレンダリングする)

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。