mcp-image-cutout


Namemcp-image-cutout JSON
Version 0.1.0 PyPI version JSON
download
home_pageNone
SummaryMCP服务器:火山引擎图像编辑工具,提供显著性分割、背景移除等图像处理功能
upload_time2025-08-05 13:24:15
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseMIT
keywords ai computer-vision cutout image mcp volcengine
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # MCP 图像抠图服务器

这是一个基于Model Context Protocol (MCP)的服务器,专门提供火山引擎图像抠图功能。

## 功能特性

- **智能抠图**: 使用火山引擎的显著性分割技术,自动识别并抠出图像中的主要对象
- **批量处理**: 支持同时处理多张图像
- **自动上传**: 抠图结果自动上传到服务器并返回URL链接
- **本地保存**: 可选择保存抠图结果到本地文件
- **高精度**: 基于显著性检测的精确分割算法

## 安装

### 从 PyPI 安装

```bash
pip install mcp-image-cutout
```

### 从源码安装

```bash
git clone https://github.com/fengjinchao/mcp-image-cutout.git
cd mcp-image-cutout
pip install -e .
```

### 2. 配置API密钥

推荐使用环境变量设置API密钥:

```bash
export VOLC_ACCESS_KEY="your_access_key"
export VOLC_SECRET_KEY="your_secret_key"
```

或者在代码中直接设置(不推荐用于生产环境)。

### 3. 运行服务器

```bash
# 使用命令行工具
mcp-image-cutout

# 或直接运行模块
python -m mcp_image_cutout.server
```

## 在Claude Desktop中使用

在Claude Desktop的配置文件中添加以下配置:

**macOS/Linux**: `~/Library/Application Support/Claude/claude_desktop_config.json`

```json
{
  "mcpServers": {
    "抠图工具": {
      "command": "mcp-image-cutout",
      "env": {
        "VOLC_ACCESS_KEY": "your_access_key",
        "VOLC_SECRET_KEY": "your_secret_key"
      }
    }
  }
}
```

## 可用工具

### image_cutout
智能图像抠图,使用显著性分割自动识别并抠出图像中的主要对象,自动上传到服务器并返回图片URL。

**参数**:
- `image_urls`: 图像URL列表,支持多张图像同时处理

**返回**:
- 单张图片:直接返回图片URL
- 多张图片:返回所有图片URL的列表

**示例**:
```
请帮我抠出这张图片中的主要对象:https://example.com/image.jpg
```

```
批量抠图这些图片:
- https://example.com/image1.jpg
- https://example.com/image2.jpg
```

## 抠图原理

使用的 `saliency_seg` 显著性分割算法:
- 基于视觉显著性检测图像中最重要的区域
- 精确分割显著对象的轮廓
- 生成高质量的抠图结果
- 适用于各种复杂背景的图像处理

## 上传功能

抠图完成后,系统会自动:
1. 将base64编码的图像数据转换为PNG文件
2. 上传到指定服务器:`https://www.mcpcn.cc/api/fileUploadAndDownload/uploadMcpFile`
3. 返回可访问的图片URL链接
4. 支持批量上传多张抠图结果

**上传接口返回格式**:
```json
{
    "code": 0,
    "data": {
        "url": "https://juezhi.oss-cn-shanghai.aliyuncs.com/file/uploads/mcp/xxx.webp"
    },
    "msg": "成功"
}
```

## 注意事项

1. 确保图像URL可以公开访问
2. 处理结果会以base64格式返回,大图像可能需要较长处理时间
3. API调用有频率限制,请合理使用
4. 生产环境中请使用环境变量设置API密钥

## 故障排除

### 常见问题

1. **服务器无法启动**
   - 检查Python版本(需要3.10+)
   - 确认所有依赖已正确安装

2. **API调用失败**
   - 验证API密钥是否正确
   - 检查网络连接
   - 确认图像URL可访问

3. **Claude Desktop中看不到工具**
   - 检查配置文件语法
   - 确认路径是绝对路径
   - 重启Claude Desktop

### 日志查看

服务器日志会输出到stderr,可以通过以下方式查看:

```bash
# 查看Claude Desktop的MCP日志
tail -f ~/Library/Logs/Claude/mcp-server-图像编辑.log
```

## 开发

