Mcp Cornell Resume について
チャットの内容からコーネル式ノートとアクティブリコール問題を作成し、Notion に保存する MCP サーバーです。Pinecone で関連ノートを意味検索し、会話から得た学習内容を保存して復習したい人向けです。
主な機能
- 01コーネル式ノートの生成
- 02文脈に沿った想起問題の生成
- 03Pinecone によるノートの意味検索
- 04Notion データベースとの同期
- 05OpenAI によるテキスト処理
活用シーン
- 01チャットの要約を Notion に保存
- 02会話テキストから想起問題を生成
- 03関連ノートを検索して文脈を補足
MCP 対応
会話テキストを受け取り、Notion のページ ID を返す `save_resume_to_notion` を提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP: Cornell Resume
会話のコンテキストからコーネル式の学習ノートと要約を自動生成する Model Context Protocol(MCP)サーバーです。RAG によるアクティブリコール問題の生成と Notion 連携に対応しています。
機能
このサーバーは会話のコンテキストからテキストを処理し、コンテキストに応じた要約を生成し、アクティブリコール問題(コンテキスト対応)を作成して、すべてを Notion に自動保存します。
- クライアントのチャット会話履歴からコーネル式ノートをリアルタイムに生成
- ベクトル類似度を利用した、コンテキスト対応のアクティブリコール問題生成
- 関連するノートを取得するための Pinecone によるセマンティック検索連携
- 適切なブロック形式で Notion データベースと自動同期
- OpenAI を活用したテキスト処理と問題生成
セットアップガイド
必要条件
- Python 3.13+
- uv
- OpenAI アカウント
- Pinecone アカウント
インストール
- リポジトリをクローンする
git clone
cd mcp-cornell-resume
- 依存関係をインストールする
# Create virtual environment
uv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install required packages
uv pip sync docs/requirements.txt
- 環境を設定する - プロジェクトのルートに
.envファイルを作成します。
OPENAI_API_KEY=your_openai_api_key
PINECONE_API_KEY=your_pinecone_api_key
PINECONE_INDEX_NAME=cornell-notes
NOTION_API_KEY=your_notion_api_key
NOTION_DATABASE_ID=your_database_id
- Notion をセットアップする
- notion developers ページで Notion インテグレーションを作成します(適切な機能を設定します。最低限、「Read content」と「Update content」を選択してください)。
- API キーを取得します
- インテグレーションとページを共有します。
- ページのデータベースキーを取得します。ページのリンクにデータベースがあります。
- Pinecone インデックスを設定する - 次の設定で Pinecone インデックスを作成します。
- 次元数:1536(OpenAI の埋め込み向け)
- インデックス名は
.envの設定と一致させます
使い方
Claude Client Desktop またはその他の MCP 対応アプリケーションでの使用
MCP 設定 JSON ファイルに次の内容を追加します。
code ~/Library/Application\ Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"resume_to_notion": {
"command": "/Users/<USER></USER>/.local/bin/uv",
"args": [
"--directory",
"/<PATH_TO_PROJECT/mcp-cornell-resume",
"run",
"main.py"
]
}
}
}
利用可能なツール
save_resume_to_notion
進行中のチャット会話全体を要約し、text として送信します。
パラメーター:
text:クライアントのチャットウィンドウの要約を表すテキスト文字列。
戻り値:
notion_page_id
仕組み
処理の流れ
- 入力処理:MCP クライアントがチャット会話のテキストを
save_resume_to_notionツールに送信します - 埋め込みの生成:OpenAI が入力テキストの内容からベクトル埋め込みを作成します
- コンテキストの取得:Pinecone が埋め込みを使って、意味的に類似する既存のノートを検索します
- コーネル式要約の生成:OpenAI が次の情報を使って、構造化されたコーネル式の要約を生成します。
- 元の会話の内容
- コンテキスト認識のための Pinecone 内の関連ノート
- ベクトルの保存:新しいノートとその埋め込みを Pinecone に保存し、今後のコンテキスト取得に利用します
- Notion 連携:形式を整えたコーネル式の要約を Notion データベースに保存します
- 応答:Notion のページ ID をクライアントに返します
視覚的なフロー図

開発
Model Context Protocol インスペクターを使用して、サーバーを試すことができます。
fastmcp dev main.py
制限事項と今後の改善
- LLM のコンテキストウィンドウの制限:MCP クライアントのコンテキストウィンドウには上限があります(通常、モデルに応じて 8k〜32k トークン)。
- チャットセッションが長すぎる場合、利用可能なコンテキストのみを要約すると、重要な情報が失われることがあります。
- 複数インテグレーションを使うワークフローのレイテンシ:インテグレーションを追加するたびにレイテンシが増加し、処理が遅くなるリスクも高まります。
- Notion と Pinecone の同期が複雑です。
- ノートにタグ付けする RAG 機能を作成します。
セキュリティに関する考慮事項
- API キーの管理:すべての API キーを
.envに安全に保存します - 入力の検証:すべての入力をサニタイズして検証します
- エラー処理:エラーに機密情報を含めません
- アクセス制御:Notion インテグレーションはワークスペースの権限に従います
- データのプライバシー:同意なしにチャット内容が恒久的に保存されることはありません
ライセンス
MIT License
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。