mcpField
G
Glazecalc

Glazecalc

リモート
glazecalcapp.com科学・教育01 週間前に更新
リポジトリ公式サイト

Glazecalc について

Glazecalcは陶芸家向けの釉薬化学アプリで、レシピ計算、材料比較、工房の記録をまとめます。MCPサーバーでAIアシスタントから計算を利用でき、許可すれば接続済みの記録にもアクセスできます。

主な機能

  1. 01ユニティ分子式の計算
  2. 02レシピと材料置換の比較
  3. 03化学的な上限とStullチャートの確認
  4. 04焼成記録、メモ、レシピの管理
  5. 05比重と加水量の計算

活用シーン

  1. 01手持ちの材料でレシピを作り直す
  2. 02試験前に釉薬の化学組成を比較
  3. 03目標比重に必要な水量を計算
  4. 04レシピと焼成記録を整理

MCP 対応

`/mcp`サーバーはGlazecalcの計算機能をAIアシスタントに提供します。接続アプリはOAuthの同意またはアクセストークンによってユーザーの記録にアクセスでき、変更を別途許可しない限り読み取り専用です。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://glazecalcapp.com/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

すべてのエンドポイント
Streamable HTTPhttps://glazecalcapp.com/mcp認証が必要

ツール

詳細

Glazecalc

陶芸家のための無料の釉薬化学ツールです。 釉薬のレシピを入力すると、ユニティ分子式 (UMF)が表示されます。窯の中で生じるフラックス、アルミナ、シリカと、その比率を確認できます。レシピ、 材料、着色剤、焼成記録、メモをひとつのプライベートなノートブックにまとめて管理できます。

glazecalcapp.com:アカウントなしでお試しいただけます。

CI ライセンス:MIT Angular 22 Node.js 24 MongoDB 9

Glazecalcの紹介ページ:「陶芸家のための無料の釉薬化学ツール」という見出しと、焼成後のコーンパックの写真

ダークモードのレシピ計算ツール。Leachの4321セラドンとそのユニティ式が表示され、K2O 0.264、CaO 0.736、Al2O3 0.407、SiO2 3.710、シリカとアルミナの比率は9.11スマートフォンでの試用画面。緑色のバーに「You're trying Glazecalc as mellow dusty sunsets」と表示され、アカウント作成または試用の破棄ボタンがある

