norikae-mcp 0.1.0 → 0.1.3

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/README.md CHANGED
@@ -12,6 +12,7 @@ Uses Yahoo! Transit data to find optimal routes between stations.*
12
12
  ## 機能 / Features
13
13
 
14
14
  - 🚉 駅から駅への乗り換えルート検索 / Station-to-station route search
15
+ - 🔀 経由駅の指定(最大3駅)/ Via station specification (up to 3 stations)
15
16
  - ⏰ 指定時刻での検索(出発・到着時刻指定)/ Departure or arrival time specification
16
17
  - 💰 IC運賃の表示 / IC card fare display
17
18
  - 🔄 乗り換え回数・所要時間の比較 / Transfer count and travel time comparison
@@ -90,6 +91,7 @@ npx norikae-mcp
90
91
  |-----------|------|------|---------------------|
91
92
  | `from` | string | ✅ | 出発駅名 / Departure station (e.g., 東京, 新宿) |
92
93
  | `to` | string | ✅ | 到着駅名 / Arrival station (e.g., 九段下, 横浜) |
94
+ | `via` | string[] | - | 経由駅名の配列(最大3駅)/ Via stations array (max 3) |
93
95
  | `year` | number | - | 出発年 / Year (default: current) |
94
96
  | `month` | number | - | 出発月 / Month (default: current) |
95
97
  | `day` | number | - | 出発日 / Day (default: current) |
@@ -100,8 +102,9 @@ npx norikae-mcp
100
102
 
101
103
  | パラメータ | 型 | デフォルト | 説明 / Description |
102
104
  |-----------|------|----------|---------------------|
103
- | `timeType` | `departure` \| `arrival` | `departure` | 時刻指定タイプ / Time type |
105
+ | `timeType` | `departure` \| `arrival` \| `first_train` \| `last_train` \| `unspecified` | `departure` | 時刻指定タイプ / Time type |
104
106
  | `ticket` | `ic` \| `cash` | `ic` | 運賃タイプ / Fare type |
107
+ | `seatPreference` | `non_reserved` \| `reserved` \| `green` | `non_reserved` | 座席指定 / Seat preference |
105
108
  | `walkSpeed` | `fast` \| `slightly_fast` \| `slightly_slow` \| `slow` | `slightly_slow` | 歩く速度 / Walking speed |
106
109
  | `sortBy` | `time` \| `transfer` \| `fare` | `time` | 並び順 / Sort order |
107
110
 
@@ -131,6 +134,16 @@ AIに以下のように話しかけると、自動的に適切なオプション
131
134
  | "How to get from Tokyo to Shibuya" | `from: 東京`, `to: 渋谷` |
132
135
  | "Route from Shinjuku to Yokohama" | `from: 新宿`, `to: 横浜` |
133
136
 
137
+ ### 経由駅の指定 / Via Stations
138
+
139
+ | あなたの質問 / Your Question | 認識されるオプション / Recognized Options |
140
+ |------------------------------|------------------------------------------|
141
+ | 「東京から新宿まで、表参道経由で」 | `from: 東京`, `to: 新宿`, `via: ["表参道"]` |
142
+ | 「渋谷から池袋、原宿と新宿を経由して」 | `from: 渋谷`, `to: 池袋`, `via: ["原宿", "新宿"]` |
143
+ | 「品川から上野、東京駅と秋葉原を通って」 | `from: 品川`, `to: 上野`, `via: ["東京", "秋葉原"]` |
144
+ | "From Tokyo to Shinjuku via Omotesando" | `from: 東京`, `to: 新宿`, `via: ["表参道"]` |
145
+ | "Shibuya to Ikebukuro, passing through Harajuku and Shinjuku" | `from: 渋谷`, `to: 池袋`, `via: ["原宿", "新宿"]` |
146
+
134
147
  ### 時刻指定 / Time Specification
135
148
 
136
149
  | あなたの質問 / Your Question | 認識されるオプション / Recognized Options |
@@ -150,6 +163,29 @@ AIに以下のように話しかけると、自動的に適切なオプション
150
163
  | "I want to arrive by 6 PM" | `timeType: arrival`, `hour: 18` |
151
164
  | "Need to be there for a 9 AM meeting" | `timeType: arrival`, `hour: 9` |
152
165
 
166
+ ### 始発・終電 / First/Last Train (timeType)
167
+
168
+ | あなたの質問 / Your Question | 認識されるオプション / Recognized Options |
169
+ |------------------------------|------------------------------------------|
170
+ | 「始発で」 | `timeType: first_train` |
171
+ | 「一番早い電車」 | `timeType: first_train` |
172
+ | 「終電で帰りたい」 | `timeType: last_train` |
173
+ | 「最終電車は?」 | `timeType: last_train` |
174
+ | "First train of the day" | `timeType: first_train` |
175
+ | "Last train home" | `timeType: last_train` |
176
+
177
+ ### 座席指定 / Seat Preference (seatPreference)
178
+
179
+ | あなたの質問 / Your Question | 認識されるオプション / Recognized Options |
180
+ |------------------------------|------------------------------------------|
181
+ | 「自由席で」 | `seatPreference: non_reserved` (default) |
182
+ | 「指定席で」 | `seatPreference: reserved` |
183
+ | 「グリーン車で」 | `seatPreference: green` |
184
+ | 「贅沢にグリーン車で」 | `seatPreference: green` |
185
+ | "Non-reserved seat" | `seatPreference: non_reserved` |
186
+ | "Reserved seat please" | `seatPreference: reserved` |
187
+ | "Green car / first class" | `seatPreference: green` |
188
+
153
189
  ### 運賃タイプ / Fare Type (ticket)
