Skip to main content

MCP Polygon Renderer

PyPI Python License MCP

Servidor MCP que permite a agentes de IA poligonizar imágenes con OpenCV, usando grillas de referencia o coordenadas directas en píxeles.

Por qué existe

Los modelos de lenguaje no pueden dibujar sobre imágenes. Esta herramienta les da esa capacidad: el agente razonifica sobre una imagen con grilla, define regiones usando celdas (ej: "B3", "C3", "D3"), y el servidor las renderiza con precisión de píxeles.

Instalación

pip install mcp-polygon-renderer

O desde fuente:

git clone https://github.com/bentlyy/mcp-polygon-renderer.git
cd mcp-polygon-renderer
pip install -e .

Configuración

Claude Desktop

{
  "mcpServers": {
    "polygon-renderer": {
      "command": "python",
      "args": ["-m", "mcp_polygon_renderer"]
    }
  }
}

opencode

{
  "mcp": {
    "polygon-renderer": {
      "command": "python",
      "args": ["-m", "mcp_polygon_renderer"]
    }
  }
}

Herramientas

Herramienta Descripción
preparar_imagen Superpone grilla etiquetada (A1, B2...) y devuelve el mapa de celdas en píxeles
renderizar_desde_grid Renderiza polígonos a partir de celdas de grilla
renderizar_poligonos Renderiza polígonos con coordenadas directas en píxeles
detectar_regiones Detecta y colorea automáticamente regiones delimitadas por líneas
ver_imagen Devuelve una imagen en base64 para que el agente la visualice

Flujo de trabajo

Modo grilla (recomendado para imágenes complejas)

1. Agente llama: preparar_imagen("vaca.png", filas=10, columnas=10)
   → Recibe: imagen con grilla + mapa de celdas en píxeles

2. Agente analiza la imagen con grilla y define regiones:
   {"poligonos_grid": [{"id": "Lomo", "celdas": ["F2", "G2", "G3", "H2"]}]}

3. Agente llama: renderizar_desde_grid("vaca.png", json_ia, mapa_celdas)
   → Recibe: ruta de la imagen con polígonos renderizados

4. Agente llama: ver_imagen(ruta_final)
   → Ve el resultado y continúa trabajando

Modo directo (para formas geométricas)

1. Agente define polígonos con coordenadas en píxeles:
   [{"id": "Triangulo", "puntos": [[100,100], [200,50], [300,100]]}]

2. Agente llama: renderizar_poligonos("imagen.png", poligonos)
   → Recibe: ruta de la imagen con polígonos renderizados

Detección automática

1. Agente llama: detectar_regiones("vaca.png")
   → Recibe: imagen coloreada + número de regiones detectadas

Ejemplos

Cortes de carne (35 regiones detectadas)

# El agente analiza la vaca con grilla y define los cortes
poligonos = {
    "poligonos_grid": [
        {"id": "Cabeza", "celdas": ["A2", "A3", "B2", "B3"]},
        {"id": "Cuello", "celdas": ["B4", "C3", "C4"]},
        {"id": "Paleta", "celdas": ["B5", "C5", "D4", "D5"]},
        {"id": "Costilla", "celdas": ["D3", "E3", "E4", "F4", "F5"]},
        {"id": "Lomo", "celdas": ["F2", "G2", "G3", "H2", "H3"]},
        {"id": "Cuadril", "celdas": ["H4", "I3", "I4", "J3", "J4"]},
    ]
}

Polígonos con curvas

# Círculo con 36 puntos para simular curva suave
import math
puntos_circulo = [
    [int(200 + 80 * math.cos(2 * math.pi * i / 36)),
     int(150 + 80 * math.sin(2 * math.pi * i / 36))]
    for i in range(36)
]
poligonos = [{"id": "Circulo", "puntos": puntos_circulo}]

Pruebas visuales

6 formas geométricas detectadas y coloreadas

Formas originales Formas coloreadas

16 regiones de mapa detectadas y coloreadas

Mapa original Mapa coloreado

Características

  • Optimizado para agentes: sin ventanas emergentes, todo se guarda en disco
  • Eficiente en RAM: carga reducida de imágenes grandes automáticamente
  • Colores vivos: paleta de 40 colores distintos para diferenciar regiones
  • Curvas por densidad: más puntos = más suavidad en bordes curvos
  • Detección automática: identifica regiones delimitadas por líneas de color

Licencia

MIT

Release files for mcp-polygon-renderer 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mcp-polygon-renderer 0.1.0
File Size Uploaded
mcp_polygon_renderer-0.1.0.tar.gz 2.2 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for mcp-polygon-renderer 0.1.0
File Interpreter ABI Platform
mcp_polygon_renderer-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 2.2 MB

Release files / mcp_polygon_renderer-0.1.0.tar.gz

Download URL mcp_polygon_renderer-0.1.0.tar.gz
Size 2.2 MB
Tags Source
SHA-256 checksum
How to use checksums
b449ba4b413eb83323e5cc4602ad96ef0d468bcc1e12fe17354e96d1ca2c150d
BLAKE2b-256 checksum
How to use checksums
ea677a9e132cdd5836f7af741f0fda632c04806aedd961b29688253b924604e8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.6

Release files / mcp_polygon_renderer-0.1.0-py3-none-any.whl

Download URL mcp_polygon_renderer-0.1.0-py3-none-any.whl
Size 8.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c9669e8b951ce84b4ec24052dea0a8ad84fa7c65a10f146e71e448be7da6c686
BLAKE2b-256 checksum
How to use checksums
5b9552f9be5acf7acf490d370038f9c41dde54b0d96a83fd680025a497f0d6f4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.6

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page