Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Azure と Flutter 2025.10.4

Azure と Flutter 2025.10.4

Avatar for Satoru Fujimori

Satoru Fujimori

October 07, 2025
Tweet

More Decks by Satoru Fujimori

Other Decks in Programming

Transcript

  1. Azure & Flutter 2025.10.4 FlutterKaigi mini @Sapporo Satoru Fujimori /

    @masatoru Flutterアプリ開発にAzureを取り入れてみた話
  2. ✅ 藤森 智 / Satoru Fujimori 株式会社ケイジェイシステムズ代表 株式会社ゼンアーキテクツ メンバー ✅

    やっていること 各種開発支援(Azure, モバイルアプリ) C#, Python ✅ 取り組んでいるプロジェクト 古典データ検索サービス 電子書籍の生成サービス など About me
  3. Open AI Azure Function Azure AD B2C アーキテクチャ図 Cosmos DB

    AI Search OR trigger injection ※Entra ID OR React Flutter Windows
  4. この仕組みの利点 🚀 スモールスタートが可能 📈 自動スケーリング 🔐 セキュリティが標準で強い ⚙️ 運用が軽い VM・OSの管理不要

    🧠 AI との親和性が高い OpenAI とのRAG連携 🧾 課金が明確で予算コントロールがしやすい 🛡 可用性・冗長性が高い SLAsあり 障害時の回復が速い
  5. Azure Functions バックエンドの API として使用 ✅ 特徴 必要なときだけ動く「サーバーレス関数」 Python /

    C# など複数言語に対応 HTTP トリガー、タイマートリガーなどが使える 小さい API をサクッと作ってデプロイできる ✅ 課金モデル 従量課金(consumption plan):使った分だけ課金 Flex Consumption:起動が高速, VNet統合 ✅ 今回の用途 Flutter からのリクエストを受ける Azure OpenAI へ問い合わせ RAG 用のデータ取得や整形
  6. MCPサーバーを作る using Microsoft .Azure.Functions.Worker; using Microsoft .Azure.Functions.Worker.Extensions.Mcp; public class EchoTool

    { [Function(nameof(GetKashu))] public string GetKashu( // ツール名「GetKashu 」を公開 [McpToolTrigger("GetKashu", "Web 図書館(webtosho) の歌集一覧から歌集を検索します")] ToolInvocationContext context, // ツール引数を定義(必要な数だけ追加可能) [McpToolProperty("filter", "string", " 検索したい歌集名", Required = true)] string text ) { return text; } } デプロイするとエンドポイントが生成される xxxxxx.azurewebsites.net/runtime/webhooks/mcp
  7. MCPサーバークライアントを作る ✅MCP サーバーと接続 SseClientTransport を使って、HTTP + SSE で公開されている MCP サーバーに

    接続 ✅クライアント生成 McpClientFactory.CreateAsync(clientTransport) でクライアントを作成 ✅ツールの一覧取得 ListToolsAsync() を呼び、利用可能な MCP サーバーのツールを確認 ✅目的のツール選択 例:get_kashu ツールを取得 ✅ツールの実行 CallToolAsync() にツール名とパラメータ(例:filter = " 万葉集" )を渡して実行 ✅結果の取得 CallToolResult.Content から結果を取得し、必要に応じて JSON デシリアライズ
  8. まとめ ✅ Azure + Flutter MCP サーバーは Azure Function で簡単に作れる

    Azure の PaaS 構成は運用が楽でスケーラブル エンタープライズにも強い ✅ 今後やりたいこと MCP サーバーの充実 CustomPaint / Impeller で縦書き表示