这是一个本地代理工具,它会监控系统剪贴板,将复制的任何图像上传到Supabase存储,然后把公共(或签名)URL写回到剪贴板。
本工具能自动监控剪贴板中的图像变化,将复制的图像上传到你的Supabase存储桶,并把公共URL放回剪贴板,方便你随时粘贴。
pngpaste(使用brew install pngpaste进行安装)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://.supabase.co
SUPABASE_SERVICE_ROLE_KEY=your-service-role-key
BUCKET=media
MCP_PORT=3333
npm run test:supabase
npm run build
npm run install:macos
npm run install:linux
npm run install:windows
安装并运行后,该工具会执行以下操作:
剪贴板助手可以在两种模式下运行:
npm start
此模式使用StdioServerTransport运行MCP服务器,适合命令行使用。
npm run start:http
此模式在端口3333(可配置)上运行一个Express HTTP服务器,并提供一个合适的REST API端点。
该工具公开了以下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环境变量中的值。
pngpaste:使用brew install pngpaste进行安装。System.Windows.Forms.Clipboard进行图像捕获。# 实时重新加载运行(标准输入输出模式)
npm run dev
# 实时重新加载运行(HTTP模式)
npm run dev:http
# 生产环境构建
npm run build
# 运行标准输入输出版本
npm start
# 运行HTTP版本
npm run start:http
本项目采用MIT许可证。