店長の右腕
スマレジの数字を、AIに話しかけて扱えるようにするMCPサーバーです。スマレジの審査を通して、アプリマーケットで公開中です。ここには、何を解こうとして何を作らないと決めたかを書いています。
解いた困りごと
スマレジには数字が十分にあります。売上も、在庫も、顧客も。足りないのは読む時間と、読み方のほうです。分析の画面はありますが、店長が知りたいのはたいてい「先月と比べてどうか」「何が落ちているか」「そろそろ何を発注すべきか」で、それを画面の操作に翻訳する作業が毎回発生します。
手元のAIに聞ければ早い。ところがAIは店の数字を知りません。数字を貼り付ければ答えますが、貼り付ける作業が新しい手作業になります。
そこで、AIがスマレジのデータを自分で取りに行けるようにすることをこのアプリの役割に決めました。使う人は、いつも使っているAIにそのまま話しかけます。
作らないと決めたこと
AIに道具を渡す製品では、渡す道具を選ぶことがほぼ設計のすべてでした。足すほど良くなるものではありません。
「何でも聞ける」ツールを削除した。開発の途中まで、自然文の質問を受けてサーバー側で解釈し、必要なデータを集めて答える万能ツールを持っていました。これを消しました。理由は3つあります。MCPの標準的な作り方から外れていて、AIクライアントごとに挙動が読めないこと。サーバーの中でAIを呼ぶので、使われるほどこちらのコストが増えて、利用回数の制限を入れざるを得なくなること。そして同じことは、クライアント側のAIが複数の道具を組み合わせれば実現できること。消した結果、サーバー側のAI利用料はゼロになり、回数制限も不要になりました。製品から機能を1つ引いて、制限も1つ消えました。
道具の数を15で打ち止めにした。スマレジのAPIを全部ツールにすることもできますが、選択肢が増えるほどAIは選び間違えます。渡す道具が多い製品ほど賢く見えて、実際には使いものにならなくなります。これ以上足すなら、どれかを統合するか捨てるという規則を先に決めました。実際、機能拡張のときも新規は2つだけにして、残りは既存の道具の出力を厚くする形で吸収しています。
条件の掛け合わせを、平面にしない。売上の集計に「粒度」と「集計軸」の2つのパラメータを持たせると、組み合わせが16通りになります。人間には便利ですが、AIには誤選択の温床です。1つの道具につき1つの切り口に整理し直しました。
書き込みは、ほぼしない。15個のうち書き込む道具は2つだけで、どちらもまず変更内容を出して、人が確認してから実行します。AIが言葉のとおりに値段を書き換える機能は、便利さと事故が同じ量あります。
店長の仕事以外に手を出さない。勤怠も、経理も、設定の変更も含めません。名前を「店長の右腕」にしたのは、この線を製品名で引くためでもあります。何でもできるAIツールにすると、範囲が決まらないまま増え続けます。
中心に置いたのは、AIに渡す道具の粒度
この製品でいちばん考えたのは、1つの道具がどこまでやるか、でした。
細かすぎると、AIは何十回も呼び出すことになり、答えが返るまでが遅くなります。粗すぎると、聞きたいことに対して余計な数字が大量に返ります。落としどころとして、店長が口に出す1つの問いが、だいたい1〜3個の道具で片づく粒度に揃えました。
朝の状況確認だけは例外で、4つの分析をまとめて返す道具を別に用意しています。毎朝必ず同じことを聞くと分かっているものは、まとめたほうが速くて安いからです。ここは「よく使う組み合わせだけ、先に束ねておく」という判断です。
返すのは構造化されたデータで、文章にはしません。文章にするのはクライアント側のAIの仕事です。役割を重ねないようにしています。
「契約しているか」を、どう確かめるか
実装で厄介だったのは分析でも生成でもなく、アプリの契約状態の判定でした。
スマレジには「このアプリを契約しているか」を問い合わせるAPIがありません。契約の情報は、購入や解約が起きたときにこちらへ届く通知でしか分かりません。つまり通知が届かなかった人をどう扱うかを決める必要がありました。
最初は「不明なら試用期間として扱う」にしていました。親切なつもりでしたが、これは穴です。アプリマーケットで買っていないスマレジ利用者が、ログインするだけで無料試用を取れてしまいます。そこで不明なら「未契約」として扱い、通知が後から届いた時点で契約に昇格する形に変えました。通知が遅れても順序が入れ替わっても、最終的に正しい状態に落ち着きます。
未契約の人はダッシュボードの中で弱く止めるのではなく、専用の画面へ隔離しました。画面上の表示だけで止めていると、裏側のPOSTを直接叩く経路が残ります。止める場所は、画面ではなく入口に置くということです。
扱うデータの範囲を先に決めた
店の数字をAIから触れるようにする製品なので、範囲は特に慎重に決めました。
読み取りが中心です。15個のうち13個は読むだけで、書き込む2つも確認を挟みます。
必要な権限は増やしていません。機能を拡張したときも、追加でスマレジに要求する権限はゼロ件を保ちました。すでに取れるデータの中で工夫すれば足りたからです。権限は一度広げると狭められません。
解約するとAPIキーは無効になり、データも順次削除されます。スマレジへの接続情報は暗号化して保存しています。
このアプリの情報
- 対象
- 小売・飲食(APIが使えるプレミアム以上のプラン)。AIクライアント側の契約は別途必要です
- 料金
- 1店舗あたりの月額。15日間の無料お試しつき。金額はスマレジ・アプリマーケットの掲載を正とします。導入・契約・変更もアプリマーケットからのお手続きになります
- 公開状況
- スマレジの審査を通してアプリマーケットで公開中
- 主な構成
- Cloudflare Workers(Hono)・D1、MCP(Model Context Protocol)サーバー、スマレジ・プラットフォームAPI(OAuth+アプリアクセストークン)
関連する記事
同じ困りごとを、アプリを使わない方法まで含めて書いた記事があります。
使ってみる、または似たものを作る
使えるAIクライアント・接続の手順・料金は、アプリの紹介ページに載せています。15日間は無料でお試しいただけます。
「自社の基幹システムもAIから読めるようにしたい」「社内向けに専用のMCPサーバーが欲しい」といった相談も受けています。自社専用アプリなら、スマレジの審査もアプリマーケットへの手数料もかかりません。