機能

  • レシピを入力しながらユニティ式に変換できます。 独自の材料または標準材料から釉薬を組み立て、フラックス、安定剤、ガラス形成剤に分類された酸化物と、シリカとアルミナの比率をユニティ式で確認できます。釉薬の化学者はこの方法でレシピを比較し、不具合を修正し、材料を代替します。スケールは、パーセント、最小の整数比、またはグラムやポンドでのバッチ(ポンドとオンスを併記)に変更できます。着色剤はベースに対するパーセント、比率、またはグラムで表示されます。レシピを保存して作業を続けることも、保存済みのレシピを開いて変更することもできます。
  • 2つのレシピを並べて比較できます。 酸化物ごと、および計算上の熱膨張率で比較できます。また、廃番になった材料を現行の材料(Custer Spar から G-200 EU など)に置き換えた古いレシピを、元のレシピと比べて試せます。材料を単純に置き換えられない場合は、地域で販売されている材料や追加した材料を使って、変更をできるだけ少なくしながら分量を再計算し、各材料の役割と、推奨上限を超える場合の注意点を示します。
  • 手元にある材料で合わせる: アカウントに保存した手持ち材料の一覧だけを使って、レシピを作り直します。
  • 分析と上限: レシピに保存された焼成条件について、ユニティ式を Hesselberth & Roy の安定した釉薬の上限、または Glazecalc 独自の上限と照合します。シリカとアルミナを示す Stull チャートには、マット、セミマット、光沢の各領域が表示されます。
  • 比重と水分: 釉薬の一定量を量って比重を求め、バケツの釉薬を希望する比重にするための水の量、または新しいバッチに加える水の量を計算します。
  • ウェブサイト、スプレッドシート、メモのレシピを貼り付けられます。保存する前に、各行がどのように読み取られ、どの材料として認識されたかを確認できます。
  • テストタイル用のブレンド: 2~4種類のレシピを番号付きタイル用にブレンドし、それぞれの計量量と化学組成を表示します。
  • バッチごとのコストを、支払っている価格から計算します。価格は1つの通貨でアカウントに非公開で保存されます。また、バッチ番号、目標比重、材料の危険性を記載した調合票を釉薬作業室用に印刷できます(希望しない限り価格は記載されません)。
  • レシピを共有できます。アカウントなしで誰でも開ける読み取り専用リンクを使い、ユニティ式と、計算の手順を確認できます。共有はいつでも停止できます。
  • Google、GitHub、Microsoft、パスワード、2段階認証、またはパスキーでサインインできます。
  • AI アシスタントから利用できます: Claude、ChatGPT、GitHub Copilot、Cursor、Gemini などは、/mcp の Model Context Protocol(MCP)サーバーを通じて計算を利用できます。接続すると、アカウントの記録も利用できます。アプリは Glazecalc 独自の OAuth サーバーにサインインし、ユーザーが許可します(変更も許可しない限り読み取り専用です)。または、アプリ用のアクセストークンを作成できます。接続済みアプリでは、各アプリが行った操作を確認し、ゴミ箱に移動した項目を元に戻し、アプリの接続を取り消せます。接続方法はアシスタントページに記載されています。
  • 初心者向けの出典付きガイド: 用語集付きの釉薬の基礎、釉薬の作り方、安全な混合と換気、子どもやペットのいる家庭での陶芸、コーン、キルンシッター、手動スイッチを使った基本的な窯の焼成。また英語では、John Britt の無料オンライン Glaze Course の補助資料として、動画をユニットごとにリンクし、試せる練習課題を掲載しています。
  • 選択しない限り鉛を使用しません。 鉛を含む古い釉薬は、鉛を使わずに再構成できます。Replace lead は釉薬のシリカとアルミナを保ち、鉛の役割をホウ素やその他のフラックスに担わせます。地域で販売されている鉛フリーのベースフリットに、最大4種類の材料を加えて使用するか、鉛フリーのベースで色を保ちます。
  • 釉薬作業室用に印刷できます: ユニティ式と分析を含むレシピ全体、または計量しながらチェックできるバッチ一覧のみを印刷できます。1つのバケツに量り入れる際の合計も随時表示します。Letter または A4 の1ページに収まり、重量はグラム、またはアカウントの設定に応じてポンドとオンスで表示されます。
  • 地域と数値の表示形式: 作業する地域に応じて、入力時の数値と日付の形式が設定されます(12,5 と入力しても 12.5 と入力しても対応)。温度は °C または °F、焼成温度は Orton cones、SK cones(JIS R 8101)、または温度で指定できます。また、地域で販売されている標準材料も設定されます。37か国のガイドには、緊急時の連絡先、釉薬材料の販売店、レシピに記載された材料に最も近い地域の販売材料、職場におけるシリカ粉じんの許容限度、施釉食器の食品接触に関する基準を掲載しています(36か国について確認済み。ニュージーランドでは公式の基準が見つかりませんでした)。各情報は、公式ページまたは販売店自身のページで確認しています。
  • 39言語に翻訳済み: EU各国の公用語(ブルガリア語、クロアチア語、チェコ語、デンマーク語、オランダ語、英語、エストニア語、フィンランド語、フランス語、ドイツ語、ギリシャ語、ハンガリー語、アイルランド語、イタリア語、ラトビア語、リトアニア語、マルタ語、ポーランド語、ポルトガル語、ルーマニア語、スロバキア語、スロベニア語、スペイン語、スウェーデン語)、日本語、トルコ語、繁体字中国語、韓国語、簡体字中国語、タイ語、ベトナム語、インドネシア語、右から左に読むアラビア語とウルドゥー語、ヒンディー語、ベンガル語、タミル語、マラーティー語、カンナダ語に対応し、それぞれ専用のアドレス(/de/recipe)から利用できます。 サプライヤーのカタログをもとに、言語ごとの用語集を使って AI で翻訳し、レビューしたうえで、安全に関する文章は翻訳し直して確認しています。翻訳された各ページにはその旨が記載されており、より適切な表現を提案できるフォームへのリンクもあります。

