Skip to main content
Glama
emsnicket

raptio-mcp

by emsnicket

Descargo de responsabilidad: Este es un proyecto independiente, creado por la comunidad, no está afiliado, respaldado ni apoyado por KegLand ni RAPT.io. RAPT, RaptPill y KegLand son marcas comerciales de sus respectivos propietarios, mencionadas aquí únicamente para describir la compatibilidad. Este software se proporciona tal cual, sin garantía de ningún tipo — consulte LICENSE para conocer los términos completos, incluido un aviso adicional en lenguaje sencillo específico del uso de este proyecto de una API no compatible de terceros.

RAPT.io MCP Server

Un servidor MCP (Model Context Protocol) para supervisar y controlar dispositivos KegLand RAPT — cámaras de fermentación e hidrómetros RaptPill — mediante la API de RAPT.io.

⚠️ Solo lectura por defecto. La API de RAPT.io no es compatible y no está documentada para la mayoría de las operaciones de mutación (consulte Notas de seguridad y uso de la API más abajo). Este servidor rechaza todas las solicitudes POST a la API de RAPT.io salvo que un operador se acoja explícitamente mediante RAPTIO_MCP_READ_ONLY=false.

Características

Cámara de fermentación

  • Listar todas las cámaras de fermentación

  • Obtener el estado (temperatura, calefacción/refrigeración, PID, tiempos de uso)

  • Obtener el historial de telemetría

  • (cuando RAPTIO_MCP_READ_ONLY=false) Establecer la temperatura objetivo, activar/desactivar PID, configurar los parámetros PID

RaptPill (hidrómetro)

  • Listar todos los RaptPills

  • Obtener el estado (gravedad, temperatura, nivel de batería)

  • Obtener el historial de telemetría

General

  • Listar todos los dispositivos vinculados

  • Gestionar/ver los perfiles de fermentación

Varias herramientas de control disponibles anteriormente (activación de calefacción/refrigeración/ventilador/luz, histéresis, retardo del compresor/uso de modo) se han eliminado en espera de la verificación del punto de acceso subyacente de la API. Consulte Herramientas eliminadas.

Related MCP server: RAPT.io MCP Server

Instalación

Requisitos

  • Python 3.11+

  • uv (recomendado) o pip

Con uv

uv sync --frozen

Con pip

pip install -e .

Autenticación

Este servidor se autentica frente a la API de RAPT.io con su usuario de RAPT.io y un API Secret (no la contraseña de su cuenta).

  1. Inicie sesión el Portal de RAPT.

  2. Vaya a Mi cuenta → Secretos de la API (https://app.rapt.io/account/apisecrets).

  3. Haga clic en Añadir secreto de la API y anote el valor inmediatamente: se procesamiento con despacho en el servidor y no se puede recuperar más adelante.

No utilice su contraseña real de la cuenta como RAPT_API_SECRET. El API Secret es una credencial separada, revocable de forma independiente: si se filtra, puede rotarlo desde el portal sin tocar el acceso a su cuenta real.

Configuración

Establezca las siguientes variables de entorno:

Variable

Obligatoria

Valor por defecto

Descripción

RAPT_USERNAME

Correo electrónico de la cuenta RAPT.io

RAPT_API_SECRET

API Secret generado en app.rapt.io/account/apisecrets

RAPTIO_MCP_AUTH_TOKEN

Token de portador de secreto compartido que los clientes MCP deben usar Authorization: Bearer <token>

RAPTIO_MCP_READ_ONLY

no

true

Quando es true (default), todas las llamadas de herramientas de mutación (set_*) se rechazan antes de llegar a la API de RAPT.IO. Defina to a false for permitir los endpoints de mutación documentados (see Notas de seguridad y uso de la API)

RAPTIO_MCP_ALLOWED_HOSTS

recomendada

(sin definir — validación desactivada)

Lista separada por comas de valores permitidos de cabecera Host (protección contra rebote de DNS)

RAPTIO_MCP_ALLOWED_ORIGINS

recomendada

(sin definir — validación desactivada)

Lista separada por comas de valores permitidos de cabecera Origin

RAPTIO_MCP_HOST

no

0.0.0.0

Dirección de monitoreo

RAPTIO_MCP_PORT

no

8000

Puerto de monitoreo

RAPTIO_MCP_LOG_LEVEL

no

INFO

Nivel de uso de logs de Python

Uso

Ejecución directiva (HTTP de difusión)

RAPT_USERNAME="you@example.com" \
RAPT_API_SECRET="your-api-secret" \
RAPTIO_MCP_AUTH_TOKEN="$(openssl rand -hex 32)" \
  uv run raptio-mcp

El servidor escucha en http://<RAPTIO_MCP_HOST>:<RAPTIO_MCP_PORT>/mcp (transporte Streamable HTTP, sin estado, respuestas JSON). Todas las solicitudes que van municación /mcp requieren el token de tráfico anterior. /healthz no está autenticado y está destinado a las sondas de actividad/disponibilidad del orquestador.

Conectar un cliente MCP

Configure su cliente MCP para el transporte Streamable HTTP, por ejemplo:

claude mcp add --transport http raptio http://localhost:8000/mcp \
  --header "Authorization: Bearer <your RAPTIO_MCP_AUTH_TOKEN>"

Las versiones anteriores de este servidor usaban el transporte stdio (para subprocesos locales con Claude Desktop/Claude Code). A partir de la versión 0.2.0 el servidor funciona solo mediante Streamable HTTP, lo que exige el token de portador superior: ya no hay confianza implícita por el proceso propietario, por lo que la autenticación es obligatoria.

Herramientas disponibles

Herramienta

Descripción

Modo

get_bonded_devices

Listar todos los dispositivos vinculados

solo lectura

get_bonded_device

Obtener una única dispositivo

solo lectura

get_bonded_device_telemetry

Obtener la telemetría del dispositivo

solo lectura

get_fermentation_chambers

Listar todas las cámaras de fermentación

solo lectura

get_fermentation_chamber

Obtener el estado de la cámara

solo lectura

get_fermentation_chamber_telemetry

Obtener el historial de temperatura de la cámara

solo lectura

set_fermentation_chamber_temperature

Establecer la temperatura objetivo

mutando — requires RAPTIO_MCP_READ_ONLY=false

set_fermentation_chamber_pid_enabled

Activar/desactivar el control de PID

mutar — exige RAPTIO_MCP_READ_ONLY=false

set_fermentation_chamber_pid

Configurar los parámetros de PID

mutar — exige RAPTIO_MCP_READ_ONLY=false

get_hydrometers

Listar todas las RaptPills

solo lectura

get_hydrometer

Obtener el estado del RaptPill

solo lectura

get_hydrometer_telemetry

Obtener el historial de gravedad/temperatura

solo lectura

get_profiles

Listar todos los perfiles de fermentación

solo lectura

get_profile

Obtener los detalles del perfil

solo lectura

get_profile_types

Listar lo`s tipos de perfil disponibles

solo lectura

Mientras RAPTIO_MCP_READ_ONLY=true (predeterminado), las tres herramientas de mutación siguen apareciendo (para que sus esquemas sean activables) aunque cada llamada devuelve un error explícito en lugar de llegar a la API de RAPT.io.

Herramientas eliminadas

Las siguientes herramientas existían en versiones anteriores pero han sido eliminadas a la espera de verificación:

  • set_fermentation_chamber_heating_enabled

  • set_fermentation_chamber_cooling_enabled

  • set_fermentation_chamber_fan_enabled

  • set_fermentation_chamber_light_enabled

  • set_fermentation_chamber_cooling_hysteresis

  • set_fermentation_chamber_heating_hysteresis

  • set_fermentation_chamber_compressor_delay

  • set_fermentation_chamber_mode_switch_delay

Todas dependen de POST /api/FermentationChambers/UpdateFermentationChamber, un punto final que no figure en la especificación de la API publicada de RAPT.IO (https://api.rapt.io/swagger/v1/swagger.json) y no tiene un comportamiento de concurrencia documentado. Se reincluirán solo después de que el endpoint y su seguridad se hayan comprobado con una cuenta real. (set_fermentation_chamber_light_enabled además enviaba valores de enumeración incorrectos — On/Off/Auto en lugar de los correctos AlwaysOn/AlwaysOff/Automatic — y habrá que aplicarle esa corrección también antes de incluirlo.)

Notas de seguridad y uso de la API

La API pública de RAPT.IO está expresamente indicada por KegLand como sin soporte:

"Acceso a la API sin soporte. Esto significa que no recibirá asistencia de KegLand con los posibles problemas que surjan mientras use la API... si sale en una situación de daño con su uso, anulará la garantía... La API (puntos finales, parámetros, modelos de respuesta, etc.) está sujeto y puede cambiar sin previo aviso." — https://docs.rapt.io/integrations/api-secrets

En vista de esto, el servidor adopta una postura conservadora:

  • Solo lectura por defecto (RAPTIO_MCP_READ_ONLY=true): no se envía ninguna solicitud que pueda cambiar el estado del dispositivo, salvo que se habilite explícitamente.

  • Solo se usan endpoints documentados oficialmente para las mutaciones — SetTargetTemperature, SetPIDEnabled, SetPID — todos confirmados en la especificación Swagger publicada de RAPT.io.

  • No se utilizan endpoints no documentados: consulte [Herramientas de]...

  • Autenticación obligatoria en el transporte HTTP (RAPTIO_MCP_AUTH_TOKEN), ya que el HTTP Streamable elimina el límite de confianza implícito que el modelo anterior de subproceso con stdio daba de forma automática.

  • **Todas las herramientas de mutación ** se registran en el registro de auditoría (nombre de la herramienta, argumentos, resultado) en los logs estructurados del servidor.

Si xdecide que RAPTOR_MC_READ_ONLY=false, está aceptando envíar comandos al hardware físico de control de fermentación/cerveza vía una API que KegLand puede cambiar sin previo aviso, lo que puede dañar el equipo o limitar su cuenta; usted será responsable de todo ello según las condiciones propias de KegLand citadas más arriba.

Los detalles del flujo de autenticación.

Internamente, el servidor canjea tus RAPT_USERNAME y RAPT_API_SECRET por un token de portador de corta duración mediante la concesión Resource Owner Password Credentials de OAuth2 contra https://id.rapt.io/connect/token, según el flujo documentado de RAPT.io. Los tokens se guardan en caché en memoria y se renuevan automáticamente ~30 segundos antes de su caducidad.

Licencia

MIT

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server for interacting with Fireboard BBQ temperature monitoring. Enables querying devices, live probe temperatures, Drive fan controller status, and historical cook sessions.
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables monitoring and controlling KegLand RAPT fermentation chambers and RaptPill hydrometers through the RAPT.io API, including temperature control, PID configuration, and telemetry retrieval.
    23
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Connects MCP clients (e.g., Claude) to your NIBE myUplink heat-pump account for reading sensors and controlling settings via OAuth2 authentication.

View all related MCP servers

Related MCP Connectors

  • MCP server wrapping the Tesla Fleet API and TeslaMate API

  • Manage feature requests, votes, roadmaps, and changelogs from any MCP client.

  • OpenWeather MCP — wraps the OpenWeatherMap API (openweathermap.org)

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/emsnicket/raptio-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server