bizgate-mcp-server 0.7.0 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bizgate-mcp-server",
3
- "version": "0.7.0",
3
+ "version": "0.7.1",
4
4
  "description": "BizGate API × Claude 連携 MCP サーバー (enrich パイプライン + R2 + Neon)",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: bizgate
3
- description: BizGate MCP の単一入口ルーター。会社リスト補強 (enrich) / 1 社調査 / 利用残量確認 を選択式メニューで案内する。「BizGate を使いたい」「営業リスト強化したい」「会社情報を補強したい」など BizGate 関連の曖昧な発話を受け取ったら必ず最初にこのスキルでメニューを提示しユーザーに作業を選ばせる。"BizGate", "bizgate", "ビズゲート", "営業リスト", "会社情報補強", "会社情報を補強", "リスト補強", "リスト強化", "エンリッチ", "엔리치", "회사 정보 보강", "비즈게이트", "営業データ"
3
+ description: BizGate MCP の単一入口ルーター。会社基本情報検索 / 部署検索 / マーケティングタグ / キーマン検索 / 1 社統合調査 / 利用残量確認 を選択式メニューで案内する。「BizGate を使いたい」「営業リストを強化したい」「会社情報を調べたい」「部署の電話番号を知りたい」など BizGate 関連の曖昧な発話を受け取ったら必ず最初にこのスキルでメニューを提示しユーザーに作業を選ばせる。"BizGate", "bizgate", "ビズゲート", "営業リスト", "会社情報", "会社情報を調べ", "部署検索", "部署リスト", "キーマン", "키맨", "비즈게이트", "会社調査", "営業データ"
4
4
  ---
5
5
 
6
6
  # BizGate ルーター
@@ -9,122 +9,169 @@ BizGate MCP の **単一入口** です。ユーザーが BizGate 関連で曖
9
9
 
10
10
  ## 必ず最初に出すメニュー
11
11
 
12
- ユーザーへの提示文 (そのまま見せる、ユーザー言語に合わせて日本語 / 한국어 切替):
12
+ ユーザーへの提示文 (そのまま見せる、日本語ベース。한국어 要望時のみ切替):
13
13
 
14
14
  ```
15
15
  こんにちは!BizGate です 👋
16
16
  何をしたいですか?
17
17
 
18
- 1️⃣ 会社リストを補強する (enrich)
19
- 既にある会社名リストに、代表者・売上・業種・部署・キーマン情報を追加
18
+ 1️⃣ 会社の基本情報を調べる
19
+ 会社名や法人番号から: 代表者・売上・業種・住所・電話・HP
20
20
 
21
- 2️⃣ 1 社を詳しく調べる
22
- 特定の 1 社の基本情報 + 部署 + キーマン情報を一括取得
21
+ 2️⃣ 部署リストを作る (選択式フロー)
22
+ 部署カテゴリ + キーワード + 都道府県を選んで、部署名 + 電話番号を取得
23
23
 
24
- 3️⃣ 今日の残り利用回数を確認する
24
+ 3️⃣ マーケティングタグを見る (課金なし)
25
+ SNS 導入 / MA ツール / 事業サービス / 活動タグを確認
25
26
 
26
- 番号 (1 / 2 / 3) または自然言語でお選びください。
27
+ 4️⃣ キーマン (担当者名) を探す
28
+ 担当者氏名・役職・部署・電話・住所を取得
29
+
30
+ 5️⃣ 1 社をまるごと詳しく調べる
31
+ 基本情報 + 部署 + 人事 (役職一覧) を一括取得 (API 3 回)
32
+
33
+ 6️⃣ 今日の残り利用回数を確認する
34
+
35
+ 番号 (1〜6) または自然言語でお選びください。
27
36
  ```
28
37
 
29
38
  ユーザーの返答に応じて以下の分岐へ。
30
39
 
31
40
  ---
32
41
 
33
- ## 1️⃣ 会社リストを補強する (enrich)
42
+ ## 1️⃣ 会社の基本情報を調べる
43
+
44
+ ### Step A — 会社名 or 法人番号を聞く
45
+
46
+ ```
47
+ 調べたい会社名 (または 13 桁の法人番号) を教えてください。
48
+ HP URL / メール / 電話番号 もあれば一緒に教えていただくと精度が上がります。
49
+ ```
50
+
51
+ ### Step B — 1 行確認
34
52
 
