Somiya について
Somiyaは、家族のカレンダー、タスク、買い物リストをAIアシスタントが読み取るためのローカルMCPサーバーです。追加の提案はアプリで人が確認するまで反映されず、直接変更はできません。
主な機能
- 01予定と期限が近いタスクの確認
- 02期間を指定した予定検索
- 03家族のタスクと買い物項目の一覧
- 04タスクや買い物項目の提案送信
- 05トークンのスコープに応じたツール提供
活用シーン
- 01家族の今週の予定の確認
- 02未完了タスクと買い物リストの確認
- 03アプリでの確認用に項目を提案
MCP 対応
ローカルMCPサーバーが、トークンのスコープに応じてSomiyaのカレンダー、タスク、買い物リストのツールをアシスタントに提供します。追加の提案はアプリで確認するまで保留され、直接変更する機能はありません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
somiya-mcp
Somiya 用の MCP サーバーです。ご自身の AI アシスタントを、ご家族のカレンダーやタスクに接続できます。
AI が提案し、確定するのはあなただけです。
サーバーはお使いのマシン上で動作します。アシスタントはサーバーと通信し、サーバーは Somiya API と通信します。Somiya のサーバーが会話を見ることはありません。アシスタントはあなたに見える情報を読み取り、タスクや買い物アイテムを提案できますが、提案はアプリ内で確定をタップするまで、テキストのまま待機します。タップしない限り、ご家族のデータに何も反映されません。
クイックスタート
- Somiya アプリで、設定 → AI アクセス → トークンを作成を選択します。トークンをコピーします(一度だけ表示されます)。
- MCP クライアントの設定に、次の内容を追加します。
{
"mcpServers": {
"somiya": {
"command": "npx",
"args": ["-y", "somiya-mcp"],
"env": { "SOMIYA_TOKEN": "smcp_..." }
}
}
}
- クライアントを再起動し、「今週、家族の予定は何がある?」と尋ねます。
アプリを使わずに試す
作り物の家族であるリベラ家の読み取り専用トークンを公開しています。何もインストールする前に、アシスタントが取得する情報を確認できます。
claude mcp add somiya-demo -e SOMIYA_TOKEN=smcp_NDh8cy3ETXdhz37s-_cr8XgctTUYh3QgUMDIDqTy1zI -- npx -y somiya-mcp
または、上記の設定に追加してください。リベラ家のカレンダー、タスク、買い物リストを読み取れますが、何かを提案することはできません。試す人全員が同じトークンを共有するため、混み合う時間帯には「リクエストが多すぎます」という応答が1分ほど返ることがあります。
ツール
| ツール | 必要なスコープ | 返される内容 |
|---|---|---|
somiya_whats_next | — | 今後7日間の予定と期限当日・期限超過のタスク |
somiya_get_family | — | メンバーの名前と役割 |
somiya_whoami | — | このトークンのラベル、スコープ、役割、有効期限 |
somiya_search_events | read:calendar | 2つのタイムスタンプの間にある予定 |
somiya_list_tasks | read:tasks | 家族の未完了タスク |
somiya_list_shopping | read:tasks | 買い物リストとそのアイテム |
somiya_suggest_task | suggest:changes | アプリで確定するタスクを申請します。タスクは作成されません |
somiya_suggest_shopping_item | suggest:changes | アプリで確定するアイテムを申請します。アイテムは作成されません |
トークンのスコープで許可されているツールだけが公開されるため、アシスタントに拒否されるツールが表示されることはありません。トークンなしで起動すると、サーバーはすべてのツールを一覧表示し、それぞれのツールがトークンの取得方法を回答します。スコープはトークンの作成時に選択します。読み取りスコープはデフォルトで有効になっており、suggest:changes は無効になっています。
設定
| 変数 | デフォルト | |
|---|---|---|
SOMIYA_TOKEN | — | 必須です。 アプリで発行します。 |
SOMIYA_API_URL | https://api.somiya.app | セルフホストまたはステージングの場合のみ変更します。 |
プライバシー
- Somiya が AI との会話を見ることはありません。 両者と通信するのはこのプロセスだけで、あなたのマシン上で動作します。
- AI プロバイダーには、あなたが送信した内容が表示されます。 アシスタントに貼り付けた内容は、そのプロバイダーの規約に従います。これはあなた自身の選択と同意であり、Somiya があなたに代わって決められることではありません。
- トークンを作成した画面から、いつでも取り消せます。次回の呼び出しから使えなくなります。
- トークンの有効期限は90日です。
- Somiya は、キャパシティ計画のために各ツールの呼び出し回数を数えます。記録されるカウンターの情報はツール名と日付のみで、ユーザー、家族、引数、結果は記録されません。
自動で書き込めない理由
信頼できないコンテンツ(転送されたメール、チラシ、ウェブページなど)を読むアシスタントは、そのコンテンツに誘導される可能性があります。「タスクを削除する」ツールを与えると、プロンプトインジェクションは単なる珍しい現象ではなく、破壊的なものになり始めます。だからこそ、境界そのものがプロダクトなのです。すべての変更は、アプリ内で人を介して行われます。
提案は、2つのボタンが付いた1行で届きます。確認すると、あなた自身がタップした場合と同じコードが、同じ権限チェックと監査証跡のもとで実行されます。却下すれば何も残りません。回答のない提案は1日後に破棄されます。この確認は設定ではありません。「常に許可」はありません。常時許可の切り替えを設ければ、注入された指示が実際の変更につながってしまうからです。
編集と削除は、提案としても提供されません。追加を提案できるアシスタントがもたらす最悪の事態は、あなたの時間を無駄にすることです。一方、削除を提案できるアシスタントは、1回のタップごとに損失の承認を求めることになります。
確認のプロンプトを読まなくなれば、プロンプトがないのと同じなので、通知の量にも上限を設けています。クライアントごとの未回答の提案は最大10件、アイテムごとではなく通知のまとまりごとに1件だけ通知し、設定したおやすみ時間も尊重されます。
開発
pnpm install
pnpm build
Somiya モノレポ内では、代わりに pnpm install --ignore-workspace を使用してください。これは重要です。このパッケージは意図的にモノレポの pnpm ワークスペースの外に置かれています。リポジトリでは node_modules がホイストされており(shamefully-hoist=true)、HTTP サーバーの依存関係ツリーをワークスペースに取り込むと、本来モバイルアプリのリゾルバーから参照されるべきではないパッケージまで、参照可能になってしまいます。
Node 20 以降が必要です(グローバルな fetch を使用します)。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。