mcpField
S
StayPut

StayPut

ローカル
stayput.dev生産性01 日前に更新

StayPut について

StayPutは、PDFや写真をローカルで処理するMCP サーバーです。Claude、Cursor、VS Codeなどのクライアントで利用でき、ファイルはアップロードされず、入力ファイルも変更せずに新しいファイルを作成します。

主な機能

  1. 01PDFの結合・分割・回転
  2. 02PDFページの抽出・並べ替え・削除
  3. 03PDFへのページ番号の追加
  4. 04JPG・PNG画像のPDF化
  5. 05写真メタデータの確認と削除

活用シーン

  1. 01ローカルの請求書PDFの結合
  2. 02契約書から指定ページを抽出
  3. 03論文へのページ番号の追加
  4. 04写真のGPS情報を確認して削除した複製を作成

MCP 対応

MCP サーバーは、MCP対応クライアントにローカルでPDFや写真を処理するツールを提供します。ファイルは端末上で読み書きされ、ネットワークリクエストは発生しません。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"keenanlk-stayput": {
"command": "npx",
"args": [
"-y",
"stayput-mcp"
]
}
}
}
起動コマンドnpx -y stayput-mcp

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

パッケージ
npmstayput-mcp0.1.0

ツール

9

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
pathstringはいPDF のパス。
passwordstringいいえ開くときにパスワードを求められる PDF のパスワード。このマシン上でのみ使用されます。

詳細

Stayput MCP サーバー

Claude、Cursor、VS Code、その他の Model Context Protocol に対応するアプリで使える、ローカルの PDF・写真ツールです。アシスタントに PDF の結合やページの抽出、写真から GPS の位置情報の削除を頼むと、ご利用のマシン上で処理します。

ブラウザー版の stayput.dev と同じコードで動作します。ファイルはディスクから読み込まれ、ディスクに書き戻されます。アップロードは行われず、サーバーからネットワークリクエストが送信されることもありません。 無料のオープンソース(MIT)で、アカウントや API キーは不要です。

ツール

ツール機能
merge_pdfs指定した順に PDF を 1 つに結合します
extract_pdf_pages一部のページだけを残したり、ページを並べ替えたり(「3,1,2」)、ページを削除したりします
split_pdf1 ページごと、または N ページごとにファイルを分割します
rotate_pdfすべてのページ、または指定したページを 90 度、180 度、270 度回転します
number_pdf_pages「全 {total} ページ中 {n} ページ目」のようなページ番号を追加します
pdf_infoページ数、ページサイズ、タイトルを表示します
images_to_pdfJPG と PNG の画像を、再圧縮せずに 1 ページにつき 1 枚の PDF にまとめます
inspect_image_metadata写真に含まれる GPS の位置情報、カメラ、撮影日時、その他の非表示メタデータを表示します
strip_image_metadataEXIF、GPS、XMP、コメントを削除した JPG、PNG、WebP のコピーを、再エンコードせずに作成します

各ツールは新しいファイルを書き込み、そのパスを返します。入力ファイルが変更されることはなく、既存のファイルが上書きされることもありません(代わりに file-1.pdf が作成されます)。暗号化された PDF(銀行の明細書や印刷が制限されたフォームなど)は qpdf でローカルに復号されます。開くときにパスワードが必要な PDF では、アシスタントが password 引数にパスワードを渡します。

インストール

Node.js 20 以降が必要です。

Claude Code

claude mcp add stayput -- npx -y stayput-mcp

Claude Desktop、Cursor、Windsurf、その他の JSON 設定(claude_desktop_config.json、.cursor/mcp.json、...)

{
  "mcpServers": {
    "stayput": {
      "command": "npx",
      "args": ["-y", "stayput-mcp"]
    }
  }
}

VS Code

code --add-mcp '{"name":"stayput","command":"npx","args":["-y","stayput-mcp"]}'

インストール後は、次のように依頼できます。

  • 「~/Downloads にある invoice-march.pdf と invoice-april.pdf を結合して」
  • 「contract.pdf から 2〜5 ページを取り出して」
  • 「IMG_2041.jpg に位置情報が含まれている?含まれていたら、位置情報のないコピーを作って」
  • 「thesis.pdf の 3 ページ目からページ番号を付けて」

相対パスはサーバーを起動したフォルダーを基準に解決されるため、絶対パスか ~/... を指定するのが最も安全です。

対応していない機能

HEIC、WebP、AVIF の変換、圧縮、PDF から画像への変換、PDF への署名にはブラウザーエンジンが必要です。これらの機能は stayput.dev で利用できます。こちらも同じ仕組みで動作し、ブラウザー上で処理されるため、アップロードは行われません。

開発

cd mcp
npm install
npm test   # builds dist/index.js and runs the end-to-end tests

テストではサイトのフィクスチャを使います。まずリポジトリのルートから python3 tests/fixtures/make-fixtures.py && node tests/fixtures/make-pdf.mjs を実行して生成してください(Pillow と pillow-heif が必要です)。

サーバーは ../src/lib から PDF とメタデータのコードをインポートし、esbuild(build.mjs)でバンドルします。ブラウザー専用の 2 つのモジュールはビルド時に置き換えられます。src/unlock.ts は <script> タグではなく node_modules から qpdf を読み込み、src/no-canvas.ts は PDF の圧縮でのみ使われる canvas ヘルパーの代わりになります。

コメント

MCP は初めてですか?

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

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