テキストはすべてメッセージ(ICU の複数形を使う Transloco)で、ガイドは言語ごとの Markdown です(翻訳の作成方法)。

  • お好みの色: ライト、ダーク、またはデバイスの設定に合わせて選べます。釉薬にちなんだ名前の 6 種類のパレットがあり、どちらのモードでも読みやすくなっています。
  • 標準ライブラリ:167 種類の材料と 37 種類の着色剤・添加剤。 米国、英国、EU、オーストラリア、ニュージーランドのメーカーのデータシートをもとにしており、それぞれに出典と別名が記載されています。データシートに記載がある場合は、危険性も掲載しています。製造終了した材料も古いレシピ用に残してあり、それぞれに現在の代替品を記載しています。他の計算ツールと比較する場合は、着色剤をユニティー式に含めることも、除外することもできます。
  • 独自の材料: 化学式またはサプライヤーの分析値から材料を登録できます。また、ベースとなる釉薬に着色剤や乳濁剤を追加できます。
  • 工房ノート: 焼成記録(時間、温度、コーン)、メモ、調合・施釉・焼成に関する平易なアドバイスを記録できます。
  • 今すぐ試す: 生成された「speckled quiet kilns」のような名前で、アプリ全体を試用できます。アカウントを作成するとデータがすべて保持されます。試用データは 14 日後に削除されます。
  • スマートフォンからデスクトップまで、ライトモードとダークモードに対応。無料で、オープンソースです。

ハイライト

コードを読む方へ:

  • 2017 年の AngularJS アプリを再構築しました。 Angular 22(スタンドアロンコンポーネント、シグナル、zone.js なし、厳格なテンプレート)と、Express 5、Mongoose 9、Node 24 を使った TypeScript サーバーに移行しました。ビルド工程なしで .ts ファイルを直接実行し(ADR 8)、再びオンラインにしました。詳しくはケーススタディをご覧ください。
  • 3 つのレベルでテストし、すべてのプルリクエストと master へのプッシュで CI を実行します: 約 1,000 件のサーバーテスト(ステートメントカバレッジ 98%)をアプリ内で実行し、700 件以上の Angular ユニットテスト(92%)と、約 175 件の Playwright ブラウザーテストを実行します。各ページをライトモードとダークモードでチェックするaxeによるアクセシビリティ検査、翻訳対象としてマークされていないテキストを見つけるための各ページの疑似ロケールでの検査、さらにスマートフォンの幅で各言語の各ページを検査します。
  • **ブラウザーとテストで共通の釉薬化学ライブラリを使用し、**手作業で算出した値と照合します(ADR 4)。
  • 承認付きのキーレスデプロイ: GitHub Actions は OIDC を通じて短期間有効な AWS 認証情報を取得します。この認証情報に対応するロールで実行できるのは、このアプリのインスタンス上で 1 つの SSM コマンドドキュメントを実行することだけです。SSH は使用せず、保存された AWS キーもありません。ヘルスチェックに失敗するとロールバックします(ADR 2)。
  • 月額約 13 ドルで本番環境を運用: Docker Compose、nginx、Let's Encrypt を使った Graviton EC2 インスタンス 1 台に、サブリソース整合性を設定したコンテンツセキュリティポリシー、S3 への夜間バックアップ、スナップショット、アラームを備えています(ADR 1、ADR 3)。
  • アカウントを慎重に管理: bcrypt、バージョン付きの HS256 トークンを使用するため、パスワードを変更するとすべてのデバイスからサインアウトします。トークンは httpOnly、SameSite=Strict の Cookie に保存し、クロスサイトリクエストをチェックします。使い捨てのパスワードリセットリンクはハッシュ化して Amazon SES 経由で送信し、DKIM、SPF、DMARC を設定しています。さらに、レート制限、すべてのクエリでの所有権チェック、メールアドレスの変更やアカウントの削除に必要な現在のパスワードを設けています(ADR 5、ADR 6)。
  • トライアルも実際のアカウントとして扱います: 名前を自動生成し、予約済みの .invalid ドメインの仮メールアドレスを割り当てることで、すべてのメールアドレスを一意に保ちます。既存アカウントへのサインイン時、またはその場でアカウントに移行でき、不正利用を防ぐ制限と、1 時間ごとのクリーンアップを備えています(ADR 7)。
  • 本番ビルドでの Lighthouse(デスクトップ): パフォーマンス 99、アクセシビリティ・ベストプラクティス・SEO は 100、レイアウトシフトなし。

全体の仕組み

flowchart LR
  browser([Browser]) -->|HTTPS| nginx
  subgraph ec2 [EC2 t4g.micro, Debian 13]
    nginx["nginx<br/>Let's Encrypt, headers, gzip"] --> app["Node 24, Express 5<br/>/api and the Angular client"]
    app --> mongo[("MongoDB 9")]
  end
  app -->|SMTP| ses[Amazon SES]
  mongo -.->|nightly dump| s3[(S3 backups)]
  subgraph github [GitHub]
    ci["CI: lint, format, 3 test suites,<br/>image check"] --> ghcr[("GHCR image<br/>arm64 and amd64")]
    deploy["Deploy workflow<br/>approval, OIDC"]
  end
  deploy -->|"SSM: glazecalc-deploy"| ec2
  ghcr -.->|pull| app

