Mappyは、Experience Builderアプリの上に浮かび、そのアプリについての質問に答える、折りたたまれた地図のキャラクターです。昔のペーパークリップ型アシスタントを思い浮かべてください。ただし、こちらは地図で、アプリのことをちゃんと理解していて、情報がブラウザーの外に出ることもありません。ウィジェットは無料で、ソースコードはGitHubにあります。
MAPPYができること
MappyはExperience Builder 1.21用のカスタムウィジェットです。アプリ内の情報(ウィジェット、ページ、レイヤー、ブックマーク、ヘルプガイド)と地図内の情報(レイヤー、フィールド、コードリスト)を把握しています。「区画を表示して」「公園はどこ?」「2エーカーを超える区画はいくつ?」「R-4ってどういう意味?」などと入力したり話しかけたりすると、Mappyが操作するか、答えてくれます。サイドバーやコントローラーの中に隠れているツールがあれば、Mappyがそこまで移動して開き、場所を示します。
すべてブラウザー内で動作します。LLMもAPIキーも外部サービスもなく、費用もかかりません。アプリ独自のArcGISサービスを利用する、ローカルで動作するコマンド・検索アシスタントです。
用語の意味を質問できます。地図や都市に関する約70語(地役権、氾濫原、通行権、区画など)を平易な言葉で解説する用語集を内蔵しています。また、コードは地図独自のコードリストから読み取るため、「RM-8ってどういう意味?」という質問には、定型リストではなくゾーニングレイヤーの情報に基づいて答えます。
場所について質問できます。「250 N 5th Stの所有者は?」「何ゾーンにある?」「自宅住所から最寄りの消火栓は?」「市庁舎への道順は?」「2つの住所を比較して」など。リポジトリにある小規模な読み取り専用MCPサーバー(Python製、IIS上で動作し、ArcGISサービスと通信)または、住所や地点のツールを備えた任意のMCPサーバーで動作します。Esri独自のMCPサーバーが公開された際には、それを経由させることもできます。
自然な言葉でデータを質問できます。「最も区画数の多いゾーニングは?」「最大の区画は?」「5エーカーを超える区画は?」「1990年より古い消火栓は?」「所有者がSmithの区画は?」など。結果をアプリのTableウィジェットに直接表示できます。
あなたの地域に合わせて使えます。Mappyは特定の町に固定されていません。設定には、組織名(市、郡、水道区など)、地域、ウェブサイト、地域の豆知識ライブラリを登録できます。入力した地域(市と州、または市と国)について、Wikipediaから豆知識の初期セットを作成するボタンもあります。内容を確認して不要なものを削除してから保存できます。Mappyの表現、豆知識、ジョークはすべてこれらの設定に沿ったものになります。
入力ミスにも対応します。リクエストを読み取る前に、Mappyが文字の入れ替わり、隣のキーの誤入力、文字の重複や抜け、単語のつながりなどを修正します。GitHubで毎週言語パックをビルドし、読み取り精度を継続的に向上させています。見逃した内容は、ワンクリックで課題を報告できるテンプレートから知らせることができます。
ヘルプガイドを内蔵しています。MappyはEsri標準ウィジェットのヘルプを備え、自分のヘルプファイルはフォルダーをスキャンして読み込めます。さらに、設定から独自の質問と回答を登録でき、そちらが常に優先されます。
親切な案内役です。地図では答えられないこと(窓口の営業時間、請求書、会議、許可申請、道路の穴など)には、「見つかりませんでした」ではなく、ウェブサイトや「懸念事項を報告」ツールへ誘導する、短く親しみやすい回答をします。
そしてMAPPYは楽しい
年間80日分の衣装。円周率の日、地球の日、GISの日、タコスの日、カボチャの季節など、たくさんの機会に合わせて、帽子をかぶり、何かを手に持ち、相棒を連れて、頭からつま先まで装いを変えます。宗教的、政治的、ブランド関連の要素はないので、すべての住民に親しみやすいデザインです。「どうしてカボチャなの?」と聞けば、Mappyが教えてくれます。
ちょっとしたパフォーマンス。指でトントンしたり、頭をかいたり、折り紙飛行機になってひと回りしたり、自転車で走り去ったり、読書用メガネをかけたり。サーバー呼び出し中は歯車が回り、ヒントがあるとガラスをノックし、地図をリセットするとリサイクルボックスに飛び込みます。ジョーク、なぞなぞ、「コンコン」遊び、じゃんけん、魔法のコンパスもあります。効果音は任意で、初期設定ではオフです。すべてオリジナルのアートで、コピーしたものはありません。正式なアプリでは、これらをすべてオフにできます。
アクセシブル。Mappyは実際に操作できるボタンで、チャットはダイアログです。キーボード操作と動きの軽減設定にもすべて対応し、WCAG 2.2 AAに準拠しています。
リポジトリとリリース:
https://github.com/brianmcleer/mappy-widget
MCPサーバーやテストスイートを含め、ソースコードはすべて公開されています。ご質問やアイデアをぜひお寄せください。