raptio-mcp
免責事項: これは独立したコミュニティ構築のプロジェクトであり、 KegLand または RAPT.io とは提携しておらず、その承認も支援も受けていません。 RAPT、RaptPill、KegLand はそれぞれの所有者の商標であり、互換性を説明するためにのみここで言及されています。 本ソフトウェアは保証なしで現状のまま提供されます。正式な条件は
LICENSEを参照してください。このライセンスには、このプロジェクトが サポートされていないサードパーティ API を使用することに関する追加の平易な免責事項も含まれます。
RAPT.io MCP Server
KegLand RAPT デバイス(Fermentation Chamber および RaptPill 比重計)を RAPT.io API 経由で監視・制御するための MCP(Model Context Protocol)サーバーです。
⚠️ デフォルトでは読み取り専用です。 RAPT.io API は、ほとんどの変更系操作に対してサポートされておらずドキュメントもありません(詳細は下記の セキュリティと API 利用に関する注意 を参照)。このサーバーは、オペレーターが
RAPTIO_MCP_READ_ONLY=falseで明示的にオプトインしない限り、RAPT.io API へのPOSTリクエストをすべて拒否します。
機能
Fermentation Chamber(発酵槽)
すべての発酵槽を一覧表示
ステータスの取得(温度、加熱/冷却、PID、稼働時間)
テレメトリ履歴の取得
(当
RAPTIO_MCP_READ_ONLY=false) 目標温度の設定、PID の有効/無効化、PID パラメータの設定
RaptPill(比重計)
IRA のRaptPill を一覧表示
ステータス取得(比重、温度、バッテリー残量)
テレメトリ履歴の取得
全般
バインド済みデバイスの一覧表示
発酵プロファイルの管理・表示
以前利用可能だった一部の制御ツール(加熱/冷却/ファン/ライトの切り替え、ヒステリシス、 コンプレッサー/モード切替遅延)は、関連する API エンドポイントの確認が完了するまで削除されています。詳細は 削除されたツール を参照してください。
Related MCP server: RAPT.io MCP Server
インストール
必要条件
Python 3.11 以上
uv (推奨)または pip
uv を使用
uv sync --frozenpip を使用
pip install -e .認証
このサーバーは、RAPT.io のユーザー名とAPI Secret(アカウントのパスワードではありません)を使用して RAPT.io API に認証します。
RAPT Portal にログインします。
My Account → API Secrets ページに移動します。
Add API Secret をクリックし、値をすぐに記録します。値はサーバーサイドでハッシュ化され、後から再取得することはできません。
RAPT_API_SECRETには実際のアカウントパスワードを使用しないでください。API Secret は独立して失効させることができる認証情報です。漏洩した場合でも、実際のアカウントログインに触らわずにポータルからローテーションできます。
設定
次の環境変数を設定します。
変数 | 必須 | デフォルト | 説明 |
| 必須 | — | RAPT.io アカウントのメールアドレス |
| 必須 | — | app.rapt.io/account/apisecrets で生成されたAPI Secret |
| 必須 | — | MCP クライアントが |
| 任意 |
|
|
| 推奨 | (未設定 — 検証無効) | 許可する |
| 推奨 | (未設定 — 検証無効) | 許可する |
| 任意 |
| バインドアドレス |
| 任意 |
| バインドポート |
| 任意 |
| Python のログレベル |
使用法
直接実行(Streamable HTTP)
RAPT_USERNAME="you@example.com" \
RAPT_API_SECRET="your-api-secret" \
RAPTIO_MCP_AUTH_TOKEN="$(openssl rand -hex 32)" \
uv run raptio-mcpサーバーは http://<RAPTIO_MCP_HOST>:<RAPTIO_MCP_PORT>/mcp で待機します(Streamable HTTP トランスポート、ステートレス、JSON レスポンス)。/mcp へのリクエストには上記のベアラートークンが必須です。/healthz は認証不要で、オーケストレータの liveness/readiness プローブを目的としています。
MCP クライアントの接続
MCP クライアントに Streamable HTTP トランスポートを使用するよう設定します。例:
claude mcp add --transport http raptio http://localhost:8000/mcp \
--header "Authorization: Bearer <your RAPTIO_MCP_AUTH_TOKEN>"このサーバーの以前のバージョンでは、stdio トランスポート(Claude Desktop/Claude Code でのローカルサブプロセス用)を使用していました。
0.2.0以降、サーバーは Streamable HTTP 上でのみ実行され、上記のベアラートークンが必要です。プロセス権限に基づく暗黙の信頼境界はもはや存在しないため、認証が必須となります。
利用可能なツール
ツール | 説明 | モード |
| バインド済みデバイスをすべて一覧表示 | 読み取り専用 |
| 単一デバイスを取得 | 読み取り専用 |
| デバイスのテレメトリを取得 | 読み取り専用 |
| 全発酵槽を一覧表示 | 読み取り専用 |
| 発酵槽のステータスを取得 | 読み取り専用 |
| 発酵槽の温度履歴を取得 | 読み取り専用 |
| 目標温度を設定 | 変更 — |
| PID制御の有効/無効を設定 | 変更 — |
| PID パラメータを設定 | 変更 — |
| すべての RaptPill を一覧表示 | 読み取り専用 |
| RaptPill のステータスを取得 | 読み取り専用 |
| 比重/温度の履歴を取得 | 読み取り専用 |
| すべての発酵プロファイルを一覧表示 | 読み取り専用 |
| プロファイルの詳細を取得 | 読み取り専用 |
| 利用可能なプロファイルタイプを一覧表示 | 読み取り専用 |
RAPTIO_MCP_READ_ONLY=true(デフォルト)の間、3つの変更系ツールは引き続き一覧表示されます(スキーマが発見可能のため)が、RAPT.io API に到達せずにすべての呼び出しが明示的なエラーを返します。
削除されたツール
次のツールは以前のバージョンに存在しましたが、検証待ちで削除されています:
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
これらはすべて POST /api/FermentationChambers/UpdateFermentationChamber に依存していました。このエンドポイントは、RAPT.io が公開している API 仕様(https://api.rapt.io/swagger/v1/swagger.json)には存在現されず、分離された並行実行動作もありません。これらが再導入されるのは、そのエンドポイントの存在と安全性が実在のアカウントで確認された後にのみです。さらに、set_fermentation_chamber_light_enabled は以前、正しい AlwaysOn/AlwaysOff/Automatic ではなく On/Off/Auto という誤った enum 値を送信していたため、再導入前にその修正も必要です。
セキュリティ & API 利用上の注意
RAPT.io の公開 API は KegLand によって明示的にサポートされていないと説明されています:
「API へのアクセスはサポートされていません。つまり、API の使用中に発生した問題について KegLand からの支援を得ることはできません。API の誤使用によりデバイスを破壊した場合、保証は無効になります。また、API(エンドポイント、パラメータ、レスポンスモデルなど)は予告なく変更される可能性があります。」 — https://docs.rapt.io/integrations/api-secrets
これをを踏まえ、サーバーはデフォルトで保守的な姿勢を取ります:
デフォルトで読み取り専用(
RAPTIO_MCP_READ_ONLY=true)— 明示的に有効にしない限り、デバイスの状態を変更する可能性のあるリクエストは一切送信されません。公式に文書化されたエンドポイントのみ変更操作に使用される —
SetTargetTemperature、SetPIDEnabled、SetPID— いずれも RAPT.io の公開 Swagger 仕様に存在することを確認済みです。非文書化エンドポイントは使用しません — 削除されたツール を参照。
HTTP トランスポートでは認証が必須(
RAPTIO_MCP_AUTH_TOKEN)— Streamable HTTP によって、以前の stdio サブプロセスモデルが暗黙の支信頼境界を排除するため。すべての変更ツール呼び出しは監査ログに記録 — ツール名、引数、結果がサーバーの構造化ログに記録されます。
RAPTIO_MCP_READ_ONLY=false を設定する場合、KegLand が予告なく変更したり制限したりする可能性のある API を介して、物理的な醸造・発酵ハードウェアにコマンドを送信することを選択したことになります。その使用によって結果として生じる損害やアカウント制限は、上記の KegLand の規約に従って、お客様の責任になります。
認証フローの詳細
内部的には、サーバーは RAPT_USERNAME と RAPT_API_SECRET を、RAPT.io の文書化されたフローに従い、https://id.rapt.io/connect/token に対して OAuth2 Resource Owner Password Credentials grant を使用し、有効期間の短いベアラートークンと交換します。トークンはメモリ内にキャッシュされ、有効期限の約30秒前に自動的に更新されます。
ライセンス
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