MCP Polygon Renderer
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
16 regiones de mapa detectadas y coloreadas
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)
| File | Size | Uploaded | |
|---|---|---|---|
| mcp_polygon_renderer-0.1.0.tar.gz | 2.2 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|