lit-forge-mcp 0.8.0 → 0.10.0

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
@@ -8,9 +8,9 @@
8
8
 
9
9
  Claude Desktop / Claude Code / Cursor など、MCP に対応した任意の AI クライアントで動作します。
10
10
 
11
- > **v0.2.0 で「金融・個人投資家特化」にピボット**、**v0.3.0 で「毎朝の市況チェック」系 3 ツールを追加**、**v0.4.0 で銘柄数 9 → 28 に拡大 + 5 つの分析ツール追加**、**v0.6.0 で配当履歴・アナリストコンセンサス・ファンダメンタル指標を追加**、**v0.7.0 で経済イベントに地政学カテゴリ(要人訪問・首脳会談)と複数日イベント(endDate)対応を追加**、**v0.8.0 で地政学イベント専用ツール `get_geopolitical_events` を新設**(首脳会談・国際サミット・主要国選挙・地政学リスクの 4 サブカテゴリを market implications 付きで返す + 一次ソース突合の verify インフラ整備)しました。
11
+ > **v0.2.0 で「金融・個人投資家特化」にピボット**、**v0.3.0 で「毎朝の市況チェック」系 3 ツールを追加**、**v0.4.0 で銘柄数 9 → 28 に拡大 + 5 つの分析ツール追加**、**v0.6.0 で配当履歴・アナリストコンセンサス・ファンダメンタル指標を追加**、**v0.7.0 で経済イベントに地政学カテゴリ(要人訪問・首脳会談)と複数日イベント(endDate)対応を追加**、**v0.8.0 で地政学イベント専用ツール `get_geopolitical_events` を新設**(首脳会談・国際サミット・主要国選挙・地政学リスクの 4 サブカテゴリを market implications 付きで返す + 一次ソース突合の verify インフラ整備)、**v0.9.0 で地政学ツールを 2 系統に分離・リアルタイム化**: 旧 `get_geopolitical_events` を `get_geopolitical_calendar` にリネーム(用途を確定スケジュール専用に明確化)、新ツール `get_geopolitical_pulse` を追加(BBC World / Al Jazeera / Google News の主要通信社 RSS を集約し、進行中の地政学リスク・突発イベントをリアルタイムで返す)しました。
12
12
 
13
- ## 提供ツール(15 種)
13
+ ## 提供ツール(16 種)
14
14
 
15
15
  ### 個人資産形成プランナー(純関数、外部 API 不要)
16
16
 
@@ -26,8 +26,9 @@ Claude Desktop / Claude Code / Cursor など、MCP に対応した任意の AI
26
26
  | ツール名 | 説明 |
27
27
  |---|---|
28
28
  | `get_market_snapshot` | USD/JPY・EUR/JPY・GBP/JPY・AUD/JPY・EUR/USD・CHF/JPY・ドル指数・日経平均・TOPIX・NY ダウ・S&P 500・NASDAQ・VIX・NYSE FANG+・SOX・DAX・FTSE・上海総合・ハンセン・KOSPI・SENSEX・米10年/5年金利・金・原油・銅・ビットコイン・イーサリアム の主要 28 指標を一括取得 |
29
- | `get_economic_events_today` | 当日 or 今週の経済イベント(FOMC・日銀金融政策決定会合・米雇用統計・CPI・GDP・中国 PMI 等のマクロ指標)を重要度付きで返す。`category` で `macro` / `policy` に絞り込み可能。期間イベント(ジャクソンホール会議等)は `endDate` で複数日対応。半年分を手動キュレーション。※ v0.8.0 で地政学イベント(首脳会談・サミット・選挙)は `get_geopolitical_events` に分離 |
30
- | `get_geopolitical_events` | **v0.8.0 新規**。本日・今週・今月の地政学イベントを 4 サブカテゴリ(summit=国際サミット / bilateral=首脳会談・要人訪問 / election=主要国選挙 / risk=確定済み地政学リスク)で返す。`marketImplications`(為替・株・債券への注目点)、`participants`、`sourceUrl`(一次ソース URL)付き。`country` 絞り込み可。データは日本政府公式・国際機関公式・民間集計から手動キュレーションし、`verify:geopolitical` TS⊆JSON 突合 |
29
+ | `get_economic_events_today` | 当日 or 今週の経済イベント(FOMC・日銀金融政策決定会合・米雇用統計・CPI・GDP・中国 PMI 等のマクロ指標)を重要度付きで返す。`category` で `macro` / `policy` に絞り込み可能。期間イベント(ジャクソンホール会議等)は `endDate` で複数日対応。半年分を手動キュレーション。※ v0.9.0 で地政学イベントは `get_geopolitical_calendar` / `get_geopolitical_pulse` に分離 |
30
+ | `get_geopolitical_calendar` | **v0.9.0 `get_geopolitical_events` からリネーム**。**確定済み公式スケジュール専用**: 本日・今週・今月の地政学イベントを 4 サブカテゴリ(summit / bilateral / election / risk)で返す。`marketImplications` / `participants` / `sourceUrl` 付き。半年に 1 PR で手動更新の静的データ。進行中の地政学リスクは `get_geopolitical_pulse` を使用 |
31
+ | `get_geopolitical_pulse` | **v0.9.0 新規**。**リアルタイム速報**: BBC World・Al Jazeera・Google News(トピック検索)の RSS を並列取得し、進行中の地政学イベント(首脳会談・紛争・制裁・封鎖シナリオ等)を最新順で返す。`topic`: us-china / middle-east / ukraine / japan / global。記事メタデータ(タイトル・配信元・配信日時・URL)のみで、解釈は呼び出し側 LLM の責務 |
31
32
  | `get_quote` | 任意の Yahoo Finance ティッカー(株・為替・指数・コモディティ・暗号資産)の現在値・前日比を取得。例: `AAPL` / `^DJI` / `BTC-USD`。`includeFundamentals: true` で PER / PBR / 配当利回り / ベータ / 時価総額も取得(v0.6.0) |
32
33
 
33
34
  ### 分析ツール(v0.4.0 新規)
@@ -51,7 +52,7 @@ Claude Desktop / Claude Code / Cursor など、MCP に対応した任意の AI
51
52
  >
52
53
  > v0.6.0 で `get_quote includeFundamentals=true` / `get_dividend_history` / `get_analyst_consensus` の 3 ルートが Yahoo Finance v10 quoteSummary(crumb 認証あり)を経由するため、`yahoo-finance2` パッケージを依存に追加しました。
53
54
 
54
- Claude / GPT / Cursor との対話の中で「老後資金大丈夫?」「月いくら積み立てれば?」「今日の市況を要約して」「FOMC は今週いつ?」「マーケット温度計は?」「セクターでどこが強い?」「今月の G7 サミットは?」「次の米中首脳会談はいつ?」を即座に試算・確認できます。
55
+ Claude / GPT / Cursor との対話の中で「老後資金大丈夫?」「月いくら積み立てれば?」「今日の市況を要約して」「FOMC は今週いつ?」「マーケット温度計は?」「セクターでどこが強い?」「今月の G7 サミットは?」「次の米中首脳会談はいつ?」「**今のイラン情勢は?**」「**ウクライナ和平の最新ニュースは?**」を即座に試算・確認できます。
55
56
 
56
57
  ## インストール / 設定
57
58
 
package/dist/index.js CHANGED
@@ -6,7 +6,7 @@ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"
6
6
  import { tools } from "./tools/index.js";
7
7
  const server = new McpServer({
8
8
  name: "lit-forge",
9
- version: "0.8.0",
9
+ version: "0.9.0",
10
10
  });
11
11
  for (const tool of tools) {
12
12
  server.registerTool(tool.name, {
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,215 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { articleDedupeKey, dedupeArticles, filterByRecency, matchesTopicKeywords, normalizeDate, parseRss, sortByDateDesc, } from "../geopolitical-pulse.js";
3
+ describe("parseRss (RSS 2.0)", () => {
4
+ it("基本的な <item> を抽出する", () => {
5
+ const xml = `<?xml version="1.0" encoding="UTF-8"?>
6
+ <rss>
7
+ <channel>
8
+ <title>BBC World</title>
9
+ <item>
10
+ <title>Trump arrives in Beijing for talks with Xi</title>
11
+ <link>https://example.com/a</link>
12
+ <pubDate>Wed, 13 May 2026 17:00:12 GMT</pubDate>
13
+ <description>Top story</description>
14
+ </item>
15
+ <item>
16
+ <title>Iran tensions rise</title>
17
+ <link>https://example.com/b</link>
18
+ <pubDate>Wed, 13 May 2026 16:00:00 GMT</pubDate>
19
+ </item>
20
+ </channel>
21
+ </rss>`;
22
+ const articles = parseRss(xml, "BBC World");
23
+ expect(articles).toHaveLength(2);
24
+ expect(articles[0].title).toBe("Trump arrives in Beijing for talks with Xi");
25
+ expect(articles[0].url).toBe("https://example.com/a");
26
+ expect(articles[0].publishedAt).toBe("2026-05-13T17:00:12.000Z");
27
+ expect(articles[0].source).toBe("BBC World");
28
+ expect(articles[0].description).toBe("Top story");
29
+ expect(articles[1].description).toBeUndefined();
30
+ });
31
+ it("CDATA を剥がす", () => {
32
+ const xml = `<rss><channel><item>
33
+ <title><![CDATA[Title with <strong>HTML</strong>]]></title>
34
+ <link>https://example.com/c</link>
35
+ <pubDate>Wed, 13 May 2026 12:00:00 GMT</pubDate>
36
+ </item></channel></rss>`;
37
+ const articles = parseRss(xml, "test");
38
+ expect(articles[0].title).toBe("Title with HTML");
39
+ });
40
+ it("HTML エンティティをデコードする", () => {
41
+ const xml = `<rss><channel><item>
42
+ <title>Trump &amp; Xi meet</title>
43
+ <link>https://example.com/d</link>
44
+ </item></channel></rss>`;
45
+ const articles = parseRss(xml, "test");
46
+ expect(articles[0].title).toBe("Trump & Xi meet");
47
+ });
48
+ it("Atom <entry> 形式に対応する", () => {
49
+ const xml = `<feed xmlns="http://www.w3.org/2005/Atom">
50
+ <entry>
51
+ <title>Atom format title</title>
52
+ <link href="https://example.com/atom"/>
53
+ <updated>2026-05-13T10:00:00Z</updated>
54
+ </entry>
55
+ </feed>`;
56
+ const articles = parseRss(xml, "test");
57
+ expect(articles).toHaveLength(1);
58
+ expect(articles[0].title).toBe("Atom format title");
59
+ expect(articles[0].url).toBe("https://example.com/atom");
60
+ expect(articles[0].publishedAt).toBe("2026-05-13T10:00:00.000Z");
61
+ });
62
+ it("title または link 欠落の item は除外する", () => {
63
+ const xml = `<rss><channel>
64
+ <item><title>No link</title></item>
65
+ <item><link>https://x.com</link></item>
66
+ <item><title>Both</title><link>https://y.com</link></item>
67
+ </channel></rss>`;
68
+ const articles = parseRss(xml, "test");
69
+ expect(articles).toHaveLength(1);
70
+ expect(articles[0].title).toBe("Both");
71
+ });
72
+ it("description は 300 文字でトランケートする", () => {
73
+ const longDesc = "x".repeat(500);
74
+ const xml = `<rss><channel><item>
75
+ <title>T</title><link>https://x.com</link>
76
+ <description>${longDesc}</description>
77
+ </item></channel></rss>`;
78
+ const articles = parseRss(xml, "test");
79
+ expect(articles[0].description?.length).toBe(300);
80
+ });
81
+ });
82
+ describe("normalizeDate", () => {
83
+ it("RFC 2822 形式を ISO 8601 に変換", () => {
84
+ expect(normalizeDate("Wed, 13 May 2026 17:00:12 GMT")).toBe("2026-05-13T17:00:12.000Z");
85
+ });
86
+ it("ISO 8601 を解釈する", () => {
87
+ expect(normalizeDate("2026-05-13T17:00:12Z")).toBe("2026-05-13T17:00:12.000Z");
88
+ });
89
+ it("オフセット付き ISO も処理する", () => {
90
+ expect(normalizeDate("2026-05-13T17:00:12+09:00")).toBe("2026-05-13T08:00:12.000Z");
91
+ });
92
+ it("不正な文字列は null を返す", () => {
93
+ expect(normalizeDate("not a date")).toBeNull();
94
+ expect(normalizeDate("")).toBeNull();
95
+ expect(normalizeDate(null)).toBeNull();
96
+ });
97
+ });
98
+ describe("matchesTopicKeywords", () => {
99
+ function mkArticle(title, description) {
100
+ return { title, url: "https://x", publishedAt: null, source: "t", description };
101
+ }
102
+ it("us-china: China/Xi/Beijing を含む記事が一致する", () => {
103
+ expect(matchesTopicKeywords(mkArticle("Trump arrives in Beijing for talks"), "us-china")).toBe(true);
104
+ expect(matchesTopicKeywords(mkArticle("Xi Jinping meets foreign delegation"), "us-china")).toBe(true);
105
+ });
106
+ it("us-china: 'trump' 単独では一致しない(米国内ニュース誤検出を避ける)", () => {
107
+ expect(matchesTopicKeywords(mkArticle("Trump taps Venturella to lead ICE"), "us-china")).toBe(false);
108
+ });
109
+ it("japan: 現職の高市総理(takaichi)を含む記事が一致する", () => {
110
+ expect(matchesTopicKeywords(mkArticle("Takaichi to visit UK and Italy"), "japan")).toBe(true);
111
+ });
112
+ it("japan: 過去の前任 (ishiba / kishida) も拾える", () => {
113
+ expect(matchesTopicKeywords(mkArticle("Ishiba LDP review"), "japan")).toBe(true);
114
+ expect(matchesTopicKeywords(mkArticle("Kishida memoir"), "japan")).toBe(true);
115
+ });
116
+ it("middle-east: Iran/Israel/Gaza が一致する", () => {
117
+ expect(matchesTopicKeywords(mkArticle("Iran tensions rise"), "middle-east")).toBe(true);
118
+ expect(matchesTopicKeywords(mkArticle("Israel-Gaza ceasefire"), "middle-east")).toBe(true);
119
+ });
120
+ it("ukraine: Ukraine/Russia/Kyiv が一致する", () => {
121
+ expect(matchesTopicKeywords(mkArticle("Ukraine war update"), "ukraine")).toBe(true);
122
+ expect(matchesTopicKeywords(mkArticle("Russia demands Kyiv withdrawal"), "ukraine")).toBe(true);
123
+ });
124
+ it("global: 全て一致する(フィルタなし)", () => {
125
+ expect(matchesTopicKeywords(mkArticle("Random news"), "global")).toBe(true);
126
+ });
127
+ it("description にもキーワードを探す", () => {
128
+ expect(matchesTopicKeywords(mkArticle("Vague title", "Iran sanctions imposed"), "middle-east")).toBe(true);
129
+ });
130
+ it("大文字小文字を区別しない", () => {
131
+ expect(matchesTopicKeywords(mkArticle("IRAN STRIKES"), "middle-east")).toBe(true);
132
+ expect(matchesTopicKeywords(mkArticle("UKRAINE"), "ukraine")).toBe(true);
133
+ });
134
+ });
135
+ describe("articleDedupeKey", () => {
136
+ function mkArticle(title) {
137
+ return { title, url: "x", publishedAt: null, source: "t" };
138
+ }
139
+ it("記号と大文字小文字を正規化する", () => {
140
+ const k1 = articleDedupeKey(mkArticle("Trump, Xi Meet in Beijing"));
141
+ const k2 = articleDedupeKey(mkArticle("Trump Xi meet in Beijing!"));
142
+ expect(k1).toBe(k2);
143
+ });
144
+ it("先頭 60 文字に制限する", () => {
145
+ const long = "a".repeat(100);
146
+ expect(articleDedupeKey(mkArticle(long)).length).toBe(60);
147
+ });
148
+ it("非ラテン文字(日本語)も保持する", () => {
149
+ const k = articleDedupeKey(mkArticle("トランプ氏 北京到着"));
150
+ expect(k).toContain("トランプ");
151
+ });
152
+ });
153
+ describe("dedupeArticles", () => {
154
+ function mk(title, source = "s1") {
155
+ return { title, url: "x", publishedAt: null, source };
156
+ }
157
+ it("同一タイトルは先勝ちで 1 件のみ残す", () => {
158
+ const r = dedupeArticles([
159
+ mk("Trump Xi meet in Beijing", "BBC"),
160
+ mk("Trump, Xi meet in Beijing!", "Google"),
161
+ mk("Different news"),
162
+ ]);
163
+ expect(r).toHaveLength(2);
164
+ expect(r[0].source).toBe("BBC");
165
+ });
166
+ it("空配列は空を返す", () => {
167
+ expect(dedupeArticles([])).toEqual([]);
168
+ });
169
+ });
170
+ describe("filterByRecency", () => {
171
+ const now = new Date("2026-05-14T00:00:00Z");
172
+ function mk(publishedAt) {
173
+ return { title: "x", url: "y", publishedAt, source: "s" };
174
+ }
175
+ it("hoursBack 内の記事を残す", () => {
176
+ const r = filterByRecency([mk("2026-05-13T20:00:00Z"), mk("2026-05-12T00:00:00Z")], 12, now);
177
+ expect(r).toHaveLength(1);
178
+ expect(r[0].publishedAt).toBe("2026-05-13T20:00:00Z");
179
+ });
180
+ it("publishedAt が null の記事は通す", () => {
181
+ const r = filterByRecency([mk(null)], 6, now);
182
+ expect(r).toHaveLength(1);
183
+ });
184
+ it("ちょうど境界の記事は残す", () => {
185
+ const r = filterByRecency([mk("2026-05-13T12:00:00Z")], 12, now);
186
+ expect(r).toHaveLength(1);
187
+ });
188
+ });
189
+ describe("sortByDateDesc", () => {
190
+ function mk(publishedAt, title = "x") {
191
+ return { title, url: "y", publishedAt, source: "s" };
192
+ }
193
+ it("新しい順にソートする", () => {
194
+ const r = sortByDateDesc([
195
+ mk("2026-05-13T10:00:00Z", "old"),
196
+ mk("2026-05-13T20:00:00Z", "new"),
197
+ mk("2026-05-13T15:00:00Z", "mid"),
198
+ ]);
199
+ expect(r.map((a) => a.title)).toEqual(["new", "mid", "old"]);
200
+ });
201
+ it("publishedAt が null の記事は末尾に来る", () => {
202
+ const r = sortByDateDesc([
203
+ mk(null, "nulldate"),
204
+ mk("2026-05-13T15:00:00Z", "mid"),
205
+ ]);
206
+ expect(r.map((a) => a.title)).toEqual(["mid", "nulldate"]);
207
+ });
208
+ it("入力配列を破壊しない", () => {
209
+ const input = [mk("2026-05-13T10:00:00Z", "a"), mk("2026-05-13T20:00:00Z", "b")];
210
+ const before = input.map((a) => a.title);
211
+ sortByDateDesc(input);
212
+ expect(input.map((a) => a.title)).toEqual(before);
213
+ });
214
+ });
215
+ //# sourceMappingURL=geopolitical-pulse.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geopolitical-pulse.test.js","sourceRoot":"","sources":["../../../src/lib/__tests__/geopolitical-pulse.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { EconomicEvent, EventCategory } from "./market-types.js";
2
- export declare const LAST_UPDATED = "2026-05-12";
2
+ export declare const LAST_UPDATED = "2026-05-15";
3
3
  export declare const ECONOMIC_EVENTS: readonly EconomicEvent[];
4
4
  export declare function jstDateKey(now?: Date): string;
5
5
  export declare function getEventsForDate(date: string, events?: readonly EconomicEvent[]): EconomicEvent[];
@@ -7,7 +7,7 @@
7
7
  // 重要度: 1=★(参考)/ 2=★★(重要)/ 3=★★★(必読)。
8
8
  // 日付は JST、時刻が示す場合は HH:MM JST。終日イベント(FOMC 結果等)は time 省略。
9
9
  // 複数日にまたがるイベント(訪日・サミット等)は endDate を付与。
10
- export const LAST_UPDATED = "2026-05-12";
10
+ export const LAST_UPDATED = "2026-05-15";
11
11
  export const ECONOMIC_EVENTS = [
12
12
  // ============ 2026 年 5 月 ============
13
13
  { date: "2026-05-01", time: "10:30", country: "CN", name: "中国 製造業 PMI(4 月)", importance: 2 },
@@ -16,11 +16,11 @@ export const ECONOMIC_EVENTS = [
16
16
  { date: "2026-05-05", time: "23:00", country: "US", name: "米 ISM 非製造業 PMI(4 月)", importance: 2 },
17
17
  { date: "2026-05-12", time: "08:50", country: "JP", name: "日銀 主な意見(4 月会合分)", importance: 2, note: "4 月 27-28 日会合分。公表は会合の約 2 週間後" },
18
18
  // v0.7.0 で追加したベッセント訪日エントリは v0.8.0 で GEOPOLITICAL_EVENTS に移行。
19
- // 地政学イベントは get_geopolitical_events ツール経由で取得する。
19
+ // 地政学イベントは get_geopolitical_calendar(確定スケジュール)/ get_geopolitical_pulse(速報)ツール経由で取得する。
20
20
  { date: "2026-05-12", time: "21:30", country: "US", name: "米 CPI(4 月)", importance: 3, note: "総合・コア前年比" },
21
21
  { date: "2026-05-13", time: "21:30", country: "US", name: "米 PPI(4 月)", importance: 2 },
22
22
  { date: "2026-05-14", time: "21:30", country: "US", name: "米 小売売上高(4 月)", importance: 2 },
23
- { date: "2026-05-15", country: "JP", name: "日 GDP 一次速報(1-3 月期)", importance: 3 },
23
+ { date: "2026-05-19", time: "08:50", country: "JP", name: "日 GDP 一次速報(1-3 月期)", importance: 3 },
24
24
  { date: "2026-05-22", time: "08:30", country: "JP", name: "日 CPI(4 月)", importance: 2 },
25
25
  { date: "2026-05-28", time: "21:30", country: "US", name: "米 PCE 価格指数(4 月)", importance: 3, note: "FRB が重視するインフレ指標" },
26
26
  // ============ 2026 年 6 月 ============
@@ -30,7 +30,7 @@ export const ECONOMIC_EVENTS = [
30
30
  { date: "2026-06-05", time: "21:30", country: "US", name: "米 雇用統計(5 月)", importance: 3 },
31
31
  { date: "2026-06-10", time: "21:30", country: "US", name: "米 CPI(5 月)", importance: 3 },
32
32
  { date: "2026-06-11", time: "21:30", country: "US", name: "米 PPI(5 月)", importance: 2 },
33
- { date: "2026-06-12", country: "JP", name: "日 SQ(先物・オプション特別清算指数)", importance: 1 },
33
+ { date: "2026-06-12", country: "JP", name: "日 SQ", importance: 1 },
34
34
  { date: "2026-06-15", country: "JP", name: "日銀 金融政策決定会合(1 日目)", importance: 3 },
35
35
  { date: "2026-06-16", country: "JP", name: "日銀 金融政策決定会合(結果発表)", importance: 3, note: "総裁会見あり" },
36
36
  { date: "2026-06-16", country: "US", name: "FOMC(1 日目)", importance: 3 },
@@ -1 +1 @@
1
- {"version":3,"file":"economic-events.js","sourceRoot":"","sources":["../../src/lib/economic-events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"economic-events.js","sourceRoot":"","sources":["../../src/lib/economic-events.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import type { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
2
+ export type PulseTopic = "us-china" | "middle-east" | "ukraine" | "japan" | "global";
3
+ export declare const PULSE_TOPIC_LABEL: Record<PulseTopic, string>;
4
+ export type PulseArticle = {
5
+ title: string;
6
+ url: string;
7
+ publishedAt: string | null;
8
+ source: string;
9
+ description?: string;
10
+ };
11
+ export type FeedResult = {
12
+ key: string;
13
+ label: string;
14
+ ok: boolean;
15
+ count: number;
16
+ error?: string;
17
+ elapsedMs: number;
18
+ };
19
+ type FeedDef = {
20
+ key: string;
21
+ label: string;
22
+ buildUrl: (topic: PulseTopic) => string;
23
+ keywordFilter: boolean;
24
+ };
25
+ export declare function fetchFeed(feed: FeedDef, topic: PulseTopic): Promise<{
26
+ result: FeedResult;
27
+ articles: PulseArticle[];
28
+ }>;
29
+ export declare function parseRss(xml: string, source: string): PulseArticle[];
30
+ export declare function normalizeDate(raw: string | null): string | null;
31
+ export declare function matchesTopicKeywords(article: PulseArticle, topic: PulseTopic): boolean;
32
+ export declare function articleDedupeKey(article: PulseArticle): string;
33
+ export declare function dedupeArticles(articles: readonly PulseArticle[]): PulseArticle[];
34
+ export declare function filterByRecency(articles: readonly PulseArticle[], hoursBack: number, now?: Date): PulseArticle[];
35
+ export declare function sortByDateDesc(articles: readonly PulseArticle[]): PulseArticle[];
36
+ export declare function fetchPulse(opts: {
37
+ topic: PulseTopic;
38
+ maxItems: number;
39
+ hoursBack: number;
40
+ }): Promise<{
41
+ topic: PulseTopic;
42
+ topicLabel: string;
43
+ fetchedAt: string;
44
+ sources: FeedResult[];
45
+ articles: PulseArticle[];
46
+ truncated: boolean;
47
+ }>;
48
+ export declare function toCallToolResult(payload: unknown): CallToolResult;
49
+ export {};
@@ -0,0 +1,251 @@
1
+ // 地政学リアルタイム速報(v0.9.0 新設)。
2
+ // 主要通信社の RSS フィードを並列取得・dedupe・時刻ソートして返す。
3
+ // 客観性の基盤: 「主要通信社が編集判断のうえ配信した記事」のメタデータ。
4
+ // 主観的な解釈(marketImplications 等)はツール側では付与せず、LLM の責務とする。
5
+ //
6
+ // PoC 結果(scripts/rss-poc.mjs):
7
+ // - BBC World / Al Jazeera / Google News topic-search が認証不要・無料・低レイテンシで動作
8
+ // - Reuters / AP / NHK の RSS は仕様変更で 404(採用見送り)
9
+ // - 並列フェッチでも RSS 側のレート制限は問題にならない
10
+ export const PULSE_TOPIC_LABEL = {
11
+ "us-china": "米中(首脳会談・貿易・関税・台湾)",
12
+ "middle-east": "中東(イラン・ホルムズ・イスラエル・ガザ)",
13
+ ukraine: "ウクライナ・ロシア(和平・侵攻・支援・制裁)",
14
+ japan: "日本外交(要人訪問・首脳会談)",
15
+ global: "地政学全般",
16
+ };
17
+ // トピック別キーワード(BBC / Al Jazeera のフィード内キーワード絞り込み + Google News 検索クエリ)。
18
+ // OR を効かせるため小文字化済みの単語配列で保持。
19
+ // 注意: "trump" のような単語は単独で米国内ニュースを大量に拾うため、地理/topic 特定語を採用する。
20
+ const TOPIC_KEYWORDS = {
21
+ "us-china": ["china", "chinese", "xi jinping", "beijing", "taiwan", "tariff", "trade war"],
22
+ "middle-east": ["iran", "hormuz", "israel", "gaza", "hezbollah", "tehran", "middle east"],
23
+ ukraine: ["ukraine", "ukrainian", "russia", "russian", "kyiv", "moscow", "putin", "zelensky"],
24
+ // 首相名は寿命が短いので「現職 + 直近の前任 2-3 名」を保持。新総理就任時は更新する。
25
+ // 2026-05 時点の現職: 高市早苗(takaichi)
26
+ japan: ["japan", "japanese", "tokyo", "takaichi", "ishiba", "kishida"],
27
+ global: [], // 全件通す(global は dedupe + 時刻ソート + maxItems カット)
28
+ };
29
+ // Google News のトピック検索クエリ(URL エンコード前)。
30
+ const TOPIC_GOOGLE_QUERY = {
31
+ "us-china": "Trump Xi China summit OR tariff OR trade",
32
+ "middle-east": "Iran OR Israel OR Gaza OR Hormuz",
33
+ ukraine: "Ukraine OR Russia ceasefire OR peace OR invasion",
34
+ japan: "Japan diplomatic OR prime minister OR summit",
35
+ global: "geopolitics OR diplomatic crisis",
36
+ };
37
+ const UA = "Mozilla/5.0 (compatible; lit-forge-mcp/0.9; +https://github.com/noblabs/lit-forge-mcp)";
38
+ const FETCH_TIMEOUT_MS = 10_000;
39
+ const FEEDS = [
40
+ {
41
+ key: "bbc-world",
42
+ label: "BBC World",
43
+ buildUrl: () => "https://feeds.bbci.co.uk/news/world/rss.xml",
44
+ keywordFilter: true,
45
+ },
46
+ {
47
+ key: "aljazeera",
48
+ label: "Al Jazeera English",
49
+ buildUrl: () => "https://www.aljazeera.com/xml/rss/all.xml",
50
+ keywordFilter: true,
51
+ },
52
+ {
53
+ key: "google-news",
54
+ label: "Google News",
55
+ buildUrl: (topic) => {
56
+ const q = encodeURIComponent(TOPIC_GOOGLE_QUERY[topic]);
57
+ return `https://news.google.com/rss/search?q=${q}&hl=en-US&gl=US&ceid=US:en`;
58
+ },
59
+ keywordFilter: false, // Google News は検索クエリで既に絞られている
60
+ },
61
+ ];
62
+ // 1 フィード分の RSS をフェッチ → パース → 記事配列に変換。
63
+ export async function fetchFeed(feed, topic) {
64
+ const t0 = Date.now();
65
+ const url = feed.buildUrl(topic);
66
+ try {
67
+ const res = await fetch(url, {
68
+ headers: {
69
+ "User-Agent": UA,
70
+ Accept: "application/rss+xml, application/xml, text/xml, */*",
71
+ },
72
+ signal: AbortSignal.timeout(FETCH_TIMEOUT_MS),
73
+ redirect: "follow",
74
+ });
75
+ if (!res.ok) {
76
+ return {
77
+ result: {
78
+ key: feed.key,
79
+ label: feed.label,
80
+ ok: false,
81
+ count: 0,
82
+ error: `HTTP ${res.status}`,
83
+ elapsedMs: Date.now() - t0,
84
+ },
85
+ articles: [],
86
+ };
87
+ }
88
+ const xml = await res.text();
89
+ const articles = parseRss(xml, feed.label);
90
+ const filtered = feed.keywordFilter && topic !== "global"
91
+ ? articles.filter((a) => matchesTopicKeywords(a, topic))
92
+ : articles;
93
+ return {
94
+ result: {
95
+ key: feed.key,
96
+ label: feed.label,
97
+ ok: true,
98
+ count: filtered.length,
99
+ elapsedMs: Date.now() - t0,
100
+ },
101
+ articles: filtered,
102
+ };
103
+ }
104
+ catch (e) {
105
+ const msg = e instanceof Error ? e.message : "fetch failed";
106
+ return {
107
+ result: {
108
+ key: feed.key,
109
+ label: feed.label,
110
+ ok: false,
111
+ count: 0,
112
+ error: msg,
113
+ elapsedMs: Date.now() - t0,
114
+ },
115
+ articles: [],
116
+ };
117
+ }
118
+ }
119
+ // RSS 2.0 / Atom の <item> または <entry> を抽出する最小パーサー。
120
+ // 依存追加を避けるため正規表現ベース(依存追加してもよくなったら fast-xml-parser に切り替え)。
121
+ export function parseRss(xml, source) {
122
+ const out = [];
123
+ const itemRe = /<(item|entry)\b[^>]*>([\s\S]*?)<\/\1>/g;
124
+ let m;
125
+ while ((m = itemRe.exec(xml)) !== null) {
126
+ const body = m[2];
127
+ const title = extractTag(body, "title");
128
+ const link = extractTag(body, "link") ?? extractLinkHref(body);
129
+ const rawDate = extractTag(body, "pubDate") ||
130
+ extractTag(body, "updated") ||
131
+ extractTag(body, "published");
132
+ const description = extractTag(body, "description") || extractTag(body, "summary");
133
+ if (!title || !link)
134
+ continue;
135
+ out.push({
136
+ title: cleanText(title),
137
+ url: cleanText(link),
138
+ publishedAt: normalizeDate(rawDate),
139
+ source,
140
+ description: description ? cleanText(description).slice(0, 300) : undefined,
141
+ });
142
+ }
143
+ return out;
144
+ }
145
+ function extractTag(body, tag) {
146
+ const re = new RegExp(`<${tag}\\b[^>]*>([\\s\\S]*?)<\\/${tag}>`);
147
+ const mm = body.match(re);
148
+ return mm ? mm[1] : null;
149
+ }
150
+ // Atom 形式の <link href="..."/> 対応。
151
+ function extractLinkHref(body) {
152
+ const mm = body.match(/<link\b[^>]*\bhref="([^"]+)"/);
153
+ return mm ? mm[1] : null;
154
+ }
155
+ function cleanText(s) {
156
+ return s
157
+ .replace(/^\s*<!\[CDATA\[/, "")
158
+ .replace(/\]\]>\s*$/, "")
159
+ .replace(/<[^>]+>/g, "")
160
+ .replace(/&amp;/g, "&")
161
+ .replace(/&lt;/g, "<")
162
+ .replace(/&gt;/g, ">")
163
+ .replace(/&quot;/g, '"')
164
+ .replace(/&#39;/g, "'")
165
+ .replace(/&nbsp;/g, " ")
166
+ .trim();
167
+ }
168
+ // pubDate 文字列を ISO 8601 に正規化。失敗時は null。
169
+ export function normalizeDate(raw) {
170
+ if (!raw)
171
+ return null;
172
+ const cleaned = cleanText(raw);
173
+ const t = Date.parse(cleaned);
174
+ if (Number.isNaN(t))
175
+ return null;
176
+ return new Date(t).toISOString();
177
+ }
178
+ // タイトルからトピックキーワード一致を判定(小文字部分一致 OR)。
179
+ export function matchesTopicKeywords(article, topic) {
180
+ const keywords = TOPIC_KEYWORDS[topic];
181
+ if (keywords.length === 0)
182
+ return true;
183
+ const haystack = (article.title + " " + (article.description ?? "")).toLowerCase();
184
+ return keywords.some((kw) => haystack.includes(kw));
185
+ }
186
+ // タイトルの正規化キー(小文字 + 記号除去 + 先頭 60 文字)で重複判定。
187
+ export function articleDedupeKey(article) {
188
+ return article.title
189
+ .toLowerCase()
190
+ .replace(/[^\p{L}\p{N}\s]/gu, "")
191
+ .replace(/\s+/g, " ")
192
+ .trim()
193
+ .slice(0, 60);
194
+ }
195
+ // 配列を dedupe(先勝ち)。
196
+ export function dedupeArticles(articles) {
197
+ const seen = new Set();
198
+ const out = [];
199
+ for (const a of articles) {
200
+ const k = articleDedupeKey(a);
201
+ if (!k || seen.has(k))
202
+ continue;
203
+ seen.add(k);
204
+ out.push(a);
205
+ }
206
+ return out;
207
+ }
208
+ // hoursBack より古い記事を除外。publishedAt が null の記事は通す(不明 = 新しい可能性)。
209
+ export function filterByRecency(articles, hoursBack, now = new Date()) {
210
+ const cutoff = now.getTime() - hoursBack * 3600 * 1000;
211
+ return articles.filter((a) => {
212
+ if (!a.publishedAt)
213
+ return true;
214
+ const t = Date.parse(a.publishedAt);
215
+ return Number.isNaN(t) ? true : t >= cutoff;
216
+ });
217
+ }
218
+ // 新しい順にソート。publishedAt が null の記事は末尾に。
219
+ export function sortByDateDesc(articles) {
220
+ return [...articles].sort((a, b) => {
221
+ const ta = a.publishedAt ? Date.parse(a.publishedAt) : -Infinity;
222
+ const tb = b.publishedAt ? Date.parse(b.publishedAt) : -Infinity;
223
+ return tb - ta;
224
+ });
225
+ }
226
+ // メイン: 全フィード並列取得 → 統合 → dedupe → recency フィルタ → ソート → maxItems カット。
227
+ export async function fetchPulse(opts) {
228
+ const settled = await Promise.all(FEEDS.map((f) => fetchFeed(f, opts.topic)));
229
+ const allArticles = settled.flatMap((s) => s.articles);
230
+ const sources = settled.map((s) => s.result);
231
+ const deduped = dedupeArticles(allArticles);
232
+ const recent = filterByRecency(deduped, opts.hoursBack);
233
+ const sorted = sortByDateDesc(recent);
234
+ const truncated = sorted.length > opts.maxItems;
235
+ const articles = sorted.slice(0, opts.maxItems);
236
+ return {
237
+ topic: opts.topic,
238
+ topicLabel: PULSE_TOPIC_LABEL[opts.topic],
239
+ fetchedAt: new Date().toISOString(),
240
+ sources,
241
+ articles,
242
+ truncated,
243
+ };
244
+ }
245
+ // MCP CallToolResult 用のシリアライズヘルパー(types.ts に依存させたくないので分離)。
246
+ export function toCallToolResult(payload) {
247
+ return {
248
+ content: [{ type: "text", text: JSON.stringify(payload, null, 2) }],
249
+ };
250
+ }
251
+ //# sourceMappingURL=geopolitical-pulse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geopolitical-pulse.js","sourceRoot":"","sources":["../../src/lib/geopolitical-pulse.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,yCAAyC;AACzC,uCAAuC;AACvC,sDAAsD;AACtD,EAAE;AACF,+BAA+B;AAC/B,2EAA2E;AAC3E,iDAAiD;AACjD,mCAAmC;AAMnC,MAAM,CAAC,MAAM,iBAAiB,GAA+B;IAC3D,UAAU,EAAE,mBAAmB;IAC/B,aAAa,EAAE,uBAAuB;IACtC,OAAO,EAAE,wBAAwB;IACjC,KAAK,EAAE,iBAAiB;IACxB,MAAM,EAAE,OAAO;CAChB,CAAC;AAEF,oEAAoE;AACpE,4BAA4B;AAC5B,2DAA2D;AAC3D,MAAM,cAAc,GAA0C;IAC5D,UAAU,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC;IAC1F,aAAa,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,CAAC;IACzF,OAAO,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC;IAC7F,gDAAgD;IAChD,gCAAgC;IAChC,KAAK,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAC;IACtE,MAAM,EAAE,EAAE,EAAE,+CAA+C;CAC5D,CAAC;AAEF,sCAAsC;AACtC,MAAM,kBAAkB,GAA+B;IACrD,UAAU,EAAE,0CAA0C;IACtD,aAAa,EAAE,kCAAkC;IACjD,OAAO,EAAE,kDAAkD;IAC3D,KAAK,EAAE,8CAA8C;IACrD,MAAM,EAAE,kCAAkC;CAC3C,CAAC;AAqBF,MAAM,EAAE,GAAG,wFAAwF,CAAC;AACpG,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAWhC,MAAM,KAAK,GAAuB;IAChC;QACE,GAAG,EAAE,WAAW;QAChB,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE,GAAG,EAAE,CAAC,6CAA6C;QAC7D,aAAa,EAAE,IAAI;KACpB;IACD;QACE,GAAG,EAAE,WAAW;QAChB,KAAK,EAAE,oBAAoB;QAC3B,QAAQ,EAAE,GAAG,EAAE,CAAC,2CAA2C;QAC3D,aAAa,EAAE,IAAI;KACpB;IACD;QACE,GAAG,EAAE,aAAa;QAClB,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;YAClB,MAAM,CAAC,GAAG,kBAAkB,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;YACxD,OAAO,wCAAwC,CAAC,4BAA4B,CAAC;QAC/E,CAAC;QACD,aAAa,EAAE,KAAK,EAAE,8BAA8B;KACrD;CACF,CAAC;AAEF,sCAAsC;AACtC,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,IAAa,EACb,KAAiB;IAEjB,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACtB,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAC3B,OAAO,EAAE;gBACP,YAAY,EAAE,EAAE;gBAChB,MAAM,EAAE,qDAAqD;aAC9D;YACD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC;YAC7C,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,OAAO;gBACL,MAAM,EAAE;oBACN,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,QAAQ,GAAG,CAAC,MAAM,EAAE;oBAC3B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE;iBAC3B;gBACD,QAAQ,EAAE,EAAE;aACb,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3C,MAAM,QAAQ,GACZ,IAAI,CAAC,aAAa,IAAI,KAAK,KAAK,QAAQ;YACtC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACxD,CAAC,CAAC,QAAQ,CAAC;QACf,OAAO;YACL,MAAM,EAAE;gBACN,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,EAAE,EAAE,IAAI;gBACR,KAAK,EAAE,QAAQ,CAAC,MAAM;gBACtB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE;aAC3B;YACD,QAAQ,EAAE,QAAQ;SACnB,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC;QAC5D,OAAO;YACL,MAAM,EAAE;gBACN,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,CAAC;gBACR,KAAK,EAAE,GAAG;gBACV,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE;aAC3B;YACD,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;AACH,CAAC;AAED,mDAAmD;AACnD,0DAA0D;AAC1D,MAAM,UAAU,QAAQ,CAAC,GAAW,EAAE,MAAc;IAClD,MAAM,GAAG,GAAmB,EAAE,CAAC;IAC/B,MAAM,MAAM,GAAG,wCAAwC,CAAC;IACxD,IAAI,CAAyB,CAAC;IAC9B,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAClB,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;QAC/D,MAAM,OAAO,GACX,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC;YAC3B,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC;YAC3B,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAChC,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACnF,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI;YAAE,SAAS;QAC9B,GAAG,CAAC,IAAI,CAAC;YACP,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC;YACvB,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC;YACpB,WAAW,EAAE,aAAa,CAAC,OAAO,CAAC;YACnC,MAAM;YACN,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;SAC5E,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,UAAU,CAAC,IAAY,EAAE,GAAW;IAC3C,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,IAAI,GAAG,4BAA4B,GAAG,GAAG,CAAC,CAAC;IACjE,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC1B,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3B,CAAC;AAED,kCAAkC;AAClC,SAAS,eAAe,CAAC,IAAY;IACnC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACtD,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3B,CAAC;AAED,SAAS,SAAS,CAAC,CAAS;IAC1B,OAAO,CAAC;SACL,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC;SAC9B,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;SACxB,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;SACtB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;SACrB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;SACrB,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;SACvB,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;SACtB,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;SACvB,IAAI,EAAE,CAAC;AACZ,CAAC;AAED,wCAAwC;AACxC,MAAM,UAAU,aAAa,CAAC,GAAkB;IAC9C,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9B,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACjC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;AACnC,CAAC;AAED,oCAAoC;AACpC,MAAM,UAAU,oBAAoB,CAClC,OAAqB,EACrB,KAAiB;IAEjB,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,KAAK,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACnF,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,gBAAgB,CAAC,OAAqB;IACpD,OAAO,OAAO,CAAC,KAAK;SACjB,WAAW,EAAE;SACb,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC;SAChC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,IAAI,EAAE;SACN,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAClB,CAAC;AAED,mBAAmB;AACnB,MAAM,UAAU,cAAc,CAAC,QAAiC;IAC9D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,GAAG,GAAmB,EAAE,CAAC;IAC/B,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,SAAS;QAChC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACZ,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACd,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,eAAe,CAC7B,QAAiC,EACjC,SAAiB,EACjB,MAAY,IAAI,IAAI,EAAE;IAEtB,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC;IACvD,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QAC3B,IAAI,CAAC,CAAC,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC;QAChC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACpC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,uCAAuC;AACvC,MAAM,UAAU,cAAc,CAC5B,QAAiC;IAEjC,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACjC,MAAM,EAAE,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QACjE,MAAM,EAAE,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QACjE,OAAO,EAAE,GAAG,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,oEAAoE;AACpE,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAIhC;IAQC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAC3C,CAAC;IACF,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAE7C,MAAM,OAAO,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;IAChD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEhD,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,UAAU,EAAE,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;QACzC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,OAAO;QACP,QAAQ;QACR,SAAS;KACV,CAAC;AACJ,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC/C,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;KACpE,CAAC;AACJ,CAAC"}
@@ -24,7 +24,7 @@ export const getEconomicEventsTodayTool = {
24
24
  title: "本日・今週の経済イベント",
25
25
  description: "本日(または今週)の主要経済イベント(FOMC・日銀金融政策決定会合・米雇用統計・CPI・GDP・中国 PMI などのマクロ指標)を返します。期間イベント(ジャクソンホール会議等)は期間中の各日に today クエリでヒットします。データは lit-forge 運営者が手動キュレーションした半年分のスケジュール。" +
26
26
  "【利用上の注意】既定 range=today は当日分のみを返すため、ユーザーの質問が『明日』『今週』『週末』『次の指標』など今日を超える時間軸を含むときは range=\"week\" を明示すること。直前に today で取得済みでも、未来の時間軸が話題に出た時点で week で取り直す。" +
27
- "【v0.8.0 以降】首脳会談・要人訪問・国際サミット・主要国選挙・地政学リスクの 4 サブカテゴリは別ツール `get_geopolitical_events` に分離されました。地政学情報が必要なときはそちらを使用してください。本ツールの category=\"geopolitical\" 引数は後方互換のため残されていますが、結果は空に近くなります。",
27
+ "【v0.9.0 以降】首脳会談・要人訪問・国際サミット・主要国選挙・地政学リスクの 4 サブカテゴリは `get_geopolitical_calendar`(確定スケジュール)に、進行中の地政学情勢は `get_geopolitical_pulse`(リアルタイム速報)に分離されました。地政学情報が必要なときはそれらを使用してください。本ツールの category=\"geopolitical\" 引数は後方互換のため残されていますが、結果は空に近くなります。",
28
28
  inputSchema,
29
29
  handler: ({ range, minImportance, category }) => {
30
30
  const today = jstDateKey();
@@ -49,7 +49,7 @@ export const getEconomicEventsTodayTool = {
49
49
  })),
50
50
  note: "経済イベントは半年に 1 回手動更新。急な発表変更や中銀緊急会合は反映されない場合があります。" +
51
51
  (requestedGeopolitical
52
- ? " ※ 地政学イベント(首脳会談・サミット・選挙・地政学リスク)は v0.8.0 で別ツール `get_geopolitical_events` に分離されました。詳細はそちらをご利用ください。"
52
+ ? " ※ 地政学イベントは v0.9.0 `get_geopolitical_calendar`(確定スケジュール)+ `get_geopolitical_pulse`(リアルタイム速報)に分離されました。詳細はそちらをご利用ください。"
53
53
  : ""),
54
54
  });
55
55
  },
@@ -1 +1 @@
1
- {"version":3,"file":"get-economic-events.js","sourceRoot":"","sources":["../../src/tools/get-economic-events.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,qDAAqD;AACrD,wCAAwC;AAExC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,GACX,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,SAAS,EAAqB,MAAM,YAAY,CAAC;AAE1D,MAAM,WAAW,GAAG;IAClB,KAAK,EAAE,CAAC;SACL,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;SACvB,QAAQ,EAAE;SACV,QAAQ,CACP,2CAA2C;QACzC,+DAA+D,CAClE;IACH,aAAa,EAAE,CAAC;SACb,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;SACjD,QAAQ,EAAE;SACV,QAAQ,CAAC,0CAA0C,CAAC;IACvD,QAAQ,EAAE,CAAC;SACR,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC;SAClD,QAAQ,EAAE;SACV,QAAQ,CACP,gFAAgF,CACjF;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAiB;IACtD,IAAI,EAAE,2BAA2B;IACjC,KAAK,EAAE,cAAc;IACrB,WAAW,EACT,+JAA+J;QAC/J,qJAAqJ;QACrJ,qLAAqL;IACvL,WAAW;IACX,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC9C,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACpF,MAAM,YAAY,GAAG,kBAAkB,CAAC,MAAM,EAAE,aAAa,IAAI,CAAC,CAAC,CAAC;QACpE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAC1D,MAAM,qBAAqB,GAAG,QAAQ,EAAE,QAAQ,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC;QAC1E,OAAO,SAAS,CAAC;YACf,KAAK;YACL,KAAK,EAAE,KAAK,IAAI,OAAO;YACvB,WAAW,EAAE,YAAY;YACzB,KAAK,EAAE,QAAQ,CAAC,MAAM;YACtB,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC3B,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI;gBACpB,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC;gBACjC,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC;gBAC1C,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,OAAO;gBAC/B,IAAI,EAAE,CAAC,CAAC,IAAI;aACb,CAAC,CAAC;YACH,IAAI,EACF,iDAAiD;gBACjD,CAAC,qBAAqB;oBACpB,CAAC,CAAC,kGAAkG;oBACpG,CAAC,CAAC,EAAE,CAAC;SACV,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"get-economic-events.js","sourceRoot":"","sources":["../../src/tools/get-economic-events.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,qDAAqD;AACrD,wCAAwC;AAExC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,GACX,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,SAAS,EAAqB,MAAM,YAAY,CAAC;AAE1D,MAAM,WAAW,GAAG;IAClB,KAAK,EAAE,CAAC;SACL,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;SACvB,QAAQ,EAAE;SACV,QAAQ,CACP,2CAA2C;QACzC,+DAA+D,CAClE;IACH,aAAa,EAAE,CAAC;SACb,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;SACjD,QAAQ,EAAE;SACV,QAAQ,CAAC,0CAA0C,CAAC;IACvD,QAAQ,EAAE,CAAC;SACR,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC;SAClD,QAAQ,EAAE;SACV,QAAQ,CACP,gFAAgF,CACjF;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAiB;IACtD,IAAI,EAAE,2BAA2B;IACjC,KAAK,EAAE,cAAc;IACrB,WAAW,EACT,+JAA+J;QAC/J,qJAAqJ;QACrJ,2OAA2O;IAC7O,WAAW;IACX,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC9C,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACpF,MAAM,YAAY,GAAG,kBAAkB,CAAC,MAAM,EAAE,aAAa,IAAI,CAAC,CAAC,CAAC;QACpE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAC1D,MAAM,qBAAqB,GAAG,QAAQ,EAAE,QAAQ,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC;QAC1E,OAAO,SAAS,CAAC;YACf,KAAK;YACL,KAAK,EAAE,KAAK,IAAI,OAAO;YACvB,WAAW,EAAE,YAAY;YACzB,KAAK,EAAE,QAAQ,CAAC,MAAM;YACtB,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC3B,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI;gBACpB,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC;gBACjC,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC;gBAC1C,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,OAAO;gBAC/B,IAAI,EAAE,CAAC,CAAC,IAAI;aACb,CAAC,CAAC;YACH,IAAI,EACF,iDAAiD;gBACjD,CAAC,qBAAqB;oBACpB,CAAC,CAAC,wHAAwH;oBAC1H,CAAC,CAAC,EAAE,CAAC;SACV,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { type LitForgeTool } from "./types.js";
2
+ export declare const getGeopoliticalCalendarTool: LitForgeTool;
@@ -0,0 +1,79 @@
1
+ // 地政学カレンダー(v0.9.0 で get_geopolitical_events からリネーム)。
2
+ // **確定済み公式スケジュール専用**: 首脳会談・国際サミット・主要国選挙・公式リスク日程(制裁発動・条約期限など)。
3
+ // 進行中の地政学リスクや突発イベントは別ツール get_geopolitical_pulse で取得すること。
4
+ //
5
+ // データは手動キュレーション JSON(半年に 1 回 PR 更新)。
6
+ // 中立性ガイドライン: 確定済み公式日程のみ収録し、主観判断を要するイベント(紛争激化等)は登録しない。
7
+ import { z } from "zod";
8
+ import { COUNTRY_LABEL, jstDateKey } from "../lib/economic-events.js";
9
+ import { LAST_UPDATED_GEOPOLITICAL, SOURCE_LABEL, SUBCATEGORY_LABEL, filterByCountry, filterByImportanceGeo, filterBySubcategory, getGeopoliticalEventsForDate, getGeopoliticalEventsForMonth, getGeopoliticalEventsForWeek, } from "../lib/geopolitical-events.js";
10
+ import { IMPORTANCE_STARS } from "../lib/economic-events.js";
11
+ import { jsonReply } from "./types.js";
12
+ const inputSchema = {
13
+ range: z
14
+ .enum(["today", "week", "month"])
15
+ .optional()
16
+ .describe("期間: today=本日のみ / week=今日含む 7 日間 / month=今日含む 30 日間。既定 week(地政学は中期視点が要るため)。"),
17
+ subcategory: z
18
+ .array(z.enum(["summit", "bilateral", "election", "risk"]))
19
+ .optional()
20
+ .describe("サブカテゴリ絞り込み: summit=国際サミット・国際会議 / bilateral=首脳会談・要人訪問 / election=主要国選挙 / risk=確定済み地政学リスク(制裁・条約期限等)。未指定で全件"),
21
+ country: z
22
+ .array(z.enum(["JP", "US", "CN", "EU", "GB", "OTHER"]))
23
+ .optional()
24
+ .describe("国コード絞り込み: JP/US/CN/EU/GB/OTHER。複数指定可。未指定で全件"),
25
+ minImportance: z
26
+ .union([z.literal(1), z.literal(2), z.literal(3)])
27
+ .optional()
28
+ .describe("最低重要度フィルタ: 1=★以上 / 2=★★以上 / 3=★★★のみ。既定 1"),
29
+ };
30
+ export const getGeopoliticalCalendarTool = {
31
+ name: "get_geopolitical_calendar",
32
+ title: "地政学カレンダー(確定済み公式スケジュール: 首脳会談・サミット・選挙・公式リスク日程)",
33
+ description: "**確定済み公式スケジュール専用**ツール。首脳会談・要人訪問(bilateral)、G7/G20/IMF/APEC/BRICS/NATO 等の国際サミット(summit)、主要国の国政選挙(election)、公式の地政学リスク日程(制裁発動・条約期限など、risk)の 4 サブカテゴリを返します。各イベントには market implications(為替・株・債券・コモディティへの注目点)、参加者、一次ソース URL が付与されます。" +
34
+ "データは lit-forge 運営者が一次ソース(日本政府公式・国際機関公式・民間集計)から手動キュレーション。**半年に 1 回 PR 更新の静的データ**で、確定済み公式日程のみを収録します(主観判断要件のイベントは登録しない方針)。" +
35
+ "【重要】このツールは『カレンダー』であり、**進行中の地政学リスク(紛争激化・電撃会談・突発的な制裁・封鎖シナリオなど)を取りこぼします**。今この瞬間の地政学情勢を知りたいときは別ツール `get_geopolitical_pulse` を使ってください。" +
36
+ "【利用上の注意】既定 range=week。さらに先まで見たい場合は range=\"month\" を指定。マクロ経済イベント(CPI・FOMC・日銀会合等)は別ツール `get_economic_events_today` を使用。",
37
+ inputSchema,
38
+ handler: ({ range, subcategory, country, minImportance }) => {
39
+ const today = jstDateKey();
40
+ const effectiveRange = range ?? "week";
41
+ let events;
42
+ if (effectiveRange === "today") {
43
+ events = getGeopoliticalEventsForDate(today);
44
+ }
45
+ else if (effectiveRange === "month") {
46
+ events = getGeopoliticalEventsForMonth(today);
47
+ }
48
+ else {
49
+ events = getGeopoliticalEventsForWeek(today);
50
+ }
51
+ const byImportance = filterByImportanceGeo(events, minImportance ?? 1);
52
+ const bySubcategory = filterBySubcategory(byImportance, subcategory);
53
+ const filtered = filterByCountry(bySubcategory, country);
54
+ return jsonReply({
55
+ today,
56
+ range: effectiveRange,
57
+ lastUpdated: LAST_UPDATED_GEOPOLITICAL,
58
+ count: filtered.length,
59
+ events: filtered.map((e) => ({
60
+ id: e.id,
61
+ date: e.date,
62
+ endDate: e.endDate,
63
+ time: e.time ?? "終日",
64
+ country: COUNTRY_LABEL[e.country],
65
+ name: e.name,
66
+ subcategory: SUBCATEGORY_LABEL[e.subcategory],
67
+ importance: IMPORTANCE_STARS[e.importance],
68
+ participants: e.participants,
69
+ marketImplications: e.marketImplications,
70
+ source: SOURCE_LABEL[e.source],
71
+ sourceUrl: e.sourceUrl,
72
+ lastVerifiedAt: e.lastVerifiedAt,
73
+ note: e.note,
74
+ })),
75
+ note: "確定済み公式日程のみのカレンダーです。半年に 1 回 PR で更新するため、突発イベント(電撃会談・紛争激化・即時制裁など)は反映されません。リアルタイム情勢は get_geopolitical_pulse を併用してください。",
76
+ });
77
+ },
78
+ };
79
+ //# sourceMappingURL=get-geopolitical-calendar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-geopolitical-calendar.js","sourceRoot":"","sources":["../../src/tools/get-geopolitical-calendar.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { type LitForgeTool } from "./types.js";
2
+ export declare const getGeopoliticalPulseTool: LitForgeTool;
@@ -0,0 +1,67 @@
1
+ // 地政学リアルタイム速報ツール(v0.9.0 新設)。
2
+ // 設計詳細は docs/geopolitical-realtime.md 参照。
3
+ //
4
+ // 役割分担:
5
+ // - 本ツール: 主要通信社の RSS を集約し、客観的なメタデータ(タイトル・配信元・配信日時・URL)を返す
6
+ // - 解釈: LLM 側の責務(marketImplications 等の主観判断はツールに含めない)
7
+ // - get_geopolitical_calendar: 確定済み公式スケジュール(半年に 1 回 PR 更新の静的データ)
8
+ import { z } from "zod";
9
+ import { PULSE_TOPIC_LABEL, fetchPulse, } from "../lib/geopolitical-pulse.js";
10
+ import { jsonReply } from "./types.js";
11
+ const inputSchema = {
12
+ topic: z
13
+ .enum(["us-china", "middle-east", "ukraine", "japan", "global"])
14
+ .optional()
15
+ .describe("トピック: us-china=米中(首脳会談・貿易・関税・台湾) / middle-east=中東(イラン・ホルムズ・イスラエル・ガザ) / ukraine=ウクライナ・ロシア(和平・侵攻・支援・制裁) / japan=日本外交 / global=地政学全般。既定 global"),
16
+ maxItems: z
17
+ .number()
18
+ .int()
19
+ .min(5)
20
+ .max(30)
21
+ .optional()
22
+ .describe("返す最大記事数。5-30、既定 15"),
23
+ hoursBack: z
24
+ .number()
25
+ .int()
26
+ .min(6)
27
+ .max(48)
28
+ .optional()
29
+ .describe("これより古い記事は除外する時間ウィンドウ(時間)。6-48、既定 24"),
30
+ };
31
+ export const getGeopoliticalPulseTool = {
32
+ name: "get_geopolitical_pulse",
33
+ title: "地政学リアルタイム速報(主要通信社 RSS 集約)",
34
+ description: "**今この瞬間の地政学情勢**を返すツール。BBC World・Al Jazeera・Google News(トピック検索)の RSS を並列取得し、dedupe + 配信日時降順で記事メタデータを返します。" +
35
+ "用途: 進行中の地政学リスク(電撃首脳会談・紛争激化・制裁発動・封鎖シナリオ等)の把握。市況サマリーで『地政学イベント』を尋ねられたときは、確定済み公式日程の `get_geopolitical_calendar` と本ツールを併用してください。" +
36
+ "【ツール設計上の重要事項】" +
37
+ "返却される各記事は客観的メタデータ(タイトル・配信元・配信日時・URL・配信元の短い summary)のみで、market implications などの**主観的な解釈はツール側で付与しません**。市場への影響評価・解釈は呼び出し側 LLM の責務です。" +
38
+ "客観性の根拠: 「主要通信社が編集判断のうえ配信した記事」のメタデータを基盤とすることで、データ収録者の主観バイアスを排除しています。" +
39
+ "【利用上の注意】" +
40
+ "通信社 RSS は通常 5-30 分以内に最新ニュースが反映されます。フィード単位での失敗は sources 配列に error として記載され、他フィードの結果は返されます(部分成功)。" +
41
+ "情報源は英語フィードが中心です。日本固有の地政学情報は不足する可能性があります(v0.10 以降で日本語フィード追加検討)。",
42
+ inputSchema,
43
+ handler: async ({ topic, maxItems, hoursBack }) => {
44
+ const effectiveTopic = (topic ?? "global");
45
+ const effectiveMax = maxItems ?? 15;
46
+ const effectiveHours = hoursBack ?? 24;
47
+ const result = await fetchPulse({
48
+ topic: effectiveTopic,
49
+ maxItems: effectiveMax,
50
+ hoursBack: effectiveHours,
51
+ });
52
+ return jsonReply({
53
+ topic: result.topic,
54
+ topicLabel: PULSE_TOPIC_LABEL[effectiveTopic],
55
+ fetchedAt: result.fetchedAt,
56
+ hoursBack: effectiveHours,
57
+ maxItems: effectiveMax,
58
+ truncated: result.truncated,
59
+ count: result.articles.length,
60
+ articles: result.articles,
61
+ sources: result.sources,
62
+ note: "RSS ベースの編集済みニュース見出し集約です。各記事の市場インプリケーションは付与していません(解釈は呼び出し側 LLM の責務)。" +
63
+ " 確定済み公式日程(首脳会談・選挙・サミット等)は別ツール `get_geopolitical_calendar` を使用してください。",
64
+ });
65
+ },
66
+ };
67
+ //# sourceMappingURL=get-geopolitical-pulse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-geopolitical-pulse.js","sourceRoot":"","sources":["../../src/tools/get-geopolitical-pulse.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,0CAA0C;AAC1C,EAAE;AACF,QAAQ;AACR,4DAA4D;AAC5D,uDAAuD;AACvD,mEAAmE;AAEnE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,iBAAiB,EAEjB,UAAU,GACX,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,SAAS,EAAqB,MAAM,YAAY,CAAC;AAE1D,MAAM,WAAW,GAAG;IAClB,KAAK,EAAE,CAAC;SACL,IAAI,CAAC,CAAC,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;SAC/D,QAAQ,EAAE;SACV,QAAQ,CACP,6IAA6I,CAC9I;IACH,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,EAAE,CAAC;SACP,QAAQ,EAAE;SACV,QAAQ,CAAC,oBAAoB,CAAC;IACjC,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,EAAE,CAAC;SACP,QAAQ,EAAE;SACV,QAAQ,CAAC,qCAAqC,CAAC;CACnD,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAiB;IACpD,IAAI,EAAE,wBAAwB;IAC9B,KAAK,EAAE,2BAA2B;IAClC,WAAW,EACT,0GAA0G;QAC1G,6HAA6H;QAC7H,eAAe;QACf,mIAAmI;QACnI,qEAAqE;QACrE,UAAU;QACV,gGAAgG;QAChG,gEAAgE;IAClE,WAAW;IACX,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE;QAChD,MAAM,cAAc,GAAG,CAAC,KAAK,IAAI,QAAQ,CAAe,CAAC;QACzD,MAAM,YAAY,GAAG,QAAQ,IAAI,EAAE,CAAC;QACpC,MAAM,cAAc,GAAG,SAAS,IAAI,EAAE,CAAC;QAEvC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC;YAC9B,KAAK,EAAE,cAAc;YACrB,QAAQ,EAAE,YAAY;YACtB,SAAS,EAAE,cAAc;SAC1B,CAAC,CAAC;QAEH,OAAO,SAAS,CAAC;YACf,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,UAAU,EAAE,iBAAiB,CAAC,cAAc,CAAC;YAC7C,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,SAAS,EAAE,cAAc;YACzB,QAAQ,EAAE,YAAY;YACtB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;YAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,IAAI,EACF,qEAAqE;gBACrE,sEAAsE;SACzE,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
@@ -8,6 +8,8 @@
8
8
  // 銘柄数 9 → 28 に拡大。
9
9
  // v0.6.0 で 2 ツール追加(配当履歴・アナリストコンセンサス)+ get_quote にファンダメンタル指標オプション。
10
10
  // v0.8.0 で地政学イベント専用ツール get_geopolitical_events を追加(首脳会談・サミット・選挙・地政学リスクの 4 サブカテゴリ)。
11
+ // v0.9.0 で地政学ツールを 2 系統に分離: get_geopolitical_calendar(確定スケジュール、旧 events からリネーム)+ get_geopolitical_pulse(リアルタイム速報、RSS アグリゲーション)。
12
+ // 設計詳細は docs/geopolitical-realtime.md 参照。
11
13
  import { simulateNisaTool } from "./simulate-nisa.js";
12
14
  import { planRetirementTool } from "./plan-retirement.js";
13
15
  import { calculateRequiredMonthlyTool } from "./calculate-required-monthly.js";
@@ -22,7 +24,8 @@ import { getMarketSessionsTool } from "./get-market-sessions.js";
22
24
  import { getSectorHeatmapTool } from "./get-sector-heatmap.js";
23
25
  import { getDividendHistoryTool } from "./get-dividend-history.js";
24
26
  import { getAnalystConsensusTool } from "./get-analyst-consensus.js";
25
- import { getGeopoliticalEventsTool } from "./get-geopolitical-events.js";
27
+ import { getGeopoliticalCalendarTool } from "./get-geopolitical-calendar.js";
28
+ import { getGeopoliticalPulseTool } from "./get-geopolitical-pulse.js";
26
29
  export const tools = [
27
30
  simulateNisaTool,
28
31
  planRetirementTool,
@@ -40,7 +43,8 @@ export const tools = [
40
43
  // v0.6.0 新規ツール
41
44
  getDividendHistoryTool,
42
45
  getAnalystConsensusTool,
43
- // v0.8.0 新規ツール
44
- getGeopoliticalEventsTool,
46
+ // v0.9.0 新規 / リネーム: 地政学カレンダー(旧 get_geopolitical_events)+ リアルタイム速報
47
+ getGeopoliticalCalendarTool,
48
+ getGeopoliticalPulseTool,
45
49
  ];
46
50
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,EAAE;AACF,sDAAsD;AACtD,6CAA6C;AAC7C,8DAA8D;AAC9D,0DAA0D;AAC1D,yDAAyD;AACzD,kBAAkB;AAClB,kEAAkE;AAClE,mFAAmF;AAEnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAEzE,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,gBAAgB;IAChB,kBAAkB;IAClB,4BAA4B;IAC5B,6BAA6B;IAC7B,qBAAqB;IACrB,0BAA0B;IAC1B,YAAY;IACZ,eAAe;IACf,wBAAwB;IACxB,yBAAyB;IACzB,kBAAkB;IAClB,qBAAqB;IACrB,oBAAoB;IACpB,eAAe;IACf,sBAAsB;IACtB,uBAAuB;IACvB,eAAe;IACf,yBAAyB;CAC1B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,EAAE;AACF,sDAAsD;AACtD,6CAA6C;AAC7C,8DAA8D;AAC9D,0DAA0D;AAC1D,yDAAyD;AACzD,kBAAkB;AAClB,kEAAkE;AAClE,mFAAmF;AACnF,+HAA+H;AAC/H,0CAA0C;AAE1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAEvE,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,gBAAgB;IAChB,kBAAkB;IAClB,4BAA4B;IAC5B,6BAA6B;IAC7B,qBAAqB;IACrB,0BAA0B;IAC1B,YAAY;IACZ,eAAe;IACf,wBAAwB;IACxB,yBAAyB;IACzB,kBAAkB;IAClB,qBAAqB;IACrB,oBAAoB;IACpB,eAAe;IACf,sBAAsB;IACtB,uBAAuB;IACvB,kEAAkE;IAClE,2BAA2B;IAC3B,wBAAwB;CACzB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lit-forge-mcp",
3
- "version": "0.8.0",
3
+ "version": "0.10.0",
4
4
  "mcpName": "io.github.noblabs/lit-forge-mcp",
5
5
  "description": "MCP server for personal asset planning + daily market check: NISA / iDeCo simulation, retirement planning, market snapshot (USD/JPY, Nikkei, S&P 500, etc.), dividend history, analyst consensus, economic events.",
6
6
  "type": "module",
@@ -47,9 +47,11 @@
47
47
  "test:watch": "vitest",
48
48
  "verify:cb": "node scripts/verify-central-bank-events.mjs",
49
49
  "verify:us-macro": "node scripts/verify-us-macro-events.mjs",
50
+ "verify:jp-macro": "node scripts/verify-jp-macro-events.mjs",
50
51
  "verify:geopolitical": "node scripts/verify-geopolitical-events.mjs",
51
- "verify:all": "npm run verify:cb && npm run verify:us-macro && npm run verify:geopolitical",
52
- "prepare": "npm run build"
52
+ "verify:all": "npm run verify:cb && npm run verify:us-macro && npm run verify:jp-macro && npm run verify:geopolitical",
53
+ "prepare": "npm run build",
54
+ "prepublishOnly": "npm run build && npm run verify:all"
53
55
  },
54
56
  "dependencies": {
55
57
  "@modelcontextprotocol/sdk": "^1.29.0",