35
- ### Step A — 入力リストを取得
53
+ ```
54
+ 「◯◯◯」を調べます (基本情報のみ、API 約 1 回利用)。
55
+ 進めて OK ですか?
56
+ ```
36
57
 
37
- ユーザーに会社名リストを聞く。受け入れ形式:
58
+ ### Step C — 実行
38
59
 
39
- - 直接貼り付け (1 行 1 社、またはカンマ区切り)
40
- - Excel / CSV ファイルパス
41
- - 「前回の検索結果」など既存データからの抽出
60
+ 明示同意を得たら **`bizgate__company_search`** tool を呼ぶ:
42
61
 
43
- 法人番号 (13 桁) があれば一緒にもらうとマッチング精度が上がる旨を 1 行で案内。
62
+ - `shogo`: 会社名 (法人番号でない場合)
63
+ - `compno`: 法人番号 (13 桁の数字なら)
64
+ - `hpurl` / `email` / `tel`: ユーザーが追加で渡したもの (任意)
44
65
 
45
- ### Step B 深度 (depth) を選択させる **【必須】**
66
+ 返り値のマークダウンをそのまま提示。0 件なら「表記を変えてみてください (株式会社の有無 / 漢字↔カタカナ)」と添える。
46
67
 
47
- そのまま提示:
68
+ ---
48
69
 
49
- ```
50
- 何をどこまで取得しますか?
70
+ ## 2️⃣ 部署リストを作る (選択式フロー)
51
71
 
52
- 🟢 basic (基本情報のみ・速い)
53
- 各社の: 代表者 / 売上 / 業種 / 住所 / 電話 / メール
54
- → 1 社あたり 1〜3 回の API 利用
72
+ 部署検索は **5 ステップの選択式フロー** で行うため、専用スキル **`/department-search`** に委譲する。
55
73
 
56
- 🔵 full (部署・キーマンまで)
57
- basic に加え: 部署 (最大 10) + キーマン (最大 5)
58
- → 1 社あたり 3〜5 回の API 利用 (確証マッチ社のみ深掘り)
74
+ ### 動作
59
75
 
60
- 📊 目安 (50 社の場合)
61
- basic → 約 100〜150 回
62
- full → 約 200〜300 回
76
+ ユーザーが「2」または「部署検索」「部署リストが欲しい」等を選んだら、即座に以下を案内し `department-search` スキルを起動する:
63
77
 
64
- basic / full のどちらにしますか?
78
+ ```
79
+ 部署検索は専用フローで進めます!
80
+ カテゴリ → キーワード → 都道府県 → 会社名 の順に選択していくだけで完了します。
65
81
  ```
66
82
 
67
- ユーザー返答を保持 (`depth=basic` or `depth=full`)。
83
+ その上で `department-search` スキルのロジックに従って Step ①〜⑤ を進める (`SKILL.md` の内容を参照)。
68
84
 
69
- ### Step C — 作業範囲の最終確認 **【明示同意必須】**
85
+ 最終的に **`bizgate__department_search`** tool を呼ぶ。
86
+
87
+ ---
70
88
 
71
- 以下を 1 メッセージで提示し、ユーザーから「はい / OK / 進めて / お願いします」など明示同意を得るまで tool を呼ばない:
89
+ ## 3️⃣ マーケティングタグを見る (課金なし)
72
90
 
91
+ ### Step A — 会社名 or 法人番号を聞く
92
+
93
+ ```
94
+ タグを確認したい会社名 (または 13 桁の法人番号) を教えてください。
95
+ ※ この検索は API 課金が発生しません。
73
96
  ```
74
- これで進めます ✅
75
97
 
76
- 🎯 対象: ◯◯ (depth=◯◯)
77
- ⏱️ 想定所要時間: 約 ◯ 分
78
- 💰 想定 API 利用: 約 ◯ 〜 ◯ 回
79
- 📄 出力:
80
- - 会社別 wide-format CSV (1 行 = 1 社)
81
- - 部署別 long-format CSV (1 行 = 1 部署 = 1 電話)
82
- - 上位 5 社の即時プレビュー
98
+ ### Step B 即実行 (事前確認不要、API 0 回)
99
+
100
+ **`bizgate__marketing_tags`** tool を呼ぶ:
101
+
102
+ - `shogo` または `compno`
103
+
104
+ 返り値 (SNS タグ / MA ツール / 事業サービス / 活動タグ) をそのまま提示。タグが 0 件でも「BizGate 側に登録がない可能性があります」と案内。
105
+
106
+ ---
107
+
108
+ ## 4️⃣ キーマン (担当者名) を探す
109
+
110
+ ### Step A — 会社名 + 絞り込み条件を聞く
83
111
 
84
- 進めますか? (はい / depth 変更 / キャンセル)
85
112
  ```