154
190
 
155
191
  | あなたの質問 / Your Question | 認識されるオプション / Recognized Options |
@@ -222,6 +258,20 @@ AIに以下のように話しかけると、自動的に適切なオプション
222
258
  ```
223
259
  → `from: 新宿`, `to: 品川`, `timeType: arrival`, `hour: 18`, `useShinkansen: false`, `useAirline: false`, `sortBy: transfer`
224
260
 
261
+ **例5 / Example 5: 経由駅を指定 / Specifying via stations**
262
+ ```
263
+ 「東京から新宿まで、表参道と飯田橋を経由して、一番安いルートで」
264
+ "From Tokyo to Shinjuku via Omotesando and Iidabashi, cheapest route"
265
+ ```
266
+ → `from: 東京`, `to: 新宿`, `via: ["表参道", "飯田橋"]`, `sortBy: fare`
267
+
268
+ **例6 / Example 6: 観光ルート / Sightseeing route**
269
+ ```
270
+ 「浅草から原宿まで、上野と秋葉原と東京を通って、ゆっくり歩きで」
271
+ "From Asakusa to Harajuku, passing through Ueno, Akihabara, and Tokyo, walking slowly"
272
+ ```
273
+ → `from: 浅草`, `to: 原宿`, `via: ["上野", "秋葉原", "東京"]`, `walkSpeed: slow`
274
+
225
275
  ## 開発 / Development
226
276
 
227
277
  ```bash
