Stamp it - Apply a full-screen watermark to an image について
Stamp itは、ローカル画像を処理するMCP水印サーバーです。文字または画像の透かしを敷き詰め、画像の明るさに応じて文字色を調整し、元画像と同じフォルダーに保存します。
主な機能
- 01文字と画像の透かし
- 02明るさに応じた文字色
- 03角度の調整
- 04多言語テキスト描画
- 05ローカルファイル処理
- 06元画像と同じフォルダーへの出力
活用シーン
- 01写真への著作権表示の追加
- 02商品画像へのロゴ透かし
- 03文書画像への機密表示
MCP 対応
ローカル画像に透かしを付ける`add_text_watermark`と`add_image_watermark`ツールをMCPクライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
🎯 スタンプを押す - 画像に全画面のウォーターマークを適用
FastMCP で構築されたプロフェッショナルな画像ウォーターマークサービスです。テキストと画像の両方のウォーターマークに対応し、画像に合わせて色をインテリジェントに調整します。
中国語ドキュメント | 英語
✨ 主な機能
- 🖼️ 2 種類のウォーターマークモード:テキストと画像のウォーターマークに対応
- 📂 ローカルファイル処理:ローカル画像ファイルをプロフェッショナルに処理
- 🎨 スマートな色の調整:画像の明るさに応じて色を自動選択
- 📐 傾斜ウォーターマーク効果:角度をカスタマイズ可能(デフォルトは右上方向に 30°)
- 🌍 多言語対応:中国語、英語、日本語、韓国語などに対応
- 🎯 高密度のカバー範囲:隙間なく隅々まで完全にカバー
- 💎 高解像度:BICUBIC リサンプリングで滑らかなエッジを実現
- 📁 スマート保存:元の画像と同じディレクトリに自動保存
- ⚡ パフォーマンスの最適化:フォントのキャッシュ、インテリジェントな拡大縮小、メモリ管理
- 🛠️ 幅広い形式に対応:一般的な 7 種類の画像形式に対応
📖 使い方
MCP クライアントの設定
Cherry Studio(推奨)
-
Cherry Studio の設定を開く
- 「設定」→「MCP サーバー」に移動します
- 「サーバーを追加」をクリックします
-
MCP サーバーを設定

-
保存して接続
- 「保存」をクリックしてサーバーを追加します
- サーバーが自動的に接続されます
- Cherry Studio でウォーターマークツールを使用できます

Cursor
-
Cursor の設定を開く
- ショートカット
Cmd+,(Mac)またはCtrl+,(Windows/Linux)を使用します - または「設定」→「環境設定」をクリックします
- ショートカット
-
MCP サーバーを設定
- 「MCP サーバー」の設定項目を探します
- 以下の設定を追加します:
{
"mcpServers": {
"stampit": {
"command": "uvx",
"args": [
"mcp-stampit"
]
}
}
}
- 保存して再起動
- 設定ファイルを保存します
- 変更を反映するために Cursor を再起動します
- Cursor でウォーターマークツールを使用できます
📦 プレビュー