113
+ キーマンを探したい会社名 (または 13 桁の法人番号) を教えてください。
86
114
 
87
- ユーザー言語に合わせて 한국어 でも OK。
115
+ 任意で絞り込めます:
116
+ - 部署カテゴリ (例: 3=人事 / 13=営業 / 14=製造)
117
+ - 役職・部署キーワード (例: 部長, 役員)
118
+ - 都道府県
119
+ - 何人まで詳細を取るか (デフォルト 10 名、最大 50 名)
120
+ ```
88
121
 
89
- ### Step D実行
122
+ ### Step B作業範囲の最終確認 【明示同意必須】
90
123
 
91
- 明示同意を得たら **`bizgate__enrich_companies`** tool を以下のパラメータで呼ぶ:
124
+ API 消費が **1 + N 回** (N = 詳細取得人数) なので必ず事前提示:
92
125
 
93
- - `companies`: ユーザーから受け取ったリスト (name + optional corporate_number)
94
- - `depth`: Step B で決めた値 (`"basic"` または `"full"`)
95
- - `owner_slack_user_id`: 既知なら設定 (任意)
96
- - `natural_language`: ユーザーの元発話 (任意、Neon 記録用)
126
+ ```
127
+ これで検索します
97
128
 
98
- tool が返すマークダウン (Stage 別マッチ分布 + 別会社候補テーブル + 未マッチテーブル + 上位 5 社プレビュー) は **そのままユーザーに見せる**。
129
+ 🎯 会社: ◯◯◯
130
+ 🔍 絞り込み: ◯◯ / なし
131
+ 👥 詳細取得人数: ◯ 名
132
+ 💰 API 利用: 約 ◯ 回 (一覧 1 回 + 詳細 ◯ 回)
99
133
 
100
- 完了メッセージに API 上限到達の警告が含まれていたら、強調表示して「明日以降に未処理分を再実行できます」と添える。
134
+ 進めますか? (はい / 人数変更 / キャンセル)
135
+ ```
101
136
 
102
- ### 検索の内部挙動 (ユーザーには説明不要)
137
+ ### Step C — 実行
103
138
 
104
- 1 社につき以下の順で検索を試し、最初に **確証マッチ** した時点で打ち切る:
139
+ 明示同意を得たら **`bizgate__keyman_search`** tool を呼ぶ:
105
140
 
106
- 1. **Stage 1** 入力名そのまま
107
- 2. **Stage 2** — 株式会社 を前後に付けた変形 (`株式会社◯◯` / `◯◯株式会社`)
108
- 3. **Stage 3** — カタカナ ↔ 英文 変換 (例: `トヨタ → Toyota`、`toyota → トヨタ`)。한자 회사명은 Stage 3 自動 skip
141
+ - `shogo` または `compno` (必須)
142
+ - `cList`: 部署カテゴリ番号 (任意、カンマ区切り)
143
+ - `bKwd`: キーワード (任意、カンマ区切り)
144
+ - `bKOpr`: `"0"` (OR) / `"1"` (AND)
145
+ - `pList`: 都道府県コード (任意)
146
+ - `limit`: 詳細取得人数 (デフォルト 10、最大 50)
109
147
 
110
- 確証マッチの条件: **法人番号一致** OR **法人格 (株式会社等) を除いた正規化会社名が完全一致**。fuzzy ヒットしたが確証取れない場合は `bizgate_suggested_name` 列に BizGate 返却名を残し、他フィールドは空のまま。
148
+ 返り値をそのまま提示。
111
149
 
112
150
  ---
113
151
 
114
- ## 2️⃣ 1 社を詳しく調べる
152
+ ## 5️⃣ 1 社をまるごと詳しく調べる
115
153
 
116
- 会社名を聞く。1 行確認のみで OK (API 3 回):
154
+ ### Step A 会社名を聞く + 1 行確認
117
155
 
118
156
  ```
