mcpField
O
OneNote MCP Server

OneNote MCP Server

ローカル
github.com/danosb生産性13381 週間前に更新

OneNote MCP Server について

OneNote MCP Server は、Claude などの LLM が Microsoft OneNote のノートブック、セクション、ページにアクセスできるようにする MCP サーバーです。azure-onenote-mcp-server を基に、認証の手順を簡略化しています。

主な機能

  1. 01Azure 設定を要しないデバイスコード認証
  2. 02ノートブック、セクション、ページの一覧表示
  3. 03HTML 書式を含むページ内容の読み取り
  4. 04HTML コンテンツを含む新規ページの作成
  5. 05ノートの検索とページ内容の要約

活用シーン

  1. 01AI アシスタントによる OneNote ノートブック構成の閲覧
  2. 02会議メモや作業ログを新規ページとして作成
  3. 03「プロジェクト計画」などのトピックに関連するノートの検索

MCP 対応

本プロジェクトは MCP サーバーであり、authenticate、listNotebooks、getPage、createPage、searchPages などのツールを MCP クライアントに公開します。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

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

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

詳細

OneNote MCP サーバー

Claude などの AI 言語モデルやその他の LLM が Microsoft OneNote とやり取りできるようにする、Model Context Protocol(MCP)サーバーの実装です。

このプロジェクトは、Zubeid Hendricks による azure-onenote-mcp-server をベースに、認証を簡素化し、使いやすさを向上させる変更を加えています。

これは何をするものですか?

このサーバーを使うと、AI アシスタントは次のことができます。

  • OneNote のノートブック、セクション、ページにアクセスする
  • ノートブックに新しいページを作成する
  • ノートを検索する
  • HTML 形式とテキストを含む、ノートの全内容を読み取る
  • ノートを直接分析して要約する

これらはすべて、コンテキストを切り替えることなく、AI インターフェースを通じて直接行えます。

AI アシスタントでの使用方法

Cursor のセットアップ
  1. このリポジトリをクローンし、以下のインストール手順に従います

  2. MCP サーバーを起動します:npm start

  3. Cursor にサーバーを登録します。

    • Cursor の環境設定を開きます(Mac では Cmd+,、Windows では Ctrl+,)
    • 「MCP」タブに移動します
    • 次の設定で新しい MCP サーバーを追加します。
      • 名前:onenote
      • コマンド:node
      • 引数:["/path/to/your/onenote-mcp.mjs"](絶対パスを使用)

    設定全体の JSON の例を以下に示します。

    {
      "mcpServers": {
        "onenote": {
          "command": "node",
          "args": ["/absolute/path/to/your/onenote-mcp.mjs"],
          "env": {}
        }
      }
    }
    
  4. Cursor を再起動します

  5. Cursor で自然言語を使って OneNote のデータを操作できるようになります。

Can you show me my OneNote notebooks?
Create a new page in my first notebook with a summary of this conversation
Find notes related to "project planning" in my OneNote

OneNote について初めて質問すると、AI が認証手順を案内します。

Claude Desktop(またはその他の MCP 対応アシスタント)のセットアップ
  1. このリポジトリをクローンし、以下のインストール手順に従います

  2. MCP サーバーを起動します:npm start

  3. Claude Desktop の設定で OneNote MCP サーバーを追加します。

    • 名前:onenote
    • コマンド:node
    • 引数:["/path/to/your/onenote-mcp.mjs"](絶対パスを使用)

    JSON 設定の例:

    {
      "mcpServers": {
        "onenote": {
          "command": "node",
          "args": ["/absolute/path/to/your/onenote-mcp.mjs"],
          "env": {}
        }
      }
    }
    
  4. Claude に OneNote のデータを操作するよう依頼できます

機能

  • デバイスコードフローを使った Microsoft OneNote の認証(Azure のセットアップは不要)
  • すべてのノートブック、セクション、ページを一覧表示
  • HTML コンテンツを含む新しいページを作成
  • HTML 形式を含むページの全内容を読み取り
  • AI による分析と要約のためにテキストコンテンツを抽出
  • すべてのページのコンテンツを一度の操作で要約
  • すべてのページの全内容を読みやすい形式で読み取り
  • ノート全体を検索

インストール

前提条件
  • Node.js 16 以上(nodejs.org からインストール)
  • OneNote にアクセスできる有効な Microsoft アカウント
  • Git(git-scm.com からインストール)
ステップ 1:リポジトリをクローンする
git clone https://github.com/yourusername/onenote-mcp.git
cd onenote-mcp
ステップ 2:TypeScript SDK をダウンロードする

このプロジェクトでは MCP TypeScript SDK が必要です。別途ダウンロードしてください。

git clone https://github.com/modelcontextprotocol/typescript-sdk.git
cd typescript-sdk
npm install
npm run build
cd ..
ステップ 3:プロジェクトの依存関係をインストールする
npm install
ステップ 4:MCP サーバーを起動する
npm start