ブラウザーは単一のオリジンと通信します。nginx が HTTPS を終端し、すべてのリクエストを 1 つの Node プロセスに渡します。このプロセスは /api 配下で JSON API を提供し、それ以外のパスではビルド済みの Angular クライアントを提供します。デプロイでは、SSM を通じてインスタンス上で deploy.sh を実行します。新しいイメージを取得して起動し、ヘルスチェックに失敗した場合は以前のイメージに戻します。

部分使用技術
クライアントAngular 22、TypeScript(strict)、ICU メッセージ対応の Transloco、カスタムパレットを適用した Bootstrap 5、Vitest
サーバーNode.js 24 で直接実行する TypeScript、Express 5、Mongoose 9、JWT、bcrypt、Mocha
データMongoDB 9
インフラストラクチャAWS(EC2、SSM、SES、S3、CloudWatch、OIDC 対応の IAM)、Docker Compose、nginx、certbot
デリバリーGitHub Actions、GHCR、axe 対応の Playwright、ESLint、Prettier、Dependabot

ローカルで実行する

Node.js 24(24.15 以降)と npm 11、および MongoDB Community Server 9.0(4.4 以降でも動作します)が必要です。

git clone https://github.com/AaronFilson/glazecalc.git
cd glazecalc
npm install
npm run db                        # MongoDBを./dbで起動します。2つ目のターミナルで実行し、起動したままにしてください
npm run seed                      # 標準の材料、添加物、アドバイスを登録します
npm run dev                       # その後、http://localhost:3000 を開きます

APP_SECRET や MONGODB_URI などの設定は .env ファイルに記述できます(各設定の説明がある .env.example をコピーしてください)。スクリプトは Node.js 組み込みの --env-file 機能を使って読み込みます。本番環境以外では、メール(パスワードリセットリンクなど)はコンソールに出力されます。

すべてのツール、インストールリンク、バージョンの確認方法
ツール用途インストールバージョンの確認方法
Gitリポジトリのクローンダウンロードgit --version
Node.js 24 LTS(24.15 以降)アプリのビルドと実行Node.jsをダウンロードnode --version
npm 11(Node.js 24 に付属)パッケージのインストール、スクリプトの実行npmのインストールnpm --version
MongoDB Community Server 9.0(4.4 以降でも動作します)データベースMongoDBをダウンロードmongod --version
Firefox や Chrome などの最新のウェブブラウザーアプリの利用Firefoxのダウンロードブラウザーの「ヘルプ」→「バージョン情報」

用途に応じて、以下も必要です:

ツール用途インストールバージョンの確認
nvm-windows または nvm(macOS、Linux)Node.js のバージョン切り替えnvm-windows のリリース、nvm インストールスクリプトnvm version(Windows)、nvm --version
MongoDB Shell (mongosh)データベースを手動で確認するmongosh をダウンロードmongosh --version
Docker Compose を使用する Docker Engineコンテナでアプリと MongoDB を実行するDocker Engine をインストールdocker --version と docker compose version
WSL 2.1.5 以降(Windows のみ)Windows 上の Linux 内で Docker を実行するWSL をインストールwsl --version
Playwright Chromiumブラウザーのテストブラウザーをインストール:npx playwright install chromiumnpx playwright --version

Angular CLI、TypeScript、ESLint、テストランナーは npm install によってプロジェクトにインストールされるため、個別にインストールする必要はありません。npx ng version で Angular のバージョンを確認できます。

スクリプト

npm run dev      ポート 3000 で Angular 開発サーバーを起動し、ライブリロードします。/api を
                 ポート 4000 の API サーバーに転送し、サーバーコードの変更時に再起動します
npm run build    クライアントを dist/glazecalc/browser に本番ビルドし、その後、すべての言語の
                 公開ページを dist/glazecalc/prerendered にレンダリングします(docs/seo-plan.md)