119
- 「◯◯◯」を調べます (基本情報 + 部署 + キーマン、API 約 3 回利用)。
157
+ 「◯◯◯」をまるごと調べます (基本情報 + 部署 + 人事の役職、API 約 3 回利用)。
158
+ ※ 担当者の氏名は含みません (必要な場合は別途「4️⃣ キーマン検索」をご利用ください)。
120
159
  進めて OK ですか?
121
160
  ```
122
161
 
123
- 同意を得たら **`bizgate__company_full`** tool を呼ぶ。結果はそのままユーザーに提示。
162
+ ### Step B — 実行
163
+
164
+ 明示同意を得たら **`bizgate__company_full`** tool を呼ぶ:
165
+
166
+ - `shogo` または `compno`
167
+ - `hpurl` / `email`: 精度向上用 (任意)
168
+ - `bKwd` / `cList`: 部署・人事の絞り込み (任意)
169
+
170
+ 返り値をそのまま提示。
124
171
 
125
172
  ---
126
173
 
127
- ## 3️⃣ 今日の残り利用回数を確認する
174
+ ## 6️⃣ 今日の残り利用回数を確認する
128
175
 
129
176
  事前確認不要 (API 0 回)。即座に **`bizgate__usage_status`** tool を呼ぶ。結果はそのままユーザーに見せる。
130
177
 
@@ -132,11 +179,12 @@ tool が返すマークダウン (Stage 別マッチ分布 + 別会社候補テ
132
179
 
133
180
  ## ルーター共通ルール
134
181
 
135
- 1. **ユーザーに tool 名を見せない** (`bizgate__enrich_companies` 等は内部のみ)
182
+ 1. **ユーザーに tool 名を見せない** (`bizgate__company_search` 等は内部のみ)
136
183
  2. **インフラ / 技術用語を使わない** (MCP、R2、Neon、Cloudflare、Solr、Zod、Stage、wanakana など)
137
- - 例外: **「Stage 1 / 2 / 3」** は完了メッセージのマッチ分布表で出ているので、聞かれたら 1 行で「入力名そのまま / 株式会社 を付け足し / カタカナ↔英文 を試した」と説明
138
184
  3. **API 残量は不足時のみ警告** (常時表示しない)
139
185
  4. **エラー時は 1 行原因 + 解決方法 + 「データは消えていません」の安心メッセージ**
140
- 5. **作業範囲 + API 利用量 + 出力形式の事前提示 + 明示同意取得** enrich 時必須。1 社調査は 1 行確認、残量確認は確認不要
186
+ 5. **API 消費が複数回になる作業 (4️⃣ キーマン / 5️⃣ 1 社統合) は明示同意必須**。基本情報・タグ・残量確認は 1 行確認のみ
141
187
  6. **応答言語はユーザーに合わせる** (日本語 / 한국어)
142
- 7. **メニュー外の依頼** (例: 「○○ 業界の新規リストを作って」) は丁寧に「BizGate は既存リストの補強と特定社調査のみで、新規発掘は対応していません」と案内
188
+ 7. **メニュー外の依頼** (例: 「○○ 業界の新規リストを作って」「リストの代表者を一括補強したい (enrich)」) は丁寧に「このメニュー外の機能です。別途エンジニアにご依頼ください」と案内
189
+ - 例外: enrich (会社リスト補強) を要望された場合は「現在ルーターからは案内していませんが、`bizgate__enrich_companies` tool は利用可能です。エンジニアに直接ご相談ください」と案内
190
+ 8. **部署検索 (2️⃣) は専用スキル `/department-search` に委譲する** (このスキル内では呼び出すだけ)
@@ -0,0 +1,215 @@
1
+ ---
2
+ name: department-search
3
+ description: BizGate MCP の bizgate__department_search を選択式フローでガイドする補助スキル。部署カテゴリ (15 択) → カテゴリ別キーワード → 都道府県 (任意) → 会社名 / 法人番号 の順に選ばせ、最後に部署名と電話番号のリストを生成する。「部署リストが欲しい」「営業先の部署を絞り込みたい」「○○の人事部の電話番号を調べたい」「カミナシ向けの施設管理部を探したい」など部署検索系の依頼を受け取ったらこのスキルでフローを開始する。"部署検索", "部署リスト", "department-search", "부서 검색", "부서 리스트", "施設管理", "設備管理", "人事部", "経営企画"
4
+ ---
5
+
6
+ # 部署検索 (department-search) — 選択式フロー
7
+
8
+ `bizgate__department_search` を、営業部メンバーが迷わず使えるように **5 ステップの対話型フロー** に分解した補助スキルです。
9
+
10
+ ## 必ず最初に出すメッセージ
11
+
12
+ ```
13
+ 部署検索を始めます 🔍
14
+ 5 ステップで進めます:
15
+
16
+ ① 部署カテゴリを選ぶ (1〜15)
17
+ ② キーワードを選ぶ
18
+ ③ 都道府県を絞る (任意)
19
+ ④ 会社名 or 法人番号を入力
20
+ ⑤ 自動で検索 → 部署名 + 電話番号リストを生成
21
+
22
+ API 利用: 1 回 (検索 1 回分のみ)
23
+ ```
24
+
25
+ その後 Step ① から順に進める。
26
+
27
+ ---
28
+
29
+ ## Step ① — 部署カテゴリ (15 択、必須)
30
+
31
+ そのまま提示:
32
+
33
+ ```
34
+ ① どの部署カテゴリを対象にしますか?
35
+
36
+ 1: 経営企画 意思決定者へのアプローチ
37
+ 2: 営業企画 販促・営業推進部門
38
+ 3: 人事 HR 系サービス営業
39
+ 4: 経理 財務・会計ツール営業
40
+ 5: 総務 備品・オフィス系サービス営業
41
+ 6: 広報 IR PR・マーケ系
42
+ 7: 法務 リーガル系サービス
43
+ 8: 研究 R&D・技術系
44
+ 9: 購買 調達・資材系
45
+ 10: システム IT・DX・SaaS 営業
46
+ 11: 海外 グローバル展開企業向け
47
+ 12: 環境 CSR サステナビリティ系
48
+ 13: 営業 法人営業・代理店
49
+ 14: 製造・工場 設備管理・現場系 (カミナシ向け)
50
+ 15: その他 現場拠点・支店・エリア
51
+
52
+ 番号 (1〜15) を 1 つ選んでください。
53
+ ```
54
+
55
+ ユーザーの選択を **`cList` 値** として保持 (例: 14 を選んだら `cList="14"`)。複数選択された場合はカンマ区切り (例: `cList="3,13"`)。
56
+
57
+ ---
58
+
59
+ ## Step ② — カテゴリ別キーワード (任意・複数選択可)
60
+
61
+ Step ① の選択値ごとに以下のキーワード候補を提示する。**「キーワードなしで進める」も常に選択肢として最後に提示**する (= 該当カテゴリ全体を対象)。
62
+
63
+ ### カテゴリ別キーワード表
64
+
65
+ | カテゴリ | 提示するキーワード候補 |
66
+ |---------|---------------------|
67
+ | 1 経営企画 | 経営企画 / 事業企画 / 経営戦略 / 新規事業 |
68
+ | 2 営業企画 | 営業企画 / 販売促進 / 営業推進 / マーケティング |
69
+ | 3 人事 | 採用 / 研修 / 労務 / 人材開発 |
70
+ | 4 経理 | 経理 / 財務 / 会計 / 経営管理 |
71
+ | 5 総務 | 総務 / 庶務 / 施設 / 管理部 |
72
+ | 6 広報 IR | 広報 / IR / PR / コミュニケーション |
73
+ | 7 法務 | 法務 / コンプライアンス / 知財 / 契約 |
74
+ | 8 研究 | 研究 / 開発 / R&D / 技術開発 |
75
+ | 9 購買 | 購買 / 調達 / 資材 / 仕入 |
76
+ | 10 システム | システム / IT / DX / 情報 |
77
+ | 11 海外 | 海外 / グローバル / 国際 / 海外事業 |
78
+ | 12 環境 CSR | 環境 / CSR / サステナビリティ / ESG |
79
+ | 13 営業 | 法人営業 / 個人営業 / 営業推進 / 販売 |
80
+ | 14 製造・工場 | 施設管理 / 設備管理 / 工事 / メンテナンス / 品質管理 / 整備 |
81
+ | 15 その他 | 支店 / 営業所 / 拠点 / エリア |
82
+
83
+ ### 提示文 (Step ①で 14 を選んだ例)
84
+
85
+ ```
86
+ ② キーワードを選んでください (複数選択可、スペース or カンマ区切り)
87
+
88
+ [a] 施設管理
89
+ [b] 設備管理
90
+ [c] 工事
91
+ [d] メンテナンス
92
+ [e] 品質管理
93
+ [f] 整備
94
+ [0] キーワードなしで進める (カテゴリ全体)
95
+
96
+ 例: 「a, b」または「施設管理 設備管理」
97
+ ```
98
+
99
+ ユーザーが選んだキーワードを **`bKwd` 値** としてカンマ区切りで保持 (例: `bKwd="施設管理,設備管理"`)。`[0]` を選んだ場合は `bKwd` を未設定にする。
100
+
101
+ ### bKOpr (キーワード結合演算子)
102
+
103
+ 複数キーワード選択時のみ追加で 1 行確認:
104
+
105
+ ```
106
+ 複数キーワードの組み合わせ方式は?
107
+ [OR] どれか 1 つに当てはまれば OK (デフォルト・広く)
108
+ [AND] 全てに当てはまる部署のみ (狭く絞る)
109
+ ```
110
+
111
+ OR → `bKOpr="0"`, AND → `bKOpr="1"`。単一キーワードの場合はこのステップをスキップ。
112
+
113
+ ---
114
+
115
+ ## Step ③ — 都道府県 (任意・スキップ可)
116
+
117
+ ```
118
+ ③ 都道府県で絞り込みますか? (Enter / 「スキップ」でスキップ可)
119
+
120
+ 主な選択肢:
121
+ 全国 (絞らない) 北海道 東京都 神奈川県
122
+ 大阪府 愛知県 福岡県 その他 (都道府県名を入力)
123
+
124
+ 複数指定する場合はカンマ区切り (例: 東京都, 神奈川県)。
125
+ ```
126
+
127
+ 入力された都道府県名を以下の **JIS X 0401 コード**に変換して `pList` 値とする (カンマ区切り):
128
+
129
+ | コード | 都道府県 | コード | 都道府県 | コード | 都道府県 | コード | 都道府県 |
130
+ |---|---|---|---|---|---|---|---|
131
+ | 01 | 北海道 | 13 | 東京都 | 25 | 滋賀県 | 37 | 香川県 |
132
+ | 02 | 青森県 | 14 | 神奈川県 | 26 | 京都府 | 38 | 愛媛県 |
133
+ | 03 | 岩手県 | 15 | 新潟県 | 27 | 大阪府 | 39 | 高知県 |
134
+ | 04 | 宮城県 | 16 | 富山県 | 28 | 兵庫県 | 40 | 福岡県 |
135
+ | 05 | 秋田県 | 17 | 石川県 | 29 | 奈良県 | 41 | 佐賀県 |
136
+ | 06 | 山形県 | 18 | 福井県 | 30 | 和歌山県 | 42 | 長崎県 |
137
+ | 07 | 福島県 | 19 | 山梨県 | 31 | 鳥取県 | 43 | 熊本県 |
138
+ | 08 | 茨城県 | 20 | 長野県 | 32 | 島根県 | 44 | 大分県 |
139
+ | 09 | 栃木県 | 21 | 岐阜県 | 33 | 岡山県 | 45 | 宮崎県 |
140
+ | 10 | 群馬県 | 22 | 静岡県 | 34 | 広島県 | 46 | 鹿児島県 |
141
+ | 11 | 埼玉県 | 23 | 愛知県 | 35 | 山口県 | 47 | 沖縄県 |
142
+ | 12 | 千葉県 | 24 | 三重県 | 36 | 徳島県 | | |
143
+
144
+ 例: 「東京都, 神奈川県」 → `pList="13,14"`。スキップ時は `pList` 未設定。
145
+
146
+ ---
147
+
148
+ ## Step ④ — 会社名 or 法人番号 (必須)
149
+
150
+ ```
151
+ ④ 検索する会社名 (または 13 桁の法人番号) を入力してください。
152
+
153
+ 例:
154
+ - 株式会社デジマン
155
+ - 東急ビルメンテナンス株式会社
156
+ - 1234567890123 (法人番号)
157
+ ```
158
+
159
+ 法人番号 (数字 13 桁) なら `compno=...`、それ以外は `shogo=...` として保持。
160
+
161
+ ---
162
+
163
+ ## Step ⑤ — 最終確認 → 検索実行
164
+
165
+ ステップで集まったパラメータを 1 メッセージで提示し、ユーザー同意 (はい / OK / 進めて) を得てから tool を呼ぶ:
166
+
167
+ ```
168
+ これで検索します ✅
169
+
170
+ 🎯 会社: ◯◯
171
+ 📂 カテゴリ: ◯◯ (cList=◯)
172
+ 🔑 キーワード: ◯◯ (◯◯ 結合) / または「絞り込みなし」
173
+ 🗾 都道府県: ◯◯ / または「全国」
174
+ 📊 取得件数: 上位 30 件 (limit で変更可)
175
+ 💰 API 利用: 1 回
176
+
177
+ 進めますか? (はい / 修正 / キャンセル)
178
+ ```
179
+
180
+ 明示同意を得たら **`bizgate__department_search`** tool を以下のパラメータで呼ぶ:
181
+
182
+ - `shogo` または `compno` (Step ④)
183
+ - `cList` (Step ① の値)
184
+ - `bKwd` (Step ② の値、未設定可)
185
+ - `bKOpr` (Step ② で複数選択時のみ)
186
+ - `pList` (Step ③ の値、未設定可)
187
+ - `limit` (デフォルト 30、ユーザーが要望すれば変更)
188
+
189
+ tool が返すマークダウン (部署名・住所・電話・カテゴリの一覧) は **そのままユーザーに見せる**。
190
+
191
+ ### 結果が 0 件だった場合
192
+
193
+ 1 行ヒントを添えて再提示:
194
+
195
+ ```
196
+ 該当する部署が見つかりませんでした。以下を試してみてください:
197
+ - 会社名の表記を変える (株式会社の有無、漢字/カタカナ)
198
+ - キーワードを外す or 別のキーワードに変える
199
+ - 都道府県の絞り込みを外す
200
+ ```
201
+
202
+ ### 結果が limit 超過 (truncate) の場合
203
+
204
+ tool 自体が「残り ◯ 件あります」のメッセージを返すので、そのまま見せる。ユーザーが「もっと見たい」と言ったら `limit` を増やして再実行。
205
+
206
+ ---
207
+
208
+ ## 共通ルール
209
+
210
+ 1. **ユーザーに tool 名を見せない** (`bizgate__department_search` は内部のみ)
211
+ 2. **インフラ / 技術用語を使わない** (cList / pList / bKwd 等は内部処理用。ユーザー表示はカテゴリ名・キーワード名・都道府県名で)
212
+ 3. **応答言語はユーザーに合わせる** (日本語優先、필요시 한국어 切替 OK)
213
+ 4. **API 利用は 1 回のみ** — 検索実行前に必ず明示同意を取る
214
+ 5. **エラー時は 1 行原因 + 再試行案内** ("会社名を変えて再検索" 等)
215
+ 6. **Step ① と ④ は必須**、Step ②③ はスキップ可