これにより MCP サーバーが起動し、次のメッセージが表示されます。

Server started successfully.
Use the "authenticate" tool to start the authentication flow,
or use "saveAccessToken" if you already have a token.
ステップ 5:AI アシスタントを通じて認証する

サーバーが起動したら、AI アシスタントを通じて直接認証できます。

  1. Cursor、Anthropic の Claude Desktop、または MCP 対応アシスタントで、OneNote の認証を依頼します。

    Can you authenticate with my OneNote account?
    
  2. AI が認証フローを開始し、次の情報を提示します。

    • URL(通常は microsoft.com/devicelogin)
    • 入力するコード
  3. URL にアクセスしてコードを入力し、Microsoft アカウントでサインインします

  4. 認証に成功すると、AI アシスタントで OneNote を使い始めることができます

利用可能な MCP ツール

認証後、AI アシスタントは次のツールを利用できます。

ツール名説明
authenticateMicrosoft の認証フローを開始します
listNotebooksすべての OneNote ノートブックの一覧を取得します
getNotebook特定のノートブックの詳細を取得します
listSectionsノートブック内のすべてのセクションを一覧表示します
listPagesセクション内のすべてのページを一覧表示します
getPageHTML 書式を含む、特定のページの完全な内容を取得します
createPageHTML コンテンツを含む新しいページを作成します
searchPagesノートブック全体からページを検索します

インタラクションの例

AI アシスタントを通じて OneNote MCP とやり取りする例をいくつか紹介します。

User: Can you show me my OneNote notebooks?
AI: (uses listNotebooks) I found 3 notebooks: "Work", "Personal", and "Projects"

User: What sections are in my Projects notebook?
AI: (uses listSections) Your Projects notebook has the following sections: "Active Projects", "Ideas", and "Completed"

User: Create a new page in Projects with today's date as the title
AI: (uses createPage) I've created a new page titled "2025-04-12" in your Projects notebook

User: Find all my notes about machine learning
AI: (uses searchPages) I found 5 pages with content related to machine learning...

User: Can you read and summarize my notes on the "Project Requirements" page?
AI: (uses getPage) Based on your "Project Requirements" page, here's a summary: The project requires Python 3.8+, integration with AWS services, and completion by Q3. Key deliverables include a web dashboard, API, and documentation...

User: Extract all the action items from my "Team Meeting" notes
AI: (uses getPage) Here are all the action items from your "Team Meeting" notes:
1. John to complete API documentation by Friday
2. Sarah to schedule design review meeting
3. Team to finalize Q3 roadmap by end of month

User: Summarize content of all my OneNote pages
AI: (runs get-all-page-contents.js) Here's a summary of all your pages:
- Questions: Contains strategic business questions about competitor analysis
- 2025-04-12: Discussion about monetization strategy for bank transfers
- Role Specification: Details about the Chief Payments Officer position
...

User: I want to read through all my OneNote pages so I can ask questions about them
AI: (runs read-all-pages.js) I've retrieved the full content of all your pages in a readable format. Now you can ask me specific questions about any of the content.

応用:スクリプトを直接使用する

テストまたは開発目的では、付属のスクリプトを直接使用することもできます。

# Authenticate with Microsoft
npm run auth

# List your notebooks
npm run list-notebooks

# List sections in your first notebook
npm run list-sections

# List pages in the first section
npm run list-pages

# Create a new page
npm run create-page

# Summarize content of all pages
node get-all-page-contents.js

# Read full content of all pages
node read-all-pages.js

トラブルシューティング

認証の問題
  • 認証に失敗した場合は、トラッキング防止機能のない最新のブラウザーを使用していることを確認してください
  • ブラウザーの Cookie とキャッシュを消去してみてください
  • "expired_token" エラーが発生した場合は、認証プロセスを再起動してください
サーバーが起動しない
  • Node.js がインストールされていることを確認してください(バージョン 16 以降):node --version
  • すべての依存関係がインストールされていることを確認してください:npm install
  • TypeScript SDK が正しくビルドされていることを確認してください
AI がサーバーに接続できない
  • MCP サーバーが実行中であることを確認してください(npm start)
  • AI アシスタントの設定で、MCP を使用するよう構成されていることを確認してください
  • Cursor の場合は、MCP に対応した最新バージョンであることを確認してください

セキュリティに関する注意

  • 認証トークンはローカルの .access-token.txt に保存されます
  • トークンを使うと OneNote データにアクセスできるため、安全に保管してください
  • トークンは一定期間後に有効期限が切れるため、再認証が必要になります
  • Azure のセットアップや API キーは不要です

クレジット

このプロジェクトは、Zubeid Hendricks 氏による azure-onenote-mcp-server を基盤としており、認証プロセスの簡素化と、AI アシスタントのユーザーエクスペリエンスの向上に重点を置いています。

ライセンス

このプロジェクトは MIT License のもとでライセンスされています。詳細については LICENSE ファイルをご覧ください。

コメント

MCP は初めてですか?

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

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