npm start        ビルド後、アプリとその API を提供する単一のサーバーをポート 3000(PORT)で実行します
npm run seed     標準の素材、添加剤、アドバイスを MONGODB_URI に読み込みます
npm run lint     ESLint でコードをチェックします
npm run typecheck  サーバーの TypeScript をチェックします(Node がコンパイルせずに実行します)
npm run format   Prettier でファイルをフォーマットします(npm run format -- .)

npm run seed は同じ ID の標準レコードを置き換えるため、データファイルの変更後に再実行しても安全です。また、ユーザー自身のエントリーには影響しません。すべてのスクリプトは、PowerShell や cmd を含む任意のシェルで動作します。

テスト

コマンド実行内容
npm testサーバーと化学のテスト(Mocha)を、ファイル単位で並列実行します(コア数から1を引いた数のワーカーを使用します。--jobs で設定できます)。各ワーカーは空きポートでプロセス内にアプリを起動し、専用のデータベース(glazecalc_test_w0、_w1、…)を使用します。データベースは各ファイルの実行前に空にし、実行後に削除します。mongod だけを起動しておく必要があります。
npm run test:clientサーバーやデータベースを使わずに、Angular のユニットテスト(Vitest)を実行します。
npm run test:e2e1つのサーバーを使い、並列ワーカー(コア数の半分。ワーカー数は E2E_WORKERS で設定)でブラウザーとアクセシビリティのテスト(Playwright と axe)を実行します。dist/ がソースより古い場合はアプリをビルドします(E2E_BUILD=always または never で上書きできます)。ポート 3100(E2E_PORT)で実行し、リセットする glazecalc_e2e データベース(E2E_MONGO_URI)を使用します。また、初回に Chromium が必要です:npx playwright install chromium。
npm run test:e2e:linuxDocker 内で Linux 向けのブラウザーテストを実行します。CI と同じ Playwright イメージを使うため、ここで合格するレイアウトは CI でも合格します。作業ツリーをテストし、未コミットの変更も含みます。失敗した内容は test-results-linux/ にコピーされます。Windows では WSL 経由で実行されるため、WSL 内に Docker が必要です。
npm run test:e2e:bothここでのブラウザーテストと Linux でのブラウザーテストを同時に実行し、それぞれコア数の4分の1を使用します(各実行のワーカー数は E2E_WORKERS で設定します)。各行には、どちらの実行からのものかが示されます。2つの実行は何も共有しないため、所要時間は遅いほうと同程度です。
npm run check:i18nメッセージを検証します。アプリが使用するすべてのキーに英語があり、英語のすべてが使用されていること、翻訳で英語のプレースホルダー、タグ、複数形が保たれていること、コードに記述された英語が最新であることを確認します(テキストの書き方)。
npm run i18n:sourcesコードとデータ(サーバー、化学、標準レコード、連絡先、地域データ)に保持されているメッセージの英語を翻訳者向けに書き出し、変更された英語をもとに作成された翻訳をすべて取り除きます(docs/translating.md)。翻訳に未コミットの変更がある場合は実行を拒否します(--force で上書きできます)。-- --dry-run を指定すると、変更内容を確認できます。
npm run test:allこのマシンでサーバー、Angular、ブラウザーのテストを実行します。
npm run test:all:linuxサーバーと Angular のテストを実行してから、Linux でブラウザーテストを実行します。レイアウトや印刷に影響する変更をプッシュする前に実行してください。
npm run test:coverage と npm run test:client:coverage はカバレッジレポートを追加し、
npx playwright show-report はブラウザーテストの結果を開きます。GitHub Actions は、master へのプッシュ時とプルリクエスト時に、MongoDB 9 のサービスコンテナーを使用して、lint、フォーマットチェック、npm audit、ビルド、および3つすべてのテストスイートを実行し、Docker イメージのビルドとチェックも行います
(.github/workflows/ci.yml)。ジョブは並行して実行され、ブラウザーテストは3つのランナーに分割され(--shard)、レポートは1つにマージされます(playwright-report アーティファクト)。

プロジェクト構成

client/           Angular 22 アプリ(スタンドアロンコンポーネント、シグナル、zone.js なし)
  app/core/         API アクセス、サインインとトライアル、ルートガード、データモデル
  app/i18n/         言語:読み込みメッセージ、アドレス内の言語、AI に関するお知らせ
  app/pages/        画面ごとのフォルダー:ランディング、レシピ、材料、添加剤、焼成、...
  app/shared/       ページヘッダー、メッセージ、オプションリスト
  public/           アイコン、画像、マニフェスト、robots.txt。ビルドにコピーされます
  public/i18n/      各言語のメッセージと Markdown のガイド
  i18n-fingerprints/  各翻訳の基になった英語
  styles.scss       Bootstrap 5 をベースにした配色とダークモード