🚀 インストール
uv を使用する場合(推奨)
# Install dependencies
uv pip install fastmcp pillow
# Or install using project configuration
uv pip install -e .
pip を使用する場合
pip install fastmcp pillow
MCP サーバーを起動する(スタンドアロン)
python main.py
サーバーの起動後、次のような出力が表示されます:
╭─ FastMCP 2.0 ──────────────────────────────────────────────────────────────────╮
│ 🖥️ Server name: Stamp it - Apply a full-screen watermark to an image │
│ 📦 Transport: STDIO │
╰────────────────────────────────────────────────────────────────────────────────╯
利用可能な MCP ツール
add_text_watermark - テキストウォーターマーク
多言語に対応し、色を調整できるインテリジェントなテキストウォーターマークを画像に追加します。
パラメーター:
image_path(str):ローカル画像ファイルのパスwatermark_text(str):ウォーターマークのテキストangle(float, optional):ウォーターマークの傾斜角度。デフォルトは 30°
使用例:
# Basic text watermark
add_text_watermark("/Users/photos/vacation.jpg", "My Copyright")
# Custom angle
add_text_watermark("./document.png", "Confidential", angle=45)
# Multi-language watermark
add_text_watermark("photo.jpg", "Copyright © 2024 All Rights Reserved")
add_image_watermark - 画像ウォーターマーク
写真に画像ウォーターマークを追加します。ロゴ、署名などの画像をウォーターマークとして使用できます。
パラメーター:
image_path(str):ローカル画像ファイルのパスwatermark_image_path(str):ウォーターマーク画像ファイルのパスangle(float, optional):ウォーターマークの傾斜角度。デフォルトは 30°
使用例:
# Add logo watermark
add_image_watermark("/Users/photos/product.jpg", "/Users/logos/company_logo.png")
# Custom angle logo watermark
add_image_watermark("photo.jpg", "signature.png", angle=0)
# Brand watermark
add_image_watermark("marketing_image.jpg", "brand_watermark.png", angle=15)
🎨 ウォーターマークの機能
📝 テキストウォーターマークの機能
-
スマートな色の調整
- 明るい画像:暗いウォーターマーク(RGB 20,20,20)を自動的に使用します
- 暗い画像:明るい/白いウォーターマーク(RGB 240,240,240)を自動的に使用します
- 中程度の明るさ:最適なコントラストの色をインテリジェントに選択します
-
多言語フォント対応
- システムで最適な中国語フォントを自動検出して読み込みます
- PingFang SC、Microsoft YaHei、SimHei などに対応します
- 中国語、日本語、韓国語、英語をきれいに表示します
-
高品質なレンダリング
- フォントをキャッシュしてパフォーマンスを向上させます
- BICUBIC リサンプリングで滑らかなエッジを実現します
- 中央揃えのレンダリングと優れた回転効果を実現します
🖼️ 画像ウォーターマーク機能
- スマートスケーリング:適切なサイズに自動で拡大・縮小します(デフォルトは15%)
- 不透明度の調整:元画像に影響を与えず、不透明度を自動で調整します
- アスペクト比の維持:ウォーターマーク画像のアスペクト比を維持します
- 高品質な拡大・縮小:鮮明さを保つため、LANCZOS アルゴリズムを使用します
🎯 レイアウトアルゴリズム
- 隙間のない配置:画像の境界外から配置を開始し、100%カバーします
- 交互配置:奇数行と偶数行の位置をずらし、より自然な見た目にします
- 高密度配置:間隔アルゴリズムを最適化し、従来の方法より密度を40%高めています
- 端の処理:四隅を含むすべての端をウォーターマークで完全にカバーします
📁 ファイル出力
保存ルール
- 保存場所:元画像と同じディレクトリに自動保存します
- 命名規則:元のファイル名 +
_watermark+ 拡張子 - フォーマットの維持:元画像のフォーマットと品質を維持します
- 最適化保存:圧縮の最適化を有効にしてファイルサイズを削減します
出力例
Input: /Users/photos/vacation.jpg
Output: /Users/photos/vacation_watermark.jpg
Input: ./designs/logo.png
Output: ./designs/logo_watermark.png
Input: document.pdf.png
Output: document.pdf_watermark.png
🛠️ 対応画像フォーマット
| フォーマット | 拡張子 | 読み込み | 保存 | 透過 | 最適化 |
|---|---|---|---|---|---|
| JPEG | .jpg, .jpeg | ✅ | ✅ | ❌ | ✅ |
| PNG | .png | ✅ | ✅ | ✅ | ✅ |
| GIF | .gif | ✅ | ✅ | ✅ | ✅ |
| BMP | .bmp | ✅ | ✅ | ❌ | ✅ |
| TIFF | .tiff, .tif | ✅ | ✅ | ✅ | ✅ |
| WebP | .webp | ✅ | ✅ | ✅ | ✅ |
🌍 多言語フォントのサポート
対応言語
- 中国語:簡体字・繁体字
- 日本語:ひらがな、カタカナ、漢字
- 韓国語:ハングル
- 英語:ラテン文字セット
- その他:Unicode のほとんどの文字
フォントの優先順位
macOS システム:
- PingFang SC(Apple のデフォルト中国語フォント)
- STHeiti Light(中国語タイポグラフィ)
- Hiragino Sans GB(Winter Blue フォント)
- Arial Unicode(汎用 Unicode フォント)
Windows システム:
- Microsoft YaHei
- SimSun
- SimHei
Linux システム:
- DejaVu Sans
- Liberation Sans
- Noto Sans CJK
- WenQuanYi Zen Hei
📂 プロジェクト構成
stampit/
├── main.py # Main program and MCP server
├── pyproject.toml # Project configuration
├── README.md # English project documentation
├── README_CN.md # Chinese project documentation
├── uv.lock # Dependency lock file
└── LICENSE # License file
🧪 クイックテスト
テキストウォーターマークのテスト
# 1. Start server
python main.py
# 2. Call in MCP client
add_text_watermark("path/to/your/image.jpg", "Test Watermark")
画像ウォーターマークのテスト
# 1. Prepare a logo image
# 2. Call in MCP client
add_image_watermark("path/to/your/photo.jpg", "path/to/logo.png")
⚙️ 技術的な詳細
コアアルゴリズム
- 輝度計算:グレースケール変換 + ピクセル平均アルゴリズム
- 色の適応:輝度しきい値に基づく4段階分類システム
- 位置計算:交互配置のグリッド + 端のオフセットアルゴリズム
- 描画の最適化:BICUBIC/LANCZOS リサンプリング技術
パフォーマンスの最適化
- フォントキャッシュ:フォントファイルの繰り返し読み込みを回避します
- スマートスケーリング:速度向上のため、50x50 の小さな画像を使って輝度を計算します
- メモリ管理:一時レイヤーとキャッシュを適時解放します
- 一括処理:画像を効率的に一括処理できます
品質保証
- エッジの平滑化:高品質なリサンプリングアルゴリズムを使用します
- 色の忠実性:元画像の色空間とモードを保持します
- 透過処理:RGBA チャンネルを適切に処理します
- フォーマット互換性:異なる画像フォーマット間の変換をスマートに行います
🔧 高度な設定
WatermarkConfig クラスを変更することで、パラメーターを調整できます:
class WatermarkConfig:
DEFAULT_FONT_SIZE = 36 # Default font size
DEFAULT_ANGLE = 30 # Default tilt angle
SPACING_X_FACTOR = 1.1 # Horizontal spacing multiplier
SPACING_Y_FACTOR = 0.9 # Vertical spacing multiplier
BRIGHTNESS_THRESHOLDS = { # Brightness thresholds
'very_bright': 180,
'medium': 120,
'dark': 60
}
カスタムパラメーターの設定例
- 高密度のウォーターマーク:間隔倍率を小さくします(0.8、0.7)
- 低密度のウォーターマーク:間隔倍率を大きくします(1.5、1.3)
- 大きなフォント:フォントサイズを大きくします(48、54)
- 小さなフォント:フォントサイズを小さくします(24、30)
🎛️ 使用上のヒント
テキストウォーターマークのヒント
- 著作権情報:「© 2024 Company Name」の形式を使用します
- 多言語対応:中国語と英語を組み合わせると効果的です
- 角度の選択:30°は最も自然、45°はより目立ち、0°は文書向けです
画像ウォーターマークのヒント
- ロゴのデザイン:透明背景の PNG 形式を使用します
- サイズの調整:ロゴは大きくしすぎず、元画像の15%以内を推奨します
- 色の調和:元画像とのコントラストが適切なロゴの色を選びます
💡 ベストプラクティス
一括処理に関する推奨事項
# Recommended batch processing method
images = ["photo1.jpg", "photo2.jpg", "photo3.jpg"]
watermark_text = "© 2024 My Company"
for image_path in images:
result = add_text_watermark(image_path, watermark_text)
print(result)
パフォーマンス最適化の提案
- バッチ内で同じフォントサイズを使用すると、フォントのキャッシュを活用できます
- 角度を頻繁に変更しないことで、計算のオーバーヘッドを削減できます
- 小さいサイズの画像ウォーターマークを使用すると、処理速度が向上します
📄 ライセンス
このプロジェクトは Apache 2.0 ライセンスの下でライセンスされています。詳細は LICENSE ファイルをご覧ください。
🤝 貢献
Issue と Pull Request を歓迎します!
貢献ガイドライン
- プロジェクトをフォークします
- 機能ブランチを作成します
- 変更をコミットします
- Pull Request を送信します
📞 テクニカルサポート
質問や提案がある場合:
- GitHub Issues を送信します
- プロジェクトのドキュメントを確認します
- 開発チームに連絡します
🎉 Stamp it をご利用いただき、ありがとうございます!
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。