ClaudeとPapermarkを連携する方法 — データルームを会話で運用する
PapermarkのMCPサーバーをClaudeにつなぐ手順です。claude.aiのOAuth接続とClaude Codeのトークン接続の違い、書き込み・削除を含むツールの範囲、ファイルアップロードで詰まる点をまとめます。
Claude Papermark連携とは何か
Papermark連携は、文書共有・データルームサービスのPapermarkが提供するMCPサーバーを、Claudeにつなぐ仕組みです。データルームの作成、文書のアップロード、共有リンクの発行、閲覧者ごとの分析までを、画面を行き来せずに自然文で頼めます。
Connectorsディレクトリでは、開発元Papermarkの「Anthropic verified」表示付きで掲載されています。カテゴリは金融サービス・法務・生産性、追加時期は2026年8月、サインインは必須です。接続先のURLは https://mcp.papermark.com/mcp です。
ディレクトリの説明文は、データルームの構造づくり、文書と新バージョンのアップロード、有効期限・NDA・動的透かし付きの共有リンク、ページ単位の閲覧分析を挙げています。想定する利用者は、M&Aや資金調達で資料を開示する側、つまりプライベートエクイティ、財務チーム、ベンチャーキャピタル、創業者です。
読むだけのコネクタではありません。作成・更新・削除のツールが同じ一覧に並びます。接続の手順を見る前に、どこまで任せるかを決めておく必要があります。Connector全般の仕組みはClaudeのコネクタとはにまとめています。
接続経路は3つ:どれを使うか
Papermarkには、ClaudeからつなぐHTTPとstdioの2種類の通信方式があります。
| 経路 | 通信方式 | 認証 | ファイルの渡し方 |
|---|---|---|---|
| claude.ai(Web) | 通信方式HTTP(mcp.papermark.com/mcp) | 認証OAuth 2.0 | ファイルの渡し方添付は署名付きURL、または公開URL |
| Claude Desktop | 通信方式stdio(@papermark/mcp-server) | 認証APIトークン | ファイルの渡し方ローカルのファイルパスを直接指定 |
| Claude Code | 通信方式stdio(同じパッケージ) | 認証APIトークン | ファイルの渡し方ローカルのファイルパスを直接指定 |
同じ操作でも、経路によってツールの数と一部の挙動が変わります。違いはファイルのアップロードに集中していて、それ以外のツールは同じ引数・同じ戻り値です。
- stdio: ローカルのファイルを読む
upload_documentと、ブランド画像を上げる2つのツールが加わる - HTTP: サーバーがあなたのディスクを読めないため、
request_document_uploadが加わり、upload_documentはupload_idか公開URLを受け取る
Webのclaude.aiを使うならHTTP一択です。手元のファイルをそのまま渡したい、シェルやCSV整形と組み合わせたいなら、Claude Codeのstdioが向きます。
claude.aiから接続する手順
Papermarkのclaude.ai向けガイドは、カスタムコネクタとして接続先URLを直接追加する手順を案内しています。
claude.aiでPapermarkを接続する流れ
- 1
設定画面を開く
Settings → Connectorsを開き、Add custom connectorを選びます。
- 2
URLを入力する
URLに
https://mcp.papermark.com/mcpを入れ、Connectを押します。 - 3
Papermark側で承認する
Papermarkのサインイン画面に移ります。アクセスを許可するワークスペースを選び、Authorizeを押します。
- 4
接続を確かめる
新しい会話でツールメニューに
papermarkが出ていることを確認し、「List my Papermark documents.」のように頼みます。通ればlist_documentsが呼ばれます。
認証はOAuth 2.0の認可コードフロー(PKCE付き)です。クライアントは動的に登録され、承認後のトークンがすべてのリクエストに付きます。パスワードをClaudeに渡す場面はありません。
アクセストークンの有効期間は90日です。offline_access を許可していれば(既定)、更新は自動で行われます。切断はclaude.aiのConnector画面から、またはPapermarkのSettings → Authorized Appsからclaude.aiを取り消します。取り消し口が両側にあるので、アクセスを止めたいときはどちらからでも外せます。
Claude Codeから接続する手順
Claude Code向けには、Papermarkのパッケージ @papermark/mcp-server をnpx経由で起動するstdio接続が案内されています。Node 24以上が必要で、トークンはダッシュボードのSettings → API Tokensで発行する pm_live_… 形式です。
トークンは作成時に一度しか表示されません。権限(スコープ)は作成時に選び、まず読み取りだけで始めるのが無難です。
Claude Codeのコマンド書式に合わせると、次のようになります(Claude Codeの claude mcp add の書式に沿った例)。
claude mcp add --transport stdio \
--env PAPERMARK_TOKEN=pm_live_xxxxxxxx \
papermark -- npx -y @papermark/mcp-server-- より後ろが、MCPサーバーを起動するコマンドです。登録後はセッションを開いて /mcp を実行し、papermark の行にチェックが付いているかを見ます。認証情報が違うと、チェックの代わりに失敗の表示とHTTPステータスが出ます。
落とし穴
Papermarkのガイドのコマンドは、そのままでは通らないことがある
Papermarkのガイドは claude mcp add papermark --command npx --args … という書式を載せています。Claude Codeの公式リファレンスにあるstdio書式は、--transport stdio と -- で区切る形です。食い違うときは、Claude Code側の書式に合わせてください。
HTTPエンドポイントを直接つなぐ方法もあります。Claude Codeはリモートサーバーを claude mcp add --transport http <名前> <URL> で追加でき、OAuthが必要なサーバーは /mcp から認証します。
claude mcp add --transport http papermark https://mcp.papermark.com/mcpただし、PapermarkのClaude Code向けガイドが案内しているのはstdioだけです。HTTPで追加する場合の動作は、Papermarkのガイドには書かれていません。ローカルのファイルをアップロードしたいときは、file_path を読めるstdioの方が実用的です。
認証と権限:トークンのスコープが操作範囲を決める
Papermarkは、エージェントがユーザー本人として動くと説明しています。MCP専用のユーザーは存在せず、権限は発行したトークンのスコープで決まります。
- 読み取りだけの
documents.readやlinks.readを持つトークンなら、読み取り専用のエージェントになる - 書き込み系のツール(作成・更新・削除・アップロード・データルームへの添付)は、スコープが足りないと403で失敗する
- 失敗はClaudeに返るので、Claudeが謝罪して次の指示を求める流れになる
ツールごとの必要スコープは、ドキュメントに表で載っています。
| 領域 | 読み取りのスコープ | 書き込みのスコープ |
|---|---|---|
| 文書・フォルダ | 読み取りのスコープdocuments.read | 書き込みのスコープdocuments.write |
| 共有リンク | 読み取りのスコープlinks.read | 書き込みのスコープlinks.write |
| データルーム(グループ含む) | 読み取りのスコープdatarooms.read | 書き込みのスコープdatarooms.write |
| ブランド | 読み取りのスコープbranding.read | 書き込みのスコープbranding.write |
| 閲覧者 | 読み取りのスコープvisitors.read | 書き込みのスコープ— |
| 分析 | 読み取りのスコープanalytics.read | 書き込みのスコープ— |
複数のスコープを要求するツールもあります。たとえば list_link_views は analytics.read と links.read、list_visitor_views は visitors.read と analytics.read が要ります。create_link は links.write に加えて、対象の文書またはデータルームの読み取りスコープが必要です。
stdioなら、読み取り専用のトークンを別に発行して使い分けられます。一方、claude.aiのHTTP接続でスコープがどう選ばれるかは、Papermarkのclaude.ai向けガイドに詳しい記述がありません。ガイドにあるのは、特定のツールが403になったら不足スコープで再接続する、という対処だけです。
ツールの全体像:何が頼めるか
Papermarkのツールは、REST APIの全機能に対応します。領域ごとの数と代表的なものは次のとおりです。
| 領域 | 本数(ドキュメントの見出し) | 代表的なツール |
|---|---|---|
| 文書 | 本数(ドキュメントの見出し)6〜7 | 代表的なツールsearch_documents、upload_document、update_document |
| 文書バージョン | 本数(ドキュメントの見出し)4 | 代表的なツールadd_document_version、promote_document_version |
| フォルダ | 本数(ドキュメントの見出し)6 | 代表的なツールcreate_folder、move_folder |
| 共有リンク | 本数(ドキュメントの見出し)8 | 代表的なツールcreate_link、update_link、list_link_views |
| データルーム | 本数(ドキュメントの見出し)10 | 代表的なツールcreate_dataroom、attach_dataroom_document |
| データルームのフォルダ | 本数(ドキュメントの見出し)6 | 代表的なツールcreate_dataroom_folder、move_dataroom_folder |
| データルームのグループ | 本数(ドキュメントの見出し)10 | 代表的なツールcreate_dataroom_group、set_dataroom_group_permissions |
| ブランド | 本数(ドキュメントの見出し)9 | 代表的なツールcreate_brand、update_dataroom_branding |
| 閲覧者 | 本数(ドキュメントの見出し)3 | 代表的なツールlist_visitors、list_visitor_views |
| 分析 | 本数(ドキュメントの見出し)4 | 代表的なツールget_document_analytics、get_view_analytics |
押さえておきたいのは、共有リンクの設定項目の多さです。create_link は次の機能を引数で指定できます。
- アクセス制限:
password、email_protected、メールの一回限りのコードによる認証、許可リスト・拒否リスト - 保護:
enable_watermark、enable_screenshot_protection、enable_confidential_view - 運用: 有効期限、ダウンロードの可否、閲覧通知、カスタムドメイン、保存済みのプリセット
ディレクトリの説明が挙げる「有効期限・NDA・動的透かし」は、この引数群に対応する機能です。
データルームのグループは、メールアドレスやドメインで定義した閲覧者の集まりです。新しいグループは、権限を設定するまで何も見えません。グループごとに閲覧とダウンロードの可否を文書・フォルダ単位で設定できるので、投資家と弁護士で見せる範囲を分ける運用が、会話から組めます。
ディレクトリの一覧とドキュメントの本数は一致しない
ツール数の記載は、読む場所によって違います。
| 記載場所 | 本数 |
|---|---|
| MCPの概要・ツール一覧ページ | 本数stdio 66、HTTP 65 |
| claude.ai Connectorsのガイド | 本数HTTP 44(stdioは43) |
| Claude Codeのガイド | 本数43 |
| Connectorsディレクトリ | 本数46 |
概要ページとツール一覧ページが同じ数(66と65)を示し、個別のクライアント向けガイドが古い数を残している形です。MCPサーバーのバージョンは0.1.0で、Papermarkは「alphaで、マイナーバージョン間に破壊的変更がありうる」と明記しています。ツールの増減は今後も起こりうる前提で、本数にこだわらず、名前で探すのが安全です。
ディレクトリの一覧は、先頭の24本だけが見えて残りは「Show all」で展開される作りです。見える範囲には、delete_dataroom、delete_document、delete_link、delete_folder といった削除系が含まれています。
業務での使いどころ
Papermarkのドキュメントが挙げる流れを、頼み方の例として並べます。ここにあるのは頼み方の例で、Claudeの実際の出力ではありません。
- データルームを一から作る: 「Acme Series Bというデータルームを作り、フォルダのPDFを全部上げて、パスワード付きのリンクを1本ください」。
create_dataroom、upload_document、create_linkの順に呼ばれる流れです - 点検する: 「Acmeのデータルームに何が入っていて、今週誰がどの文書を見たか」。
list_dataroom_documents、list_links、list_link_viewsで答えます - 相手ごとにリンクを分ける: 同じデータルームを指すリンクを、連絡先ごとに作ります。リンク単位の分析で、誰が何を見たかが分かれます
- 離脱箇所を探す: 「ピッチ資料のどのページで読むのをやめているか」。
get_view_analyticsがページ別の閲覧時間を返します - 差し替える: 更新した資料を
add_document_versionで追加すると、リンクやデータルームの配置、バージョン履歴が保たれます。二重にアップロードしなくて済みます
Claude Codeは、シェルとの組み合わせで効きます。Papermarkのガイドには、過去30日に作ったリンクの閲覧数をCSVに出す、ローカルのフォルダをデータルームに同期する、といった例があります。ファイルを読み書きできるので、upload_document のローカルパス指定が活きます。
書き込み・削除を任せる前の運用
削除系のツールは、影響の範囲がツールごとに違います。名前だけで判断せず、挙動を知っておく価値があります。
| ツール | 挙動 |
|---|---|
delete_document | 挙動文書、そのリンク、閲覧履歴を完全に削除する |
delete_dataroom | 挙動データルームとそのリンク・フォルダを削除する。ライブラリ内の文書は残る |
delete_link | 挙動リンクを無効にする。論理削除で、閲覧履歴は残る |
delete_dataroom_group | 挙動グループ、メンバーシップ、権限、グループを指すすべての共有リンクを削除する。取り消せない |
set_link_permissions | 挙動全置換。空の配列を渡すと、すべての項目が隠れる |
最後の set_link_permissions は、部分更新ではない点が落とし穴です。リンクの現在の権限を取得してから、完全な望ましい状態を渡す必要があります。
運用としては、次の分け方が現実的です。
- 点検や分析が目的の間は、読み取りスコープだけのトークンで始める
- 書き込みを許す場合は、作成と更新のスコープに絞り、削除は人が画面で行う
- 削除や権限の置換を頼む前に、対象の一覧と件数を先に出させる
- 本番とは別環境で試したいときは、
PAPERMARK_API_URLを非本番のURLに向け、そこで別のトークンを発行する
claude.ai向けガイドによると、REST APIと同じトークンあたり毎分60リクエスト(既定)の上限がMCP接続にも掛かります。大量のアップロードや全リンクの走査を頼むと上限に当たることがあり、その場合はClaudeが rate_limit_exceeded を受けて待つ形になります。
ファイルのアップロードで詰まる場合
claude.aiでは、チャットに添付したファイルは3段階でアップロードされます。
request_document_uploadが、署名付きURLと単発のupload_idを返す- コード実行のサンドボックスから、そのURLへファイルの中身をPUTする
upload_document(新規)またはadd_document_version(新しい版)にupload_idを渡して確定する
この方式では、ファイルの中身がモデルのコンテキストを通らないため、トークンを消費しません。代わりに、コード実行機能が有効なことが前提です。無効なら、公開HTTPS URLの source_url を渡す方法で上げます。
詰まりやすいのは、サンドボックスのネットワーク制限です。PUT先はAWS S3のホスト(*.amazonaws.com)で、許可リストに入っていないとDNSエラー、タイムアウト、ブロックのどれかで失敗します。request_document_upload 自体は成功しているので、原因に気づきにくい症状です。
- Pro・Maxの個人プラン: 既定がすべてのドメインを許可なので、設定なしで通る
- Team・Enterprise: 既定がパッケージマネージャーのみで、PUTが止まる。オーナーがOrganization settings → Capabilitiesで、特定ドメインに返ってきたホストを追加するか、すべてのドメインを許可する。メンバー自身は変更できない
よくあるつまずき
Papermarkのガイドにある症状と原因を、対処の順にまとめます。
| 症状 | 想定される原因 | 対処 |
|---|---|---|
| Connectを押しても反応がない | 想定される原因OAuth承認のポップアップがブロックされている | 対処ポップアップを許可する |
| 承認後に「Authorization failed」 | 想定される原因サードパーティCookieがブロックされている | 対処別のブラウザーにするか、app.papermark.com を許可する |
| ツールは見えるが全部401 | 想定される原因トークンの期限切れで更新に失敗した | 対処コネクタを再接続する |
| 特定のツールだけ403 | 想定される原因トークンにそのツールのスコープがない | 対処不足スコープを付けて再接続する(stdioはトークンを再発行) |
| Claude Codeでツール一覧が空 | 想定される原因JSONの構文エラー | 対処設定ファイルを見直す |
No API token configured | 想定される原因PAPERMARK_TOKEN が環境変数に入っていない | 対処--env を付けて登録し直す |
Claude Desktopのstdio接続でうまく動かない場合は、ログが ~/Library/Logs/Claude/mcp-server-papermark.log に出ます。最も多い原因は、トークンの未設定か誤りです。
この連携が向く場面
向くのは、資料を外部に開示し、誰がどこまで見たかを追う業務です。資金調達、M&A、監査対応などで、リンクの設定と閲覧分析を何度も繰り返すなら、会話に寄せる価値があります。
逆に、数本の文書を1回共有するだけなら、画面の方が速い場面もあります。権限を扱うツールは、1つの引数の違いで見せる範囲が変わります。リンクを新しく作るたびに、パスワードや有効期限、ダウンロード可否が意図どおりかを、get_link で読み返させる習慣が効きます。
同じ「社外とやり取りする資料」を扱う連携としては、Claude Carta連携が持分データを、Claude Sprinto連携がコンプライアンスの証跡を扱います。Papermarkは、その開示の最後の工程を担う位置にあります。
まとめ
PapermarkのClaude連携は、claude.aiではOAuthの承認だけで、Claude Codeではトークン1本で接続できます。難しいのは接続ではなく、書き込みと削除をどこまで許すかの設計です。
最初は読み取り専用の権限で、データルームの点検と閲覧分析から始めてください。リンクの発行と文書の追加まで広げるのは、その後で十分です。削除と権限の全置換は、引き続き人の手元に残す運用が、取り消せない操作の多いこのサービスには合っています。