lib/chemistry/    釉薬の化学:モル質量、材料分析、ユニティ式
lib/recipe/       アプリ、サーバー、MCP ツールで共有するレシピツール:分量、
                  分析、制限、チェック、代替、ブレンド(ADR 19)
lib/cones/        高温焼成用コーン(Orton、SK)とレシピの焼成
lib/regions/      地域と言語、およびガイドに記載する各国の情報:
                  問い合わせ先、店舗、シリカの制限、食品接触に関する規則
lib/pages.js     検索で見つける価値のあるページ(サイトマップ、サーバー、プリレンダー)
lib/mfa.js       2段階サインインでサーバーとアプリが共有する数値
server/           API サーバー。Node がそのまま実行する TypeScript(ビルド手順なし)
  main.ts           起動処理:MongoDB に接続し、リッスンを開始し、正常にシャットダウンします
  app.ts            Express アプリ:/api 以下の API、それ以外のパスで配信するビルド済みクライアント、
                    および各言語で生成するサイトマップ(/sitemap.xml)
  routes/           アカウント、パスワードのリセット、トライアル、および records.ts:ユーザーが保持する
                    7種類のレコードを、1つのルートファクトリーで提供します
  lib/              サインイントークン、レコードのルート、トライアルの制限とクリーンアップ、メール、ロギング
  mcp/              AI アシスタント用 MCP サーバー(/mcp):ツール、プロンプト、ガイド
  models/           Mongoose スキーマ
  test/             サーバーと化学のテスト(Mocha)
e2e/              ブラウザーとアクセシビリティのテスト(Playwright、axe)
data/             npm run seed で読み込む標準の材料、添加剤、アドバイス
scripts/          開発ランナー(npm run dev)、シードスクリプト、メッセージのチェックと
                  ソース(npm run check:i18n、i18n:sources)、Linux でのブラウザーテスト
                  (npm run test:e2e:linux)、およびライブラリにレコードを追加するスクリプト
Dockerfile, compose.yaml
                  本番用イメージ、およびコンテナー内のアプリと MongoDB
deploy/           EC2 での本番環境:Compose ファイル、nginx、cloud-init、デプロイとバックアップ
                  のスクリプト、AWS ポリシーとセットアップコマンド
docs/             意思決定記録(adr/)、ケーススタディ、翻訳計画とガイド
                  (translating.md、translations/)、セットアップに関するメモ
.github/          CI、イメージの公開とデプロイのワークフロー、Dependabot

Docker とデプロイ

Dockerfile は、本番環境向けイメージをビルドします。Debian slim 上で Node 24 を使用し、root 以外のユーザーとして実行します。また、データベースも確認する /api/health のヘルスチェックを備えています。compose.yaml では MongoDB 9 とともに実行し、名前付きボリュームにデータを保存します。

APP_SECRET=<long random string> docker compose up -d --build
docker compose run --rm app node scripts/seed-standard.js    # standard data, once
docker compose logs -f app

アプリは 127.0.0.1:3000 のみで公開されます。Docker が公開するポートは ufw を迂回するため、外部からアクセスできるようにするには前段にリバースプロキシを配置してください。AWS での本番環境の手順については、deploy/README.md と deploy/aws/README.md を参照してください。Windows では Docker Engine は WSL 内で動作します。WSL Debian でのセットアップ時のメモは docs/wsl-local-deploy-debian.md にあります。

ほかの人がアプリにアクセスできる場合は、APP_SECRET に長いランダムな値を設定してください(本番環境では必須です。変更すると、全員がサインアウトします)。パスワードリセットメールを送信できるよう、MAIL_TRANSPORT と SMTP_URL を設定してください。また、SITE_URL(以前の APP_URL)には、利用者がアプリを開くアドレスを設定します。このアドレスはメール内のリンクで使用されます。環境変数または .env に設定してください。compose.yaml はこれらをアプリに渡します(それぞれの説明は .env.example を参照してください)。サインイン、サインアップ、トライアル、パスワードリセットは、クライアントのアドレスごとにレート制限されています。リバースプロキシの背後では、アプリはそのアドレスの取得に X-Forwarded-For の 1 ホップ分を信頼します。

その他

Glazecalc は、MIT License のもとで公開されているオープンソースです。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。