Clipboard to Supabase MCP Helper
クリップボードから Supabase MCP ヘルパーへ
システム クリップボードを監視し、コピーされたイメージを Supabase Storage にアップロードし、パブリック (または署名済み) URL をクリップボードに書き戻すローカル エージェント。
特徴
ゼロクリック画像ホスティング: 画像をコピーして、すぐに URL を取得
低レイテンシ: コピーから URL まで 800 ミリ秒未満
クロスプラットフォーム: macOS、Windows、Linuxで動作
MCP 統合: クリップボード画像のアップロードを MCP エンドポイントとして公開します
自動起動: システム起動時に実行するように設定する
効率的な検出: CPU 使用率が低いハッシュベースの重複排除
Related MCP server: ClipMCP
前提条件
Node.js 18歳以上
ストレージが有効になっている Supabase アカウント
プラットフォーム固有の依存関係:
macOS:
pngpaste(brew install pngpaste)Windows/Linux: ネイティブ OS クリップボード アクセス
インストール
リポジトリをクローンします。
git clone https://github.com/martinbowling/clipboard-to-supabase-mcp-helper.git
cd clipboard-to-supabase-mcp-helper依存関係をインストールします:
npm install.env.exampleに基づいて.envファイルを作成します。
SUPABASE_URL=https://<project>.supabase.co
SUPABASE_SERVICE_ROLE_KEY=your-service-role-key
BUCKET=media
MCP_PORT=3333Supabase 接続をテストします。
npm run test:supabaseプロジェクトをビルドします。
npm run buildシステム サービスとしてインストールします。
macOSの場合:
npm run install:macosLinuxの場合:
npm run install:linuxWindowsの場合:
npm run install:windows使用法
インストールして実行すると、ヘルパーは次のことを行います。
クリップボードの画像の変更を監視します(300 ミリ秒ごとにポーリング)
コピーした画像をSupabaseバケットにアップロードします。
公開URLをクリップボードに戻し、貼り付けられるようにします
サービスの実行
クリップボード ヘルパーは、次の 2 つのモードで実行できます。
Stdio モード (デフォルト)
npm startこれは、StdioServerTransport を使用して MCP サーバーを実行し、コマンドラインでの使用に最適です。
HTTPモード
npm run start:httpこれにより、適切な REST API エンドポイントを使用して、ポート 3333 (構成可能) で Express HTTP サーバーが実行されます。
MCP統合
ヘルパーは次の MCP エンドポイントを公開します。
クリップボード画像をアップロード
HTTP サーバー モードの場合:
POST http://localhost:3333/mcpリクエスト本文:
{
"id": "1",
"jsonrpc": "2.0",
"method": "tool",
"params": {
"name": "upload_clipboard_image",
"input": {}
}
}応答:
{
"id": "1",
"jsonrpc": "2.0",
"result": {
"content": [
{
"type": "text",
"text": "https://your-project.supabase.co/storage/v1/object/public/media/clips/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.png"
}
]
}
}古いファイルのクリーンアップ
ヘルパーは、古いファイルのクリーンアップを手動でトリガーするための MCP エンドポイントも提供します。
リクエスト本文:
{
"id": "1",
"jsonrpc": "2.0",
"method": "tool",
"params": {
"name": "cleanup_old_files",
"input": {
"days": 30
}
}
}応答:
{
"id": "1",
"jsonrpc": "2.0",
"result": {
"content": [
{
"type": "text",
"text": "Cleanup completed: Deleted 5 files older than 30 days. Failed: 0."
}
]
}
}daysパラメータはオプションです。指定されていない場合は、 RETENTION_DAYS環境変数の値が使用されます。
仕組み
変更検出: 300msごとにクリップボードをポーリングし、画像データのSHA-1ハッシュを計算します。
重複排除: ハッシュ比較に基づいて新しいイメージまたは変更されたイメージのみを処理します
プラットフォーム適応: プラットフォーム固有の方法を使用してクリップボード画像をキャプチャします
Supabase 統合: 一意の UUID を持つ画像を Supabase バケットにアップロードします
MCPエンドポイント:モデルコンテキストプロトコルを介してAIエージェントに機能を公開します
自動クリーンアップ: 設定された保存期間(デフォルト: 30 日)よりも古いイメージを定期的に削除します。
プラットフォーム固有の注意事項
macOS
pngpasteが必要です:brew install pngpasteでインストールしてください自動起動にはLaunchAgentsを使用する
ウィンドウズ
画像キャプチャには PowerShell の System.Windows.Forms.Clipboard を使用します
自動起動にWindowsレジストリを使用する
リナックス
クリップボードへのアクセスには xclip (X11) または wl-paste (Wayland) を使用します
自動起動にはsystemdを使用する
発達
# Run with live reload (stdio mode)
npm run dev
# Run with live reload (HTTP mode)
npm run dev:http
# Build for production
npm run build
# Run stdio version
npm start
# Run HTTP version
npm run start:httpライセンス
マサチューセッツ工科大学
Available Tools
2 toolscleanup_old_filesD
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upload_clipboard_imageD
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
v1.0.0- Changed
cleanup_old_files1 field changed- added
Input schema / propertiesAdded value: +{}
- Changed
upload_clipboard_image1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
2 tool updates
- First observed
cleanup_old_files - First observed
upload_clipboard_image
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: cleanup_old_files handles file management, while upload_clipboard_image handles image uploads. There is no overlap in functionality, making them easy to distinguish.
Both tools follow a consistent verb_noun pattern with snake_case naming: cleanup_old_files and upload_clipboard_image. The naming is predictable and uniform across the set.
With only 2 tools, the server feels thin for a 'Clipboard to Supabase MCP Helper' that might imply broader clipboard or Supabase integration. This minimal set likely leaves gaps in functionality.
Inferred domain includes clipboard operations and Supabase integration, but the tools only cover image uploads and file cleanup. Missing obvious functions like handling text/data from clipboard or other Supabase CRUD operations.
Maintenance
Related MCP Connectors
Agent-first image hosting — upload images and get instant CDN URLs.
Build agents to automate any background task. Works with your ChatGPT/Claude subscription.
x402 pay-per-call infra for agents: $0.03 image generation, Postgres, auth, storage, functions.
Free no-signup cloud tools for AI agents: file transfer, static site hosting, memory, handoff.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables text-only AI models to understand clipboard images by describing them through a vision model, eliminating manual file saving.1243MIT
- AlicenseNot gradedqualityDmaintenanceA standalone clipboard history MCP server for macOS that monitors clipboard in real-time, stores history locally in SQLite, and exposes it to any MCP-compatible AI assistant.5MIT
- AlicenseNot gradedqualityDmaintenanceProvides AI agents and coding assistants with image generation and editing capabilities using OpenAI's GPT-image-1 model, with support for local or Supabase storage.3MIT
- AlicenseAqualityDmaintenanceGives vision-less LLMs the ability to recognize clipboard screenshots and images by proxying to an OpenAI-compatible vision model.116 npm2MIT