Papernote MCP Server
日本語のREADMEは、英語のREADMEの後に記載されています。
Overview
Papernote MCP Server is a Model Context Protocol (MCP) server that enables Claude.ai Web to interact with Papernote, a cloud-based note management system. This server provides tools for creating, reading, updating, and managing notes through natural language commands in Claude.ai.
Features
- Create Notes: Create new notes with automatic timestamp-based filenames
- Read Notes: Retrieve note content by filename
- Append Content: Add content to the top or bottom of existing notes
- Replace Text: Search and replace text within notes
- Full Update: Completely overwrite note content
- OAuth Authentication: Secure access control with Client ID/Secret
Installation
- Clone the repository:
git clone https://github.com/daishir0/paper_mcp - Change to the project directory:
cd paper_mcp - Install the required packages:
pip install -r requirements.txt - Copy
config.yaml.exampletoconfig.yamland configure:cp config.yaml.example config.yaml - Edit
config.yamlwith your settings:server.port: Server port (default: 8000)papernote.api_url: Your Papernote API endpointpapernote.api_key: Your Papernote API keyoauth.client_id: OAuth Client ID for MCP authenticationoauth.client_secret: OAuth Client Secret for MCP authentication
Usage
Starting the Server
python main.py
The server will start on http://127.0.0.1:8000 with SSE transport (port configurable in config.yaml).
Production Deployment (systemd)
Create a systemd service file at /etc/systemd/system/papermcp.service:
[Unit]
Description=Papernote MCP Server for Claude.ai
After=network.target
[Service]
User=your-user
WorkingDirectory=/path/to/paper_mcp
ExecStart=/bin/bash -c 'source /path/to/python/env && python main.py'
Type=simple
Restart=on-failure
[Install]
WantedBy=multi-user.target
Enable and start:
sudo systemctl daemon-reload
sudo systemctl enable papermcp
sudo systemctl start papermcp
Connecting to Claude.ai
- Go to Claude.ai Settings > Integrations
- Click Add custom connector
- Enter the following:
- URL:
https://your-domain.com/sse - Client ID: Your
oauth.client_idfrom config.yaml - Client Secret: Your
oauth.client_secretfrom config.yaml
- URL:
Available MCP Tools
Note Management Tools
| Tool | Description | Parameters |
|---|---|---|
create_note | Create a new note | content: str |
get_note | Get note by filename | filename: str |
append_top | Add content after header | filename, content |
append_bottom | Add content at end | filename, content |
replace_text | Search and replace | filename, search, replace |
update_full | Overwrite entire note | filename, content |
search_notes | Search notes by content | query, search_type |
list_notes | List all notes | category, limit |
list_categories | List all categories | - |
delete_note | Delete a note (backup auto-created) | filename |
Paper Management Tools (for Research)
| Tool | Description | Parameters |
|---|---|---|
search_papers | Search papers by title/memo/summary | query |
list_papers | List all papers | category, limit |
get_paper | Get paper details with memo/summary | pdf_id |
get_paper_summary | Get paper summary only | pdf_id |
Example Commands in Claude.ai
Once connected, you can use natural language:
Note Operations
- "Create a new note about today's meeting"
- "Show me the content of [_]20250121-123456.txt"
- "Append 'Task completed' to the bottom of my note"
- "Replace 'draft' with 'final' in the document"
- "Search for notes about 'meeting'"
- "List all my notes"
- "Show me all categories"
Paper Operations (Research)
- "Search for papers about 'machine learning'"
- "List all my papers"
- "Show me the details of this paper"
- "What's the summary of paper X?"
- "Compare papers A and B"
Notes
- Ensure
config.yamlis properly configured before starting - The server requires a running Papernote API backend
- Use HTTPS in production with a reverse proxy (Apache/Nginx)
- OAuth credentials protect access to the MCP server
License
This project is licensed under the MIT License - see the LICENSE file for details.
Papernote MCP Server
概要
Papernote MCP Serverは、Claude.ai WebがPapernote(クラウドベースのノート管理システム)と連携するためのModel Context Protocol(MCP)サーバーです。Claude.aiで自然言語のコマンドを使用して、ノートの作成、読み取り、更新、管理を行うためのツールを提供します。
機能
- ノート作成: タイムスタンプベースのファイル名で新規ノートを自動作成
- ノート読み取り: ファイル名でノートの内容を取得
- コンテンツ追加: 既存ノートの上部または下部にコンテンツを追加
- テキスト置換: ノート内のテキストを検索して置換
- 全体更新: ノートの内容を完全に上書き
- OAuth認証: Client ID/Secretによる安全なアクセス制御
インストール方法
- リポジトリをクローン:
git clone https://github.com/daishir0/paper_mcp - プロジェクトディレクトリに移動:
cd paper_mcp - 必要なパッケージをインストール:
pip install -r requirements.txt config.yaml.exampleをconfig.yamlにコピーして設定:cp config.yaml.example config.yamlconfig.yamlを編集:server.port: サーバーポート(デフォルト: 8000)papernote.api_url: Papernote APIのエンドポイントpapernote.api_key: Papernote APIキーoauth.client_id: MCP認証用OAuth Client IDoauth.client_secret: MCP認証用OAuth Client Secret
使い方
サーバーの起動
python main.py
サーバーはhttp://127.0.0.1:8000でSSEトランスポートで起動します(ポートはconfig.yamlで変更可能)。
本番環境へのデプロイ(systemd)
/etc/systemd/system/papermcp.serviceにsystemdサービスファイルを作成:
[Unit]
Description=Papernote MCP Server for Claude.ai
After=network.target
[Service]
User=your-user
WorkingDirectory=/path/to/paper_mcp
ExecStart=/bin/bash -c 'source /path/to/python/env && python main.py'
Type=simple
Restart=on-failure
[Install]
WantedBy=multi-user.target
有効化と起動:
sudo systemctl daemon-reload
sudo systemctl enable papermcp
sudo systemctl start papermcp
Claude.aiへの接続
- Claude.aiのSettings > Integrationsに移動
- Add custom connectorをクリック
- 以下を入力:
- URL:
https://your-domain.com/sse - Client ID: config.yamlの
oauth.client_id - Client Secret: config.yamlの
oauth.client_secret
- URL:
利用可能なMCPツール
ノート管理ツール
| ツール | 説明 | パラメータ |
|---|---|---|
create_note | 新規ノート作成 | content: str |
get_note | ファイル名でノート取得 | filename: str |
append_top | ヘッダー後にコンテンツ追加 | filename, content |
append_bottom | 末尾にコンテンツ追加 | filename, content |
replace_text | 検索と置換 | filename, search, replace |
update_full | ノート全体を上書き | filename, content |
search_notes | ノートを検索 | query, search_type |
list_notes | ノート一覧取得 | category, limit |
list_categories | カテゴリ一覧取得 | - |
delete_note | ノート削除(バックアップ自動作成) | filename |
論文管理ツール(研究用)
| ツール | 説明 | パラメータ |
|---|---|---|
search_papers | タイトル/メモ/サマリーで論文検索 | query |
list_papers | 論文一覧取得 | category, limit |
get_paper | 論文詳細取得(メモ/サマリー含む) | pdf_id |
get_paper_summary | 論文サマリーのみ取得 | pdf_id |
Claude.aiでの使用例
接続後、自然言語で指示できます:
ノート操作
- 「今日の会議についてのノートを作成して」
- 「[_]20250121-123456.txtの内容を見せて」
- 「ノートの末尾に『タスク完了』と追加して」
- 「ドキュメント内の『下書き』を『最終版』に置き換えて」
- 「会議についてのノートを検索して」
- 「ノート一覧を見せて」
- 「カテゴリ一覧を表示して」
論文操作(研究)
- 「機械学習に関する論文を検索して」
- 「論文一覧を見せて」
- 「この論文の詳細を見せて」
- 「論文Xのサマリーを教えて」
- 「論文AとBを比較して」
注意点
- 起動前に
config.yamlが正しく設定されていることを確認してください - サーバーにはPapernote APIバックエンドが必要です
- 本番環境ではリバースプロキシ(Apache/Nginx)でHTTPSを使用してください
- OAuth認証情報がMCPサーバーへのアクセスを保護します
ライセンス
このプロジェクトはMITライセンスの下でライセンスされています。詳細はLICENSEファイルを参照してください。