如需修改或扩展功能,请参考:
- [MCP官方文档](https://modelcontextprotocol.io/)
- [API文档](https://www.volcengine.com/docs/6791/65681)
            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "mcp-image-cutout",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "ai, computer-vision, cutout, image, mcp, volcengine",
    "author": null,
    "author_email": "fengjinchao <fengjinchao@example.com>",
    "download_url": "https://files.pythonhosted.org/packages/cd/77/1c906fe4b04759c9af17cbaa52febd6314585d6dbdfca6c162aba09bffbb/mcp_image_cutout-0.1.0.tar.gz",
    "platform": null,
    "description": "# MCP \u56fe\u50cf\u62a0\u56fe\u670d\u52a1\u5668\n\n\u8fd9\u662f\u4e00\u4e2a\u57fa\u4e8eModel Context Protocol (MCP)\u7684\u670d\u52a1\u5668\uff0c\u4e13\u95e8\u63d0\u4f9b\u706b\u5c71\u5f15\u64ce\u56fe\u50cf\u62a0\u56fe\u529f\u80fd\u3002\n\n## \u529f\u80fd\u7279\u6027\n\n- **\u667a\u80fd\u62a0\u56fe**: \u4f7f\u7528\u706b\u5c71\u5f15\u64ce\u7684\u663e\u8457\u6027\u5206\u5272\u6280\u672f\uff0c\u81ea\u52a8\u8bc6\u522b\u5e76\u62a0\u51fa\u56fe\u50cf\u4e2d\u7684\u4e3b\u8981\u5bf9\u8c61\n- **\u6279\u91cf\u5904\u7406**: \u652f\u6301\u540c\u65f6\u5904\u7406\u591a\u5f20\u56fe\u50cf\n- **\u81ea\u52a8\u4e0a\u4f20**: \u62a0\u56fe\u7ed3\u679c\u81ea\u52a8\u4e0a\u4f20\u5230\u670d\u52a1\u5668\u5e76\u8fd4\u56deURL\u94fe\u63a5\n- **\u672c\u5730\u4fdd\u5b58**: \u53ef\u9009\u62e9\u4fdd\u5b58\u62a0\u56fe\u7ed3\u679c\u5230\u672c\u5730\u6587\u4ef6\n- **\u9ad8\u7cbe\u5ea6**: \u57fa\u4e8e\u663e\u8457\u6027\u68c0\u6d4b\u7684\u7cbe\u786e\u5206\u5272\u7b97\u6cd5\n\n## \u5b89\u88c5\n\n### \u4ece PyPI \u5b89\u88c5\n\n```bash\npip install mcp-image-cutout\n```\n\n### \u4ece\u6e90\u7801\u5b89\u88c5\n\n```bash\ngit clone https://github.com/fengjinchao/mcp-image-cutout.git\ncd mcp-image-cutout\npip install -e .\n```\n\n### 2. \u914d\u7f6eAPI\u5bc6\u94a5\n\n\u63a8\u8350\u4f7f\u7528\u73af\u5883\u53d8\u91cf\u8bbe\u7f6eAPI\u5bc6\u94a5\uff1a\n\n```bash\nexport VOLC_ACCESS_KEY=\"your_access_key\"\nexport VOLC_SECRET_KEY=\"your_secret_key\"\n```\n\n\u6216\u8005\u5728\u4ee3\u7801\u4e2d\u76f4\u63a5\u8bbe\u7f6e\uff08\u4e0d\u63a8\u8350\u7528\u4e8e\u751f\u4ea7\u73af\u5883\uff09\u3002\n\n### 3. \u8fd0\u884c\u670d\u52a1\u5668\n\n```bash\n# \u4f7f\u7528\u547d\u4ee4\u884c\u5de5\u5177\nmcp-image-cutout\n\n# \u6216\u76f4\u63a5\u8fd0\u884c\u6a21\u5757\npython -m mcp_image_cutout.server\n```\n\n## \u5728Claude Desktop\u4e2d\u4f7f\u7528\n\n\u5728Claude Desktop\u7684\u914d\u7f6e\u6587\u4ef6\u4e2d\u6dfb\u52a0\u4ee5\u4e0b\u914d\u7f6e\uff1a\n\n**macOS/Linux**: `~/Library/Application Support/Claude/claude_desktop_config.json`\n\n```json\n{\n  \"mcpServers\": {\n    \"\u62a0\u56fe\u5de5\u5177\": {\n      \"command\": \"mcp-image-cutout\",\n      \"env\": {\n        \"VOLC_ACCESS_KEY\": \"your_access_key\",\n        \"VOLC_SECRET_KEY\": \"your_secret_key\"\n      }\n    }\n  }\n}\n```\n\n## \u53ef\u7528\u5de5\u5177\n\n### image_cutout\n\u667a\u80fd\u56fe\u50cf\u62a0\u56fe\uff0c\u4f7f\u7528\u663e\u8457\u6027\u5206\u5272\u81ea\u52a8\u8bc6\u522b\u5e76\u62a0\u51fa\u56fe\u50cf\u4e2d\u7684\u4e3b\u8981\u5bf9\u8c61\uff0c\u81ea\u52a8\u4e0a\u4f20\u5230\u670d\u52a1\u5668\u5e76\u8fd4\u56de\u56fe\u7247URL\u3002\n\n**\u53c2\u6570**:\n- `image_urls`: \u56fe\u50cfURL\u5217\u8868\uff0c\u652f\u6301\u591a\u5f20\u56fe\u50cf\u540c\u65f6\u5904\u7406\n\n**\u8fd4\u56de**:\n- \u5355\u5f20\u56fe\u7247\uff1a\u76f4\u63a5\u8fd4\u56de\u56fe\u7247URL\n- \u591a\u5f20\u56fe\u7247\uff1a\u8fd4\u56de\u6240\u6709\u56fe\u7247URL\u7684\u5217\u8868\n\n**\u793a\u4f8b**:\n```\n\u8bf7\u5e2e\u6211\u62a0\u51fa\u8fd9\u5f20\u56fe\u7247\u4e2d\u7684\u4e3b\u8981\u5bf9\u8c61\uff1ahttps://example.com/image.jpg\n```\n\n```\n\u6279\u91cf\u62a0\u56fe\u8fd9\u4e9b\u56fe\u7247\uff1a\n- https://example.com/image1.jpg\n- https://example.com/image2.jpg\n```\n\n## \u62a0\u56fe\u539f\u7406\n\n\u4f7f\u7528\u7684 `saliency_seg` \u663e\u8457\u6027\u5206\u5272\u7b97\u6cd5\uff1a\n- \u57fa\u4e8e\u89c6\u89c9\u663e\u8457\u6027\u68c0\u6d4b\u56fe\u50cf\u4e2d\u6700\u91cd\u8981\u7684\u533a\u57df\n- \u7cbe\u786e\u5206\u5272\u663e\u8457\u5bf9\u8c61\u7684\u8f6e\u5ed3\n- \u751f\u6210\u9ad8\u8d28\u91cf\u7684\u62a0\u56fe\u7ed3\u679c\n- \u9002\u7528\u4e8e\u5404\u79cd\u590d\u6742\u80cc\u666f\u7684\u56fe\u50cf\u5904\u7406\n\n## \u4e0a\u4f20\u529f\u80fd\n\n\u62a0\u56fe\u5b8c\u6210\u540e\uff0c\u7cfb\u7edf\u4f1a\u81ea\u52a8\uff1a\n1. \u5c06base64\u7f16\u7801\u7684\u56fe\u50cf\u6570\u636e\u8f6c\u6362\u4e3aPNG\u6587\u4ef6\n2. \u4e0a\u4f20\u5230\u6307\u5b9a\u670d\u52a1\u5668\uff1a`https://www.mcpcn.cc/api/fileUploadAndDownload/uploadMcpFile`\n3. \u8fd4\u56de\u53ef\u8bbf\u95ee\u7684\u56fe\u7247URL\u94fe\u63a5\n4. \u652f\u6301\u6279\u91cf\u4e0a\u4f20\u591a\u5f20\u62a0\u56fe\u7ed3\u679c\n\n**\u4e0a\u4f20\u63a5\u53e3\u8fd4\u56de\u683c\u5f0f**\uff1a\n```json\n{\n    \"code\": 0,\n    \"data\": {\n        \"url\": \"https://juezhi.oss-cn-shanghai.aliyuncs.com/file/uploads/mcp/xxx.webp\"\n    },\n    \"msg\": \"\u6210\u529f\"\n}\n```\n\n## \u6ce8\u610f\u4e8b\u9879\n\n1. \u786e\u4fdd\u56fe\u50cfURL\u53ef\u4ee5\u516c\u5f00\u8bbf\u95ee\n2. \u5904\u7406\u7ed3\u679c\u4f1a\u4ee5base64\u683c\u5f0f\u8fd4\u56de\uff0c\u5927\u56fe\u50cf\u53ef\u80fd\u9700\u8981\u8f83\u957f\u5904\u7406\u65f6\u95f4\n3. API\u8c03\u7528\u6709\u9891\u7387\u9650\u5236\uff0c\u8bf7\u5408\u7406\u4f7f\u7528\n4. \u751f\u4ea7\u73af\u5883\u4e2d\u8bf7\u4f7f\u7528\u73af\u5883\u53d8\u91cf\u8bbe\u7f6eAPI\u5bc6\u94a5\n\n## \u6545\u969c\u6392\u9664\n\n### \u5e38\u89c1\u95ee\u9898\n\n1. **\u670d\u52a1\u5668\u65e0\u6cd5\u542f\u52a8**\n   - \u68c0\u67e5Python\u7248\u672c\uff08\u9700\u89813.10+\uff09\n   - \u786e\u8ba4\u6240\u6709\u4f9d\u8d56\u5df2\u6b63\u786e\u5b89\u88c5\n\n2. **API\u8c03\u7528\u5931\u8d25**\n   - \u9a8c\u8bc1API\u5bc6\u94a5\u662f\u5426\u6b63\u786e\n   - \u68c0\u67e5\u7f51\u7edc\u8fde\u63a5\n   - \u786e\u8ba4\u56fe\u50cfURL\u53ef\u8bbf\u95ee\n\n3. **Claude Desktop\u4e2d\u770b\u4e0d\u5230\u5de5\u5177**\n   - \u68c0\u67e5\u914d\u7f6e\u6587\u4ef6\u8bed\u6cd5\n   - \u786e\u8ba4\u8def\u5f84\u662f\u7edd\u5bf9\u8def\u5f84\n   - \u91cd\u542fClaude Desktop\n\n### \u65e5\u5fd7\u67e5\u770b\n\n\u670d\u52a1\u5668\u65e5\u5fd7\u4f1a\u8f93\u51fa\u5230stderr\uff0c\u53ef\u4ee5\u901a\u8fc7\u4ee5\u4e0b\u65b9\u5f0f\u67e5\u770b\uff1a\n\n```bash\n# \u67e5\u770bClaude Desktop\u7684MCP\u65e5\u5fd7\ntail -f ~/Library/Logs/Claude/mcp-server-\u56fe\u50cf\u7f16\u8f91.log\n```\n\n## \u5f00\u53d1\n\n\u5982\u9700\u4fee\u6539\u6216\u6269\u5c55\u529f\u80fd\uff0c\u8bf7\u53c2\u8003\uff1a\n- [MCP\u5b98\u65b9\u6587\u6863](https://modelcontextprotocol.io/)\n- [API\u6587\u6863](https://www.volcengine.com/docs/6791/65681)",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "MCP\u670d\u52a1\u5668\uff1a\u706b\u5c71\u5f15\u64ce\u56fe\u50cf\u7f16\u8f91\u5de5\u5177\uff0c\u63d0\u4f9b\u663e\u8457\u6027\u5206\u5272\u3001\u80cc\u666f\u79fb\u9664\u7b49\u56fe\u50cf\u5904\u7406\u529f\u80fd",
    "version": "0.1.0",
    "project_urls": {
        "Documentation": "https://github.com/fengjinchao/mcp-image-cutout#readme",
        "Homepage": "https://github.com/fengjinchao/mcp-image-cutout",
        "Issues": "https://github.com/fengjinchao/mcp-image-cutout/issues",
        "Repository": "https://github.com/fengjinchao/mcp-image-cutout"
    },
    "split_keywords": [
        "ai",
        " computer-vision",
        " cutout",
        " image",
        " mcp",
        " volcengine"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "828ce7c08bffc4987e887a4c94483ba70850d73153b6161ce811392a6b20ed8a",
                "md5": "8db3160fb9db7b3e768315099496332f",
                "sha256": "2948613ce115a4646dc56290f3a9c29851206254895b54fd6cb5146a05df8a30"
            },
            "downloads": -1,
            "filename": "mcp_image_cutout-0.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "8db3160fb9db7b3e768315099496332f",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 7274,
            "upload_time": "2025-08-05T13:24:12",
            "upload_time_iso_8601": "2025-08-05T13:24:12.296586Z",
            "url": "https://files.pythonhosted.org/packages/82/8c/e7c08bffc4987e887a4c94483ba70850d73153b6161ce811392a6b20ed8a/mcp_image_cutout-0.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "cd771c906fe4b04759c9af17cbaa52febd6314585d6dbdfca6c162aba09bffbb",
                "md5": "475d8a8f583c6dc1b4ef9b98bc0610b1",
                "sha256": "6194bbca163b262b36a7eb1f1af7f4c072a2f4570e435c5e95a034e75018ec46"
            },
            "downloads": -1,
            "filename": "mcp_image_cutout-0.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "475d8a8f583c6dc1b4ef9b98bc0610b1",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 73962,
            "upload_time": "2025-08-05T13:24:15",
            "upload_time_iso_8601": "2025-08-05T13:24:15.110638Z",
            "url": "https://files.pythonhosted.org/packages/cd/77/1c906fe4b04759c9af17cbaa52febd6314585d6dbdfca6c162aba09bffbb/mcp_image_cutout-0.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-05 13:24:15",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "fengjinchao",
    "github_project": "mcp-image-cutout#readme",
    "github_not_found": true,
    "lcname": "mcp-image-cutout"
}
        
Elapsed time: 0.70757s