package/dist/index.js CHANGED
@@ -10,13 +10,15 @@ const server = new McpServer({
10
10
  const searchRouteSchema = {
11
11
  from: z.string().describe('出発駅名(例:東京、新宿、渋谷)'),
12
12
  to: z.string().describe('到着駅名(例:九段下、横浜、品川)'),
13
+ via: z.array(z.string()).optional().describe('経由駅名の配列(最大3駅、例:["表参道", "飯田橋"])'),
13
14
  year: z.number().optional().describe('出発年(例:2026)'),
14
15
  month: z.number().optional().describe('出発月(1-12)'),
15
16
  day: z.number().optional().describe('出発日(1-31)'),
16
17
  hour: z.number().optional().describe('出発時刻の時(0-23)'),
17
18
  minute: z.number().optional().describe('出発時刻の分(0-59)'),
18
- timeType: z.enum(['departure', 'arrival']).optional().describe('時刻指定タイプ:departure=出発時刻、arrival=到着時刻'),
19
+ timeType: z.enum(['departure', 'arrival', 'first_train', 'last_train', 'unspecified']).optional().describe('時刻指定タイプ:departure=出発時刻、arrival=到着時刻、first_train=始発、last_train=終電、unspecified=指定なし'),
19
20
  ticket: z.enum(['ic', 'cash']).optional().describe('運賃タイプ:ic=IC運賃、cash=きっぷ運賃'),
21
+ seatPreference: z.enum(['non_reserved', 'reserved', 'green']).optional().describe('座席指定:non_reserved=自由席優先、reserved=指定席優先、green=グリーン車優先'),
20
22
  walkSpeed: z.enum(['fast', 'slightly_fast', 'slightly_slow', 'slow']).optional().describe('歩く速度'),
21
23
  sortBy: z.enum(['time', 'transfer', 'fare']).optional().describe('並び順:time=到着が早い順、transfer=乗換回数順、fare=料金安い順'),
22
24
  useAirline: z.boolean().optional().describe('空路を使う'),
@@ -26,17 +28,89 @@ const searchRouteSchema = {
26
28
  useLocalBus: z.boolean().optional().describe('路線バスを使う'),
27
29
  useFerry: z.boolean().optional().describe('フェリーを使う'),
28
30
  };
31
+ // register prompt for usage instructions
32
+ server.registerPrompt('norikae-usage', {
33
+ description: 'Instructions for using the Japanese train route search tool',
34
+ }, () => ({
35
+ messages: [
36
+ {
37
+ role: 'user',
38
+ content: {
39
+ type: 'text',
40
+ text: `# 乗換案内MCP 使用ガイド / Norikae MCP Usage Guide
41
+
42
+ ## 重要 / Important
43
+ - 駅名は必ず日本語(漢字・かな)で入力してください
44
+ - Station names MUST be in Japanese kanji/kana
45
+ - Convert English AND Chinese station names to Japanese before calling
46
+
47
+ ## 英語→日本語 / English → Japanese
48
+ | English | Japanese |
49
+ |---------|----------|
50
+ | Tokyo | 東京 |
51
+ | Shinjuku | 新宿 |
52
+ | Shibuya | 渋谷 |
53
+ | Ikebukuro | 池袋 |
54
+ | Ueno | 上野 |
55
+ | Akihabara | 秋葉原 |
56
+ | Ginza | 銀座 |
57
+ | Roppongi | 六本木 |
58
+ | Harajuku | 原宿 |
59
+ | Yokohama | 横浜 |
60
+ | Osaka | 大阪 |
61
+ | Kyoto | 京都 |
62
+ | Narita Airport | 成田空港 |
63
+ | Haneda Airport | 羽田空港 |
64
+
65
+ ## 中国語→日本語 / Chinese → Japanese
66
+ Japanese kanji may differ from Chinese hanzi:
67
+ | 简体/繁體 | 日本語 |
68
+ |-----------|--------|
69
+ | 东京/東京 | 東京 |
70
+ | 涩谷/澀谷 | 渋谷 |
71
+ | 秋叶原/秋葉原 | 秋葉原 |
72
+ | 横滨/橫濱 | 横浜 |
73
+
74
+ ## 使用例 / Usage Examples
75
+ User: "How do I get from Tokyo to Shinjuku?"
76
+ → Call search_route with: from="東京", to="新宿"
77
+
78
+ User: "東京から渋谷まで表参道経由で"
79
+ → Call search_route with: from="東京", to="渋谷", via=["表参道"]`,
80
+ },
81
+ },
82
+ ],
83
+ }));
29
84
  // register search_route tool
85
+ const toolDescription = `Search train routes between stations in Japan using Yahoo! Transit.
86
+
87
+ IMPORTANT: Station names MUST be in Japanese kanji/kana. Convert before calling:
88
+
89
+ English → Japanese:
90
+ - Tokyo → 東京, Shinjuku → 新宿, Shibuya → 渋谷, Ikebukuro → 池袋
91
+ - Ueno → 上野, Akihabara → 秋葉原, Ginza → 銀座, Roppongi → 六本木
92
+ - Yokohama → 横浜, Osaka → 大阪, Kyoto → 京都
93
+ - Narita Airport → 成田空港, Haneda Airport → 羽田空港
94
+
95
+ Chinese (Simplified/Traditional) → Japanese kanji:
96
+ - 东京/東京 → 東京, 新宿 → 新宿, 涩谷/澀谷 → 渋谷
97
+ - 秋叶原/秋葉原 → 秋葉原, 横滨/橫濱 → 横浜
98
+ Note: Japanese kanji may differ from Chinese hanzi (e.g., 渋 vs 涩/澀, 横 vs 横/橫)
99
+
100
+ Examples:
101
+ - "Tokyo to Shinjuku" → from: "東京", to: "新宿"
102
+ - "从东京到新宿" → from: "東京", to: "新宿"
103
+ - "Shibuya to Ikebukuro via Harajuku" → from: "渋谷", to: "池袋", via: ["原宿"]`;
30
104
  server.registerTool('search_route', {
31
105
  title: '乗り換え検索',
32
- description: '駅から駅への電車ルートを検索します(Yahoo!乗換案内使用)',
106
+ description: toolDescription,
33
107
  inputSchema: searchRouteSchema,
34
108
  annotations: {
35
109
  readOnlyHint: true, // data is only read, not modified
36
110
  openWorldHint: true, // interacts with external service (Yahoo)
37
111
  },
38
112
  }, async (args) => {
39
- const { from, to, year, month, day, hour, minute, timeType, ticket, walkSpeed, sortBy, useAirline, useShinkansen, useExpress, useHighwayBus, useLocalBus, useFerry, } = args;
113
+ const { from, to, via, year, month, day, hour, minute, timeType, ticket, seatPreference, walkSpeed, sortBy, useAirline, useShinkansen, useExpress, useHighwayBus, useLocalBus, useFerry, } = args;
40
114
  // default to current time if not specified
41
115
  const now = new Date();
42
116
  const y = year ?? now.getFullYear();
@@ -44,9 +118,12 @@ server.registerTool('search_route', {
44
118
  const d = day ?? now.getDate();
45
119
  const hh = hour ?? now.getHours();
46
120
  const mm = minute ?? now.getMinutes();
121
+ // limit via stations to max 3
122
+ const viaStations = via?.slice(0, 3) ?? [];
47
123
  const options = {
48
124
  timeType: timeType ?? 'departure',
49
125
  ticket: ticket ?? 'ic',
126
+ seatPreference: seatPreference ?? 'non_reserved',
50
127
  walkSpeed: walkSpeed ?? 'slightly_slow',
51
128
  sortBy: sortBy ?? 'time',
52
129
  useAirline: useAirline ?? true,
@@ -56,7 +133,7 @@ server.registerTool('search_route', {
56
133
  useLocalBus: useLocalBus ?? true,
57
134
  useFerry: useFerry ?? true,
58
135
  };
59
- const url = buildYahooTransitUrl(from, to, y, m, d, hh, mm, options);
136
+ const url = buildYahooTransitUrl(from, to, viaStations, y, m, d, hh, mm, options);
60
137
  try {
61
138
  const response = await fetch(url);
62
139
  const html = await response.text();
@@ -72,11 +149,18 @@ server.registerTool('search_route', {
72
149
  };
73
150
  }
74
151
  });
75
- function buildYahooTransitUrl(from, to, year, month, day, hour, minute, options) {
152
+ function buildYahooTransitUrl(from, to, via, year, month, day, hour, minute, options) {
76
153
  // map options to Yahoo URL parameters
77
- const timeTypeMap = { departure: '1', arrival: '2' };
154
+ // type: 1=出発, 4=到着, 3=始発, 2=終電, 5=指定なし
155
+ const timeTypeMap = { departure: '1', arrival: '4', first_train: '3', last_train: '2', unspecified: '5' };
156
+ // ticket: ic=ICカード優先, normal=現金(きっぷ)優先
157
+ const ticketMap = { ic: 'ic', cash: 'normal' };
158
+ // expkind: 1=自由席優先, 2=指定席優先, 3=グリーン車優先
159
+ const seatPreferenceMap = { non_reserved: '1', reserved: '2', green: '3' };
160
+ // ws: 1=急いで, 2=少し急いで, 3=少しゆっくり, 4=ゆっくり
78
161
  const walkSpeedMap = { fast: '1', slightly_fast: '2', slightly_slow: '3', slow: '4' };
79
- const sortByMap = { time: '0', transfer: '1', fare: '2' };
162
+ // s: 0=到着が早い順, 1=料金が安い順, 2=乗換回数順
163
+ const sortByMap = { time: '0', fare: '1', transfer: '2' };
80
164
  const params = new URLSearchParams({
81
165
  from: from,
82
166
  to: to,
@@ -87,8 +171,8 @@ function buildYahooTransitUrl(from, to, year, month, day, hour, minute, options)
87
171
  m1: Math.floor(minute / 10).toString(),
88
172
  m2: (minute % 10).toString(),
89
173
  type: timeTypeMap[options.timeType],
90
- ticket: options.ticket,
91
- expkind: '1',
174
+ ticket: ticketMap[options.ticket],
175
+ expkind: seatPreferenceMap[options.seatPreference],
92
176
  ws: walkSpeedMap[options.walkSpeed],
93
177
  s: sortByMap[options.sortBy],
94
178
  al: options.useAirline ? '1' : '0',
@@ -98,6 +182,10 @@ function buildYahooTransitUrl(from, to, year, month, day, hour, minute, options)
98
182
  lb: options.useLocalBus ? '1' : '0',
99
183
  sr: options.useFerry ? '1' : '0',
100
184
  });
185
+ // add via stations (multiple via params supported)
186
+ for (const station of via) {
187
+ params.append('via', station);
188
+ }
101
189
  return `https://transit.yahoo.co.jp/search/result?${params.toString()}`;
102
190
  }
103
191
  function extractMainContent(html) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -3,10 +3,17 @@
3
3
  * Run: npm test
4
4
  */
5
5
  import { describe, it, expect } from 'vitest';
6
- function buildYahooTransitUrl(from, to, year, month, day, hour, minute, options) {
7
- const timeTypeMap = { departure: '1', arrival: '2' };
6
+ function buildYahooTransitUrl(from, to, via, year, month, day, hour, minute, options) {
7
+ // type: 1=出発, 4=到着, 3=始発, 2=終電, 5=指定なし
8
+ const timeTypeMap = { departure: '1', arrival: '4', first_train: '3', last_train: '2', unspecified: '5' };
9
+ // ticket: ic=ICカード優先, normal=現金(きっぷ)優先
10
+ const ticketMap = { ic: 'ic', cash: 'normal' };
11
+ // expkind: 1=自由席優先, 2=指定席優先, 3=グリーン車優先
12
+ const seatPreferenceMap = { non_reserved: '1', reserved: '2', green: '3' };
13
+ // ws: 1=急いで, 2=少し急いで, 3=少しゆっくり, 4=ゆっくり
8
14
  const walkSpeedMap = { fast: '1', slightly_fast: '2', slightly_slow: '3', slow: '4' };
9
- const sortByMap = { time: '0', transfer: '1', fare: '2' };
15
+ // s: 0=到着が早い順, 1=料金が安い順, 2=乗換回数順
16
+ const sortByMap = { time: '0', fare: '1', transfer: '2' };
10
17
  const params = new URLSearchParams({
11
18
  from: from,
12
19
  to: to,
@@ -17,8 +24,8 @@ function buildYahooTransitUrl(from, to, year, month, day, hour, minute, options)
17
24
  m1: Math.floor(minute / 10).toString(),
18
25
  m2: (minute % 10).toString(),
19
26
  type: timeTypeMap[options.timeType],
20
- ticket: options.ticket,
21
- expkind: '1',
27
+ ticket: ticketMap[options.ticket],
28
+ expkind: seatPreferenceMap[options.seatPreference],
22
29
  ws: walkSpeedMap[options.walkSpeed],
23
30
  s: sortByMap[options.sortBy],
24
31
  al: options.useAirline ? '1' : '0',
@@ -28,11 +35,15 @@ function buildYahooTransitUrl(from, to, year, month, day, hour, minute, options)
28
35
  lb: options.useLocalBus ? '1' : '0',
29
36
  sr: options.useFerry ? '1' : '0',
30
37
  });
38
+ for (const station of via) {
39
+ params.append('via', station);
40
+ }
31
41
  return `https://transit.yahoo.co.jp/search/result?${params.toString()}`;
32
42
  }
33
43
  const defaultOptions = {
34
44
  timeType: 'departure',
35
45
  ticket: 'ic',
46
+ seatPreference: 'non_reserved',
36
47
  walkSpeed: 'slightly_slow',
37
48
  sortBy: 'time',
38
49
  useAirline: true,
@@ -44,12 +55,12 @@ const defaultOptions = {
44
55
  };
45
56
  describe('buildYahooTransitUrl', () => {
46
57
  it('should build basic URL with from and to', () => {
47
- const url = buildYahooTransitUrl('東京', '九段下', 2026, 1, 22, 10, 30, defaultOptions);
58
+ const url = buildYahooTransitUrl('東京', '九段下', [], 2026, 1, 22, 10, 30, defaultOptions);
48
59
  expect(url).toContain('from=%E6%9D%B1%E4%BA%AC'); // 東京 encoded
49
60
  expect(url).toContain('to=%E4%B9%9D%E6%AE%B5%E4%B8%8B'); // 九段下 encoded
50
61
  });
51
62
  it('should set correct time parameters', () => {
52
- const url = buildYahooTransitUrl('東京', '大阪', 2026, 1, 22, 10, 35, defaultOptions);
63
+ const url = buildYahooTransitUrl('東京', '大阪', [], 2026, 1, 22, 10, 35, defaultOptions);
53
64
  expect(url).toContain('y=2026');
54
65
  expect(url).toContain('m=01');
55
66
  expect(url).toContain('d=22');
@@ -58,43 +69,95 @@ describe('buildYahooTransitUrl', () => {
58
69
  expect(url).toContain('m2=5'); // 35 % 10 = 5
59
70
  });
60
71
  it('should set departure type by default', () => {
61
- const url = buildYahooTransitUrl('東京', '大阪', 2026, 1, 22, 10, 30, defaultOptions);
72
+ const url = buildYahooTransitUrl('東京', '大阪', [], 2026, 1, 22, 10, 30, defaultOptions);
62
73
  expect(url).toContain('type=1'); // departure
63
74
  });
64
75
  it('should set arrival type when specified', () => {
65
- const url = buildYahooTransitUrl('東京', '大阪', 2026, 1, 22, 18, 0, {
76
+ const url = buildYahooTransitUrl('東京', '大阪', [], 2026, 1, 22, 18, 0, {
66
77
  ...defaultOptions,
67
78
  timeType: 'arrival',
68
79
  });
69
- expect(url).toContain('type=2'); // arrival
80
+ expect(url).toContain('type=4'); // arrival
81
+ });
82
+ it('should set first_train type', () => {
83
+ const url = buildYahooTransitUrl('東京', '大阪', [], 2026, 1, 22, 5, 0, {
84
+ ...defaultOptions,
85
+ timeType: 'first_train',
86
+ });
87
+ expect(url).toContain('type=3'); // 始発
88
+ });
89
+ it('should set last_train type', () => {
90
+ const url = buildYahooTransitUrl('東京', '大阪', [], 2026, 1, 22, 23, 0, {
91
+ ...defaultOptions,
92
+ timeType: 'last_train',
93
+ });
94
+ expect(url).toContain('type=2'); // 終電
95
+ });
96
+ it('should set unspecified type', () => {
97
+ const url = buildYahooTransitUrl('東京', '大阪', [], 2026, 1, 22, 12, 0, {
98
+ ...defaultOptions,
99
+ timeType: 'unspecified',
100
+ });
101
+ expect(url).toContain('type=5'); // 指定なし
70
102
  });
71
103
  it('should disable shinkansen when specified', () => {
72
- const url = buildYahooTransitUrl('東京', '大阪', 2026, 1, 22, 10, 30, {
104
+ const url = buildYahooTransitUrl('東京', '大阪', [], 2026, 1, 22, 10, 30, {
73
105
  ...defaultOptions,
74
106
  useShinkansen: false,
75
107
  });
76
108
  expect(url).toContain('shin=0');
77
109
  });
78
110
  it('should set sort by fare', () => {
79
- const url = buildYahooTransitUrl('東京', '大阪', 2026, 1, 22, 10, 30, {
111
+ const url = buildYahooTransitUrl('東京', '大阪', [], 2026, 1, 22, 10, 30, {
80
112
  ...defaultOptions,
81
113
  sortBy: 'fare',
82
114
  });
83
- expect(url).toContain('s=2'); // fare
115
+ expect(url).toContain('s=1'); // fare
116
+ });
117
+ it('should set sort by transfer', () => {
118
+ const url = buildYahooTransitUrl('東京', '大阪', [], 2026, 1, 22, 10, 30, {
119
+ ...defaultOptions,
120
+ sortBy: 'transfer',
121
+ });
122
+ expect(url).toContain('s=2'); // transfer
84
123
  });
85
124
  it('should set walk speed to fast', () => {
86
- const url = buildYahooTransitUrl('東京', '大阪', 2026, 1, 22, 10, 30, {
125
+ const url = buildYahooTransitUrl('東京', '大阪', [], 2026, 1, 22, 10, 30, {
87
126
  ...defaultOptions,
88
127
  walkSpeed: 'fast',
89
128
  });
90
129
  expect(url).toContain('ws=1'); // fast
91
130
  });
92
131
  it('should set cash ticket type', () => {
93
- const url = buildYahooTransitUrl('東京', '大阪', 2026, 1, 22, 10, 30, {
132
+ const url = buildYahooTransitUrl('東京', '大阪', [], 2026, 1, 22, 10, 30, {
94
133
  ...defaultOptions,
95
134
  ticket: 'cash',
96
135
  });
97
- expect(url).toContain('ticket=cash');
136
+ expect(url).toContain('ticket=normal'); // cash maps to 'normal'
137
+ });
138
+ it('should set reserved seat preference', () => {
139
+ const url = buildYahooTransitUrl('東京', '大阪', [], 2026, 1, 22, 10, 30, {
140
+ ...defaultOptions,
141
+ seatPreference: 'reserved',
142
+ });
143
+ expect(url).toContain('expkind=2'); // 指定席優先
144
+ });
145
+ it('should set green car preference', () => {
146
+ const url = buildYahooTransitUrl('東京', '大阪', [], 2026, 1, 22, 10, 30, {
147
+ ...defaultOptions,
148
+ seatPreference: 'green',
149
+ });
150
+ expect(url).toContain('expkind=3'); // グリーン車優先
151
+ });
152
+ it('should include single via station', () => {
153
+ const url = buildYahooTransitUrl('東京', '新宿', ['表参道'], 2026, 1, 22, 10, 30, defaultOptions);
154
+ expect(url).toContain('via=%E8%A1%A8%E5%8F%82%E9%81%93'); // 表参道 encoded
155
+ });
156
+ it('should include multiple via stations', () => {
157
+ const url = buildYahooTransitUrl('東京', '新宿', ['表参道', '飯田橋', '広尾'], 2026, 1, 22, 10, 30, defaultOptions);
158
+ expect(url).toContain('via=%E8%A1%A8%E5%8F%82%E9%81%93'); // 表参道
159
+ expect(url).toContain('via=%E9%A3%AF%E7%94%B0%E6%A9%8B'); // 飯田橋
160
+ expect(url).toContain('via=%E5%BA%83%E5%B0%BE'); // 広尾
98
161
  });
99
162
  });
100
163
  describe('extractMainContent', () => {
@@ -117,6 +180,7 @@ describe('SearchOptions defaults', () => {
117
180
  it('should have correct default values', () => {
118
181
  expect(defaultOptions.timeType).toBe('departure');
119
182
  expect(defaultOptions.ticket).toBe('ic');
183
+ expect(defaultOptions.seatPreference).toBe('non_reserved');
120
184
  expect(defaultOptions.walkSpeed).toBe('slightly_slow');
121
185
  expect(defaultOptions.sortBy).toBe('time');
122
186
  expect(defaultOptions.useShinkansen).toBe(true);
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"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"}
package/dist/test.js CHANGED
@@ -3,10 +3,17 @@
3
3
  * Test script for core logic (without MCP)
4
4
  * Run: npx ts-node src/test.ts
5
5
  */
6
- function buildYahooTransitUrl(from, to, year, month, day, hour, minute, options) {
7
- const timeTypeMap = { departure: '1', arrival: '2' };
6
+ function buildYahooTransitUrl(from, to, via, year, month, day, hour, minute, options) {
7
+ // type: 1=出発, 4=到着, 3=始発, 2=終電, 5=指定なし
8
+ const timeTypeMap = { departure: '1', arrival: '4', first_train: '3', last_train: '2', unspecified: '5' };
9
+ // ticket: ic=ICカード優先, normal=現金(きっぷ)優先
10
+ const ticketMap = { ic: 'ic', cash: 'normal' };
11
+ // expkind: 1=自由席優先, 2=指定席優先, 3=グリーン車優先
12
+ const seatPreferenceMap = { non_reserved: '1', reserved: '2', green: '3' };
13
+ // ws: 1=急いで, 2=少し急いで, 3=少しゆっくり, 4=ゆっくり
8
14
  const walkSpeedMap = { fast: '1', slightly_fast: '2', slightly_slow: '3', slow: '4' };
9
- const sortByMap = { time: '0', transfer: '1', fare: '2' };
15
+ // s: 0=到着が早い順, 1=料金が安い順, 2=乗換回数順
16
+ const sortByMap = { time: '0', fare: '1', transfer: '2' };
10
17
  const params = new URLSearchParams({
11
18
  from: from,
12
19
  to: to,
@@ -17,8 +24,8 @@ function buildYahooTransitUrl(from, to, year, month, day, hour, minute, options)
17
24
  m1: Math.floor(minute / 10).toString(),
18
25
  m2: (minute % 10).toString(),
19
26
  type: timeTypeMap[options.timeType],
20
- ticket: options.ticket,
21
- expkind: '1',
27
+ ticket: ticketMap[options.ticket],
28
+ expkind: seatPreferenceMap[options.seatPreference],
22
29
  ws: walkSpeedMap[options.walkSpeed],
23
30
  s: sortByMap[options.sortBy],
24
31
  al: options.useAirline ? '1' : '0',
@@ -28,6 +35,9 @@ function buildYahooTransitUrl(from, to, year, month, day, hour, minute, options)
28
35
  lb: options.useLocalBus ? '1' : '0',
29
36
  sr: options.useFerry ? '1' : '0',
30
37
  });
38
+ for (const station of via) {
39
+ params.append('via', station);
40
+ }
31
41
  return `https://transit.yahoo.co.jp/search/result?${params.toString()}`;
32
42
  }
33
43
  function extractMainContent(html) {
@@ -64,6 +74,7 @@ async function testUrlBuilder() {
64
74
  const defaultOptions = {
65
75
  timeType: 'departure',
66
76
  ticket: 'ic',
77
+ seatPreference: 'non_reserved',
67
78
  walkSpeed: 'slightly_slow',
68
79
  sortBy: 'time',
69
80
  useAirline: true,
@@ -74,12 +85,12 @@ async function testUrlBuilder() {
74
85
  useFerry: true,
75
86
  };
76
87
  // test 1: basic route
77
- const url1 = buildYahooTransitUrl('東京', '九段下', 2026, 1, 22, 10, 30, defaultOptions);
88
+ const url1 = buildYahooTransitUrl('東京', '九段下', [], 2026, 1, 22, 10, 30, defaultOptions);
78
89
  console.log('Test 1 - Basic route:');
79
90
  console.log(` From: 東京 → To: 九段下`);
80
91
  console.log(` URL: ${url1}\n`);
81
92
  // test 2: arrival time + no shinkansen
82
- const url2 = buildYahooTransitUrl('東京', '大阪', 2026, 1, 22, 18, 0, {
93
+ const url2 = buildYahooTransitUrl('東京', '大阪', [], 2026, 1, 22, 18, 0, {
83
94
  ...defaultOptions,
84
95
  timeType: 'arrival',
85
96
  useShinkansen: false,
@@ -88,19 +99,62 @@ async function testUrlBuilder() {
88
99
  console.log(` From: 東京 → To: 大阪 (arrive by 18:00)`);
89
100
  console.log(` URL: ${url2}\n`);
90
101
  // test 3: sort by fare
91
- const url3 = buildYahooTransitUrl('新宿', '横浜', 2026, 1, 22, 12, 0, {
102
+ const url3 = buildYahooTransitUrl('新宿', '横浜', [], 2026, 1, 22, 12, 0, {
92
103
  ...defaultOptions,
93
104
  sortBy: 'fare',
94
105
  });
95
106
  console.log('Test 3 - Sort by fare:');
96
107
  console.log(` From: 新宿 → To: 横浜`);
97
108
  console.log(` URL: ${url3}\n`);
109
+ // test 4: single via station
110
+ const url4 = buildYahooTransitUrl('東京', '新宿', ['表参道'], 2026, 1, 22, 10, 30, defaultOptions);
111
+ console.log('Test 4 - Single via station:');
112
+ console.log(` From: 東京 → Via: 表参道 → To: 新宿`);
113
+ console.log(` URL: ${url4}\n`);
114
+ // test 5: multiple via stations
115
+ const url5 = buildYahooTransitUrl('東京', '新宿', ['表参道', '飯田橋', '広尾'], 2026, 1, 22, 10, 30, defaultOptions);
116
+ console.log('Test 5 - Multiple via stations:');
117
+ console.log(` From: 東京 → Via: 表参道, 飯田橋, 広尾 → To: 新宿`);
118
+ console.log(` URL: ${url5}\n`);
119
+ // test 6: first train (始発)
120
+ const url6 = buildYahooTransitUrl('東京', '大阪', [], 2026, 1, 22, 5, 0, {
121
+ ...defaultOptions,
122
+ timeType: 'first_train',
123
+ });
124
+ console.log('Test 6 - First train (始発):');
125
+ console.log(` From: 東京 → To: 大阪`);
126
+ console.log(` URL: ${url6}\n`);
127
+ // test 7: last train (終電)
128
+ const url7 = buildYahooTransitUrl('東京', '大阪', [], 2026, 1, 22, 23, 0, {
129
+ ...defaultOptions,
130
+ timeType: 'last_train',
131
+ });
132
+ console.log('Test 7 - Last train (終電):');
133
+ console.log(` From: 東京 → To: 大阪`);
134
+ console.log(` URL: ${url7}\n`);
135
+ // test 8: green car preference
136
+ const url8 = buildYahooTransitUrl('東京', '大阪', [], 2026, 1, 22, 10, 0, {
137
+ ...defaultOptions,
138
+ seatPreference: 'green',
139
+ });
140
+ console.log('Test 8 - Green car preference:');
141
+ console.log(` From: 東京 → To: 大阪`);
142
+ console.log(` URL: ${url8}\n`);
143
+ // test 9: cash ticket
144
+ const url9 = buildYahooTransitUrl('東京', '大阪', [], 2026, 1, 22, 10, 0, {
145
+ ...defaultOptions,
146
+ ticket: 'cash',
147
+ });
148
+ console.log('Test 9 - Cash ticket (きっぷ):');
149
+ console.log(` From: 東京 → To: 大阪`);
150
+ console.log(` URL: ${url9}\n`);
98
151
  }
99
152
  async function testFetchAndParse() {
100
153
  console.log('=== Test: Fetch and Parse ===\n');
101
154
  const defaultOptions = {
102
155
  timeType: 'departure',
103
156
  ticket: 'ic',
157
+ seatPreference: 'non_reserved',
104
158
  walkSpeed: 'slightly_slow',
105
159
  sortBy: 'time',
106
160
  useAirline: true,
@@ -110,7 +164,8 @@ async function testFetchAndParse() {
110
164
  useLocalBus: true,
111
165
  useFerry: true,
112
166
  };
113
- const url = buildYahooTransitUrl('東京', '九段下', 2026, 1, 22, 10, 30, defaultOptions);
167
+ // test with via station
168
+ const url = buildYahooTransitUrl('東京', '新宿', ['表参道'], 2026, 1, 22, 10, 30, defaultOptions);
114
169
  console.log(`Fetching: ${url}\n`);
115
170
  try {
116
171
  const response = await fetch(url);
package/dist/test.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"test.js","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":";AAEA;;;GAGG;AAeH,SAAS,oBAAoB,CAC3B,IAAY,EACZ,EAAU,EACV,IAAY,EACZ,KAAa,EACb,GAAW,EACX,IAAY,EACZ,MAAc,EACd,OAAsB;IAEtB,MAAM,WAAW,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IACrD,MAAM,YAAY,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IACtF,MAAM,SAAS,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IAE1D,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;QACjC,IAAI,EAAE,IAAI;QACV,EAAE,EAAE,EAAE;QACN,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE;QAClB,CAAC,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;QACpC,CAAC,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;QAClC,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE;QACnB,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE;QACtC,EAAE,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE;QAC5B,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC;QACnC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO,EAAE,GAAG;QACZ,EAAE,EAAE,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC;QACnC,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC;QAC5B,EAAE,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;QAClC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;QACvC,EAAE,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;QAClC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;QACrC,EAAE,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;QACnC,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;KACjC,CAAC,CAAC;IAEH,OAAO,6CAA6C,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;AAC1E,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY;IACtC,0CAA0C;IAC1C,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,mCAAmC,EAAE,EAAE,CAAC,CAAC;IACpE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,iCAAiC,EAAE,EAAE,CAAC,CAAC;IACjE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;IAElD,0DAA0D;IAC1D,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,6BAA6B,EAAE,EAAE,CAAC,CAAC;IAC7D,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,mCAAmC,EAAE,EAAE,CAAC,CAAC;IACnE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,mCAAmC,EAAE,EAAE,CAAC,CAAC;IACnE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,iCAAiC,EAAE,EAAE,CAAC,CAAC;IAEjE,8CAA8C;IAC9C,MAAM,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACzF,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAEnD,IAAI,eAAe,IAAI,aAAa,KAAK,CAAC,CAAC,EAAE,CAAC;QAC5C,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,OAAO,OAAO,CAAC,SAAS,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IACtD,CAAC;IAED,mDAAmD;IACnD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC5C,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC5C,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAEzB,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAElD,IAAI,cAAc,KAAK,CAAC,CAAC,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;QACjD,OAAO,OAAO,CAAC,SAAS,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,8BAA8B;AAE9B,KAAK,UAAU,cAAc;IAC3B,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAE3C,MAAM,cAAc,GAAkB;QACpC,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,IAAI;QACZ,SAAS,EAAE,eAAe;QAC1B,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,IAAI;QAChB,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,IAAI;QAChB,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI;KACf,CAAC;IAEF,sBAAsB;IACtB,MAAM,IAAI,GAAG,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,cAAc,CAAC,CAAC;IACpF,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC;IAEhC,uCAAuC;IACvC,MAAM,IAAI,GAAG,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE;QAChE,GAAG,cAAc;QACjB,QAAQ,EAAE,SAAS;QACnB,aAAa,EAAE,KAAK;KACrB,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC;IAEhC,uBAAuB;IACvB,MAAM,IAAI,GAAG,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE;QAChE,GAAG,cAAc;QACjB,MAAM,EAAE,MAAM;KACf,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC;AAClC,CAAC;AAED,KAAK,UAAU,iBAAiB;IAC9B,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IAE/C,MAAM,cAAc,GAAkB;QACpC,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,IAAI;QACZ,SAAS,EAAE,eAAe;QAC1B,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,IAAI;QAChB,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,IAAI;QAChB,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI;KACf,CAAC;IAEF,MAAM,GAAG,GAAG,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,cAAc,CAAC,CAAC;IAEnF,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAElC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEnC,OAAO,CAAC,GAAG,CAAC,oBAAoB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,MAAM,UAAU,CAAC,CAAC;QAEnD,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAEzC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;AACH,CAAC;AAED,YAAY;AACZ,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,MAAM,cAAc,EAAE,CAAC;IACzB,CAAC;SAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACpC,MAAM,iBAAiB,EAAE,CAAC;IAC5B,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;QACrE,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;QACzE,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QACxC,MAAM,cAAc,EAAE,CAAC;QACvB,MAAM,iBAAiB,EAAE,CAAC;IAC5B,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "norikae-mcp",
3
- "version": "0.1.0",
3
+ "version": "0.1.3",
4
4
  "description": "Yahoo!乗換案内を使った日本の電車乗り換え検索MCP",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",