计算机视觉深度学习服务器

基于Model Context Protocol的Python服务器,提供图像对象检测、分割和姿态估计功能。

  • by MRonaldo-gif
  • Python
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 mronaldo-gif/mcp-server-cvdlt

使用说明

CVDLT(计算机视觉和深度学习工具)的MCP服务器

该仓库基于Ultralytics和Python SDK的模型上下文协议 相关链接:

MCP游乐场(客户端)-https://github.com/MRonaldo-gif/mcp-playground-local

Ultralytics-https://github.com/ultralytics/ultralytics

Python的MCPhttps://github.com/modelcontextprotocol/python-sdk

Python服务器实现了用于图像对象检测、分割和姿态估计操作的模型上下文协议(MCP)。

特性

  • 使用YOLOv10检测图像中的对象
  • 使用YOLOv8分割图像中的对象
  • 使用Ultralytics SAM分割整个图像
  • 使用YOLOv8估计图像中的人体姿势
  • 支持本地和网络图像输入
  • 用于客户端交互的MCP工具集成
  • Stdio和SSE传输协议

备注:服务器需要有效的图像路径或URL以及对以下模型文件的访问权限: yolov10b.pt (YOLOv10检测), yolov8n-seg.pt (YOLOv8分割), yolov8n-pose.pt (YOLOv8姿态估计),以及 sam_b.pt (Ultralytics SAM)。

全部

  • 三维检测
  • AIGC(GAN,扩散)
  • Denso估算
  • 部署DL(深度学习)模型

QucikStart

再进行

uv sync
//如需要清华源
uv sync --index https://pypi.tuna.tsinghua.edu.cn/simple --extra-index-url https://pypi.org/simple

uv pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

启动服务器

  1. stdio 模式:

    python server.py
    

    输出:

    使用 stdio 传输启动 MCP 服务器(YOLO)
    
  2. SSE 模式:

    python server.py sse [端口号]
    

    示例:

    python server.py sse 8080
    

    输出:

    在端口 8080 上启动 MCP 服务器(YOLO),使用 SSE 传输
    

此外,用户需要将权重下载到。/检查点目录。 下载链接🔗:https://docs.ultralytics.com/models/yolov10/,https://docs.ultralytics.com/models/yolov8/,https://docs.ultralytics.com/models/sam-2/

├── 检查点 │ ├── sam_b.pt │ ├── yolov10b.pt │ ├── yolov8-pose.pt │ └── yolov8-seg.pt

API

资源

  • image://system:图像处理操作界面

工具

  • 检测对象
    • 使用YOLOv10检测图像中的对象
    • 输入: image_url (字符串)
    • 支持本地路径(file:// 或相对)和网络URL(http:// 或 https://)
    • 返回带有边界框、置信度分数和类标签的检测对象的JSON数组
    • 输出示例: [{"box": [x, y, w, h], "confidence": 0.9, "class": "person"}, ...]
  • 分段对象
    • 使用YOLOv8分割图像中的对象
    • 输入: image_url (字符串)
    • 支持本地路径(file:// 或相对)和网络URL(http:// 或 https://)
    • 返回带有边界框、置信度分数和类标签的分段对象的JSON数组
    • 输出示例: [{"box": [x, y, w, h], "confidence": 0.85, "class": "car"}, ...]
  • 分段图像
    • 使用Ultralytics SAM分割整个图像
    • 输入: image_url (字符串)
    • 支持本地路径(file:// 或相对)和网络URL(http:// 或 https://)
    • 返回带有边界框、面积和置信度分数的分割区域的JSON数组
    • 输出示例: [{"bbox": [x, y, w, h], "area": 2500, "confidence": 0.95}, ...]
  • 估计姿势
    • 使用YOLOv8估计图像中的人体姿势
    • 输入: image_url (字符串)
    • 支持本地路径(file:// 或相对)和网络URL(http:// 或 https://)
    • 返回检测到的姿势的JSON数组,其中包含关键点坐标和置信度得分
    • 输出示例: [{"keypoints": [[x1, y1], [x2, y2], ...], "confidence": [0.9, 0.8, ...]}, ...]

使用Claude Desktop

将此添加到您的 claude_desktop_config.json:

备注:您可以通过将沙盒目录装载到以下位置来向服务器提供沙盒目录 /projects.添加 ro 标志将使目录对服务器只读。

SSE

{
  "mcpServers": {
    "server-with-yolo": {
      "url": "http://localhost:8080/sse"
    }
  }
}