mcpField
S
Stamp it - Apply a full-screen watermark to an image

Stamp it - Apply a full-screen watermark to an image

ローカル
github.com/LiuHao-1443メディア・デザイン268 週間前に更新

Stamp it - Apply a full-screen watermark to an image について

Stamp itは、ローカル画像を処理するMCP水印サーバーです。文字または画像の透かしを敷き詰め、画像の明るさに応じて文字色を調整し、元画像と同じフォルダーに保存します。

主な機能

  1. 01文字と画像の透かし
  2. 02明るさに応じた文字色
  3. 03角度の調整
  4. 04多言語テキスト描画
  5. 05ローカルファイル処理
  6. 06元画像と同じフォルダーへの出力

活用シーン

  1. 01写真への著作権表示の追加
  2. 02商品画像へのロゴ透かし
  3. 03文書画像への機密表示

MCP 対応

ローカル画像に透かしを付ける`add_text_watermark`と`add_image_watermark`ツールをMCPクライアントに公開します。

設定

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

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

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

パッケージ
pypimcp-stampit

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

🎯 スタンプを押す - 画像に全画面のウォーターマークを適用

FastMCP で構築されたプロフェッショナルな画像ウォーターマークサービスです。テキストと画像の両方のウォーターマークに対応し、画像に合わせて色をインテリジェントに調整します。

中国語ドキュメント | 英語

✨ 主な機能

  • 🖼️ 2 種類のウォーターマークモード:テキストと画像のウォーターマークに対応
  • 📂 ローカルファイル処理:ローカル画像ファイルをプロフェッショナルに処理
  • 🎨 スマートな色の調整:画像の明るさに応じて色を自動選択
  • 📐 傾斜ウォーターマーク効果:角度をカスタマイズ可能(デフォルトは右上方向に 30°)
  • 🌍 多言語対応:中国語、英語、日本語、韓国語などに対応
  • 🎯 高密度のカバー範囲:隙間なく隅々まで完全にカバー
  • 💎 高解像度:BICUBIC リサンプリングで滑らかなエッジを実現
  • 📁 スマート保存:元の画像と同じディレクトリに自動保存
  • ⚡ パフォーマンスの最適化:フォントのキャッシュ、インテリジェントな拡大縮小、メモリ管理
  • 🛠️ 幅広い形式に対応:一般的な 7 種類の画像形式に対応

📖 使い方

MCP クライアントの設定
Cherry Studio(推奨)
  1. Cherry Studio の設定を開く

    • 「設定」→「MCP サーバー」に移動します
    • 「サーバーを追加」をクリックします
  2. MCP サーバーを設定

    Cherry Studio MCP 設定

  3. 保存して接続

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

    Cherry Studio MCP ツール

Cursor
  1. Cursor の設定を開く

    • ショートカット Cmd+,(Mac)または Ctrl+,(Windows/Linux)を使用します
    • または「設定」→「環境設定」をクリックします
  2. MCP サーバーを設定

    • 「MCP サーバー」の設定項目を探します
    • 以下の設定を追加します:
{
  "mcpServers": {
    "stampit": {
      "command": "uvx",
      "args": [
        "mcp-stampit"
      ]
    }
  }
}
  1. 保存して再起動
    • 設定ファイルを保存します
    • 変更を反映するために Cursor を再起動します
    • Cursor でウォーターマークツールを使用できます

📦 プレビュー

プレビュー-1.png

プレビュー-2.png

プレビュー-3.png

プレビュー-4.png

🚀 インストール

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 システム:

  1. PingFang SC(Apple のデフォルト中国語フォント)
  2. STHeiti Light(中国語タイポグラフィ)
  3. Hiragino Sans GB(Winter Blue フォント)
  4. Arial Unicode(汎用 Unicode フォント)

Windows システム:

  1. Microsoft YaHei
  2. SimSun
  3. SimHei

Linux システム:

  1. DejaVu Sans
  2. Liberation Sans
  3. Noto Sans CJK
  4. 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)

🎛️ 使用上のヒント

テキストウォーターマークのヒント
  1. 著作権情報:「© 2024 Company Name」の形式を使用します
  2. 多言語対応:中国語と英語を組み合わせると効果的です
  3. 角度の選択:30°は最も自然、45°はより目立ち、0°は文書向けです
画像ウォーターマークのヒント
  1. ロゴのデザイン:透明背景の PNG 形式を使用します
  2. サイズの調整:ロゴは大きくしすぎず、元画像の15%以内を推奨します
  3. 色の調和:元画像とのコントラストが適切なロゴの色を選びます

💡 ベストプラクティス

一括処理に関する推奨事項
# 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)
パフォーマンス最適化の提案
  1. バッチ内で同じフォントサイズを使用すると、フォントのキャッシュを活用できます
  2. 角度を頻繁に変更しないことで、計算のオーバーヘッドを削減できます
  3. 小さいサイズの画像ウォーターマークを使用すると、処理速度が向上します

📄 ライセンス

このプロジェクトは Apache 2.0 ライセンスの下でライセンスされています。詳細は LICENSE ファイルをご覧ください。

🤝 貢献

Issue と Pull Request を歓迎します!

貢献ガイドライン
  1. プロジェクトをフォークします
  2. 機能ブランチを作成します
  3. 変更をコミットします
  4. Pull Request を送信します

📞 テクニカルサポート

質問や提案がある場合:

  1. GitHub Issues を送信します
  2. プロジェクトのドキュメントを確認します
  3. 開発チームに連絡します

🎉 Stamp it をご利用いただき、ありがとうございます!

コメント

MCP は初めてですか?

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

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