raptio-mcp
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
LICENSEpara 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
POSTa la API de RAPT.io salvo que un operador se acoja explícitamente medianteRAPTIO_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 --frozenCon 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).
Inicie sesión el Portal de RAPT.
Vaya a Mi cuenta → Secretos de la API (https://app.rapt.io/account/apisecrets).
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 |
| sí | — | Correo electrónico de la cuenta RAPT.io |
| sí | — | API Secret generado en app.rapt.io/account/apisecrets |
| sí | — | Token de portador de secreto compartido que los clientes MCP deben usar |
| no |
| Quando es |
| recomendada | (sin definir — validación desactivada) | Lista separada por comas de valores permitidos de cabecera |
| recomendada | (sin definir — validación desactivada) | Lista separada por comas de valores permitidos de cabecera |
| no |
| Dirección de monitoreo |
| no |
| Puerto de monitoreo |
| no |
| 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-mcpEl 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.0el 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 |
| Listar todos los dispositivos vinculados | solo lectura |
| Obtener una única dispositivo | solo lectura |
| Obtener la telemetría del dispositivo | solo lectura |
| Listar todas las cámaras de fermentación | solo lectura |
| Obtener el estado de la cámara | solo lectura |
| Obtener el historial de temperatura de la cámara | solo lectura |
| Establecer la temperatura objetivo | mutando — requires |
| Activar/desactivar el control de PID | mutar — exige |
| Configurar los parámetros de PID | mutar — exige |
| Listar todas las RaptPills | solo lectura |
| Obtener el estado del RaptPill | solo lectura |
| Obtener el historial de gravedad/temperatura | solo lectura |
| Listar todos los perfiles de fermentación | solo lectura |
| Obtener los detalles del perfil | solo lectura |
| 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_enabledset_fermentation_chamber_cooling_enabledset_fermentation_chamber_fan_enabledset_fermentation_chamber_light_enabledset_fermentation_chamber_cooling_hysteresisset_fermentation_chamber_heating_hysteresisset_fermentation_chamber_compressor_delayset_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
This server cannot be installed
Maintenance
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
- AlicenseNot gradedqualityBmaintenanceMCP server for interacting with Fireboard BBQ temperature monitoring. Enables querying devices, live probe temperatures, Drive fan controller status, and historical cook sessions.MIT
- AlicenseAqualityDmaintenanceEnables monitoring and controlling KegLand RAPT fermentation chambers and RaptPill hydrometers through the RAPT.io API, including temperature control, PID configuration, and telemetry retrieval.23MIT
- FlicenseNot gradedqualityBmaintenanceEnables interaction with the Intervals.icu API, providing tools to manage workouts, messages, wellness data, and more through any MCP client.3
- FlicenseNot gradedqualityCmaintenanceConnects MCP clients (e.g., Claude) to your NIBE myUplink heat-pump account for reading sensors and controlling settings via OAuth2 authentication.
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)
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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