
Comparador de luz y gas (CNMC)
io.github.nuncaeslupus由 GitHub 账号 nuncaeslupus 发布v0.2.5更新于 Oct 27, 2026
Ofertas de luz y gas en España del comparador oficial de la CNMC, ordenadas por precio.
概览
按价格比较西班牙 CNMC 官方比价器中的电力和燃气报价,可依据邮编、用量与功率或账单二维码查询。
- 可以做什么
- 按邮编、用量和功率比较电力、燃气或两者,返回按价格排序的报价及多年期分析
- 读取账单二维码中的数据,可直接传入二维码字符串,或读取磁盘上的 PDF、图片文件
- 报告覆盖范围,列出未出现在官方比价器中的大型供电商
- 以 JSON 或文本表格输出结果,金额可为年度或账单周期口径
- 适用场景
- 适合在西班牙的用户想了解哪些经 CNMC 核验的电力或燃气报价对自家住宅或企业最便宜,或想把现有账单与可选报价作对比时使用。
- 运行要求
- 以 stdio 在本地运行,通过 uvx 从 PyPI 包 comparador-luz-gas 启动(也可用随附的 Dockerfile)。从 PDF 或图片读取二维码需安装 facturas 附加组件及系统库 libzbar0 和 poppler-utils。比价需要访问 CNMC API 的网络连接;未声明需要账号、API 密钥或环境变量。
安装
在 SourceWeft 中
- 打开 控制台中的 Comparador de luz y gas (CNMC),将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
comparador-luz-gas
[PyPI] [CI] [License: MIT] [comparador-luz-gas MCP server – quality and maintenance score on Glama]
El comparador oficial de tarifas de luz y gas de la CNMC, como librería, CLI y servidor MCP.
El comparador de la CNMC es la única comparativa oficial de ofertas de energía en España, pero solo se usa a través de un formulario web; su API pública pide 83 parámetros por consulta. Este proyecto la reduce a tres datos (código postal, consumo, potencia) o al QR de la factura, y devuelve las ofertas en JSON ordenadas por precio, con un análisis a varios años y el aviso de qué comercializadoras grandes no están en el comparador.
Inicio rápido
O instalado: pip install comparador-luz-gas. Para leer el QR de un PDF o una imagen,
pip install "comparador-luz-gas[facturas]" y sudo apt install libzbar0 poppler-utils.
Ejemplo
Salida real (consulta del 2026-10-20; los precios cambian con el mercado):
Sin --texto imprime JSON con las claves modo, importes, consulta, cobertura,
ofertas, alternativa_por_separado y analisis. Cada oferta:
Desde Python:
Uso con agentes de IA
Servidor MCP
comparador-luz-gas mcp sirve el comparador por stdio, sin dependencias extra. Está en
el registro oficial de MCP como
io.github.nuncaeslupus/comparador-luz-gas.
Para leer facturas del disco:
"args": ["--from", "comparador-luz-gas[facturas]", "comparador-luz-gas", "mcp"].
También hay Dockerfile (docker run -i --rm comparador-luz-gas).
Los errores vuelven como {"ok": false, "error": "ArgumentoInvalido", "message": "..."}.
Desde el CLI
Un agente sin MCP puede llamar al CLI: por defecto escribe JSON en stdout. modo e
importes dicen si los importes son anuales o de un periodo de factura, para que no se
confunda un mes con un año. Un argumento inválido sale con código 2 y el mensaje en
stderr.
Cómo funciona
- Una petición a la API oficial de la CNMC (3-8 s, límite 90 s). No hay precios propios ni caché: solo cuentas sobre lo que responde la CNMC.
- Lee el QR de la factura. Desde la Resolución de la CNMC de 24/06/2021
(BOE-A-2022-16989) toda
factura de luz lleva un QR con código postal, potencias, consumo anual por franja,
periodo e importe. El formato lo fija la CNMC, así que vale para cualquier
comercializadora.
desde_qr()no tiene dependencias: una app que ya escaneó el QR le pasa la cadena. - Dos modos. Por defecto, coste estimado de 12 meses. Con
--mensual(f.consulta(mensual=True)), el coste del periodo concreto de la factura, comparable con el importe impreso. - Análisis a largo plazo (
interpretar(), claveanalisis): coste a N años (primer_anio + (N-1) × siguientes), porque el primer puesto suele ganarlo un descuento de bienvenida que se cobra una vez. Separa precio único frente a discriminación horaria, señala las ofertas solo para nuevos clientes, la permanencia y su penalización, y el PVPC frente a la mejor fija. - Cobertura. Cada respuesta lista las comercializadoras presentes y las grandes que
faltan (
cobertura.grandes_ausentes). - Anualizar.
anualizar(facturas)extrapola el consumo de varias facturas recientes en vez de usar los 12 meses rodantes del QR.
CLI
Otras opciones: --potencia (kW, 3,45 por defecto), --empresa (suministro que no es
vivienda). comparador-luz-gas --help las lista todas.
Campos de Consulta: codigo_postal (obligatorio), consumo_anual_luz,
consumo_anual_gas, potencia (3.45), suministro ("luz", "gas", "ambas"),
franjas ((punta, llano, valle); si falta, perfil 2.0TD), vivienda (True),
permanencia y servicios_adicionales (2; 1 = solo ofertas sin ellos).
Limitaciones
- No es un censo del mercado. La CNMC solo publica ofertas que las comercializadoras
le remiten y valida. Comprobado el 2026-09-23 sobre 20 códigos postales: Endesa,
TotalEnergies, Plenitude, Holaluz y EDP no tienen ofertas; Iberdrola, una de gas.
Endesa e Iberdrola solo aparecen como
Comercializadora de referencia(PVPC/TUR). El resultado es la mejor entre las verificadas por la CNMC. - Sin desglose de impuestos. Confirma con la comercializadora si el importe lleva IVA.
- La factura incluye cosas que el comparador no cuenta: servicios adicionales,
alquiler de equipos, bono social. El QR los desglosa (
impSA,finBS); réstalos antes de comparar. - Las ofertas por tramos se valoran con tu reparto punta/llano/valle actual, con los
tramos 2.0TD de la Circular 3/2020 (vigentes desde el 1/06/2021; Ceuta y Melilla usan
otros). Si piensas mover consumo, repite con
--franjas. Si vienes de una tarifa de discriminación horaria anterior, usa solo facturas posteriores a esa fecha. - Sin histórico. El catálogo no lleva fechas de alta ni caducidad, y la CNMC no publica el histórico, así que no se puede decir en qué mes conviene cambiar.
- QR escaneado: 400 dpi aguanta JPEG, giro y desenfoque; 300 dpi va bien salvo desenfoque; 200 dpi solo si está limpio; 150 dpi no se lee.
Documentación
- docs/qr-escaneado.md: lectura del QR en facturas escaneadas, con las cifras por resolución.
Desarrollo
data/har/ y data/facturas/ están en .gitignore (llevan CUPS, dirección y consumos
reales); los tests versionados usan un QR inventado.
Proyectos relacionados
- claude-arsenal — flujo de Claude Code guiado por especificaciones y cola de tareas con puertas de aceptación.
- drawspec — especificación declarativa de diagramas a SVG/PNG/texto limpio, escribible por LLMs; incluye servidor MCP.
- doc-control — permite a agentes de IA editar documentos Word como cambios controlados.
- literary-critic — análisis de manuscritos con LLM al modo de un editor profesional.
- integral-job-search — búsqueda de empleo centrada en el candidato, dentro de Claude Code.
Licencia
来源:README.md,提交 7aada70
工具
0版本历史
4- v0.2.5最新Oct 20, 2026
- v0.2.4Oct 15, 2026
- v0.2.2Oct 15, 2026
- v0.2.1Oct 15, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分