financial-law-mcp
# financial-law-mcp
日本の金融法令を取得する MCP サーバー。
Claude が金融規制の質問に回答する際、**条文のハルシネーションを防止**するために、e-Gov法令APIから原文を取得して裏取りさせます。
> [kentaroajisaka/tax-law-mcp](https://github.com/kentaroajisaka/tax-law-mcp) をベースに、金融法令に特化してフォーク。
## 特徴
* **法令取得** — e-Gov法令API v2 から条文をMarkdown形式で取得
* **法令検索** — キーワードで法令を横断検索
* **9ドメイン対応** — 金商法・資金決済法・銀行法・貸金業法・保険業法・信託法/信託業法・犯収法/出資法・会計規則・割賦販売法
* **略称対応** — 「金商法」「業府令」「資決法」「犯収法」等の実務略称で指定可能
* **段階的拡張** — ドメイン追加でさらに法令を拡張可能
## MCP ツール
| ツール | 説明 |
|--------|------|
| `get_law` | e-Gov法令APIから条文を取得。法令名 + 条番号で指定 |
| `search_law` | キーワードで法令を検索(全法令横断) |
| `list_laws` | 対応法令・略称の一覧を表示 |
| `get_guideline` | 金融庁ガイドライン・監督指針を取得。HTML版はセクション検索対応 |
| `list_guidelines` | 対応ガイドライン・監督指針の一覧を表示 |
## 対応法令
### 金融商品取引法関連
| 法令 | 略称 |
|------|------|
| 金融商品取引法 | 金商法 |
| 金融商品取引法施行令 | 金商令 |
| 金融商品取引業等に関する内閣府令 | 業府令 |
| 企業内容等の開示に関する内閣府令 | 開示府令 |
| 有価証券の取引等の規制に関する内閣府令 | 取引規制府令 |
### 会計規則
| 法令 | 略称 |
|------|------|
| 財務諸表等の用語、様式及び作成方法に関する規則 | 財規 |
| 連結財務諸表の用語、様式及び作成方法に関する規則 | 連結財規 |
### 資金決済法関連
| 法令 | 略称 |
|------|------|
| 資金決済に関する法律 | 資決法 / 資金決済法 |
| 資金決済に関する法律施行令 | 資決令 |
### 銀行法関連
| 法令 | 略称 |
|------|------|
| 銀行法 | 銀法 |
| 銀行法施行令 | 銀行令 |
### 貸金業法関連
| 法令 | 略称 |
|------|------|
| 貸金業法 | 貸金法 |
| 貸金業法施行令 | 貸金令 |
### 保険業法関連
| 法令 | 略称 |
|------|------|
| 保険業法 | 保業法 |
| 保険業法施行令 | 保業令 |
### 信託法・信託業法関連
| 法令 | 略称 |
|------|------|
| 信託法 | — |
| 信託業法 | — |
### その他
| 法令 | 略称 |
|------|------|
| 犯罪による収益の移転防止に関する法律 | 犯収法 |
| 出資の受入れ、預り金及び金利等の取締りに関する法律 | 出資法 |
| 割賦販売法 | 割販法 |
## セットアップ
### npx(推奨)
```json
{
"mcpServers": {
"financial-law": {
"command": "npx",
"args": ["-y", "financial-law-mcp"]
}
}
}
```
**Claude Code**: `claude mcp add financial-law -- npx -y financial-law-mcp`
### ローカル(ソースから)
```bash
git clone https://github.com/YOUR_USERNAME/financial-law-mcp.git
cd financial-law-mcp
npm install
npm run build
```
```json
{
"mcpServers": {
"financial-law": {
"command": "node",
"args": ["/path/to/financial-law-mcp/dist/index.js"]
}
}
}
```
### リモート(Vercel)
```bash
vercel deploy
```
```json
{
"mcpServers": {
"financial-law": {
"url": "https://<your-deployment>.vercel.app/mcp"
}
}
}
```
## 使い方の例
### 条文の取得
> 「金融商品取引法第2条を取得して」
→ `get_law(law_name="金商法", article="2")`
### 内閣府令の取得
> 「開示府令の第19条を見せて」
→ `get_law(law_name="開示府令", article="19")`
### 資金決済法の取得
> 「資金決済法第2条の5を取得して」
→ `get_law(law_name="資決法", article="2の5")`
### 法令検索
> 「暗号資産に関する法令を検索して」
→ `search_law(keyword="暗号資産")`
### ハルシネーション防止ワークフロー
1. Claude が金融規制の質問に仮回答を作成
2. 引用した条文を `get_law` で取得
3. 引用したガイドライン・監督指針を `get_guideline` で取得
4. 実際の原文と仮回答を照合し、誤りがあれば修正
5. 2-4 を収束するまで繰り返す(最大4ラウンド)
## 対応ガイドライン・監督指針
### ガイドライン(留意事項)
| ガイドライン | 略称 | 形式 |
|-------------|------|------|
| 金融商品取引法等ガイドライン | 金商GL | PDF |
| 企業内容等開示ガイドライン | 開示GL | PDF |
| フェア・ディスクロージャー・ルールガイドライン | FDGL | PDF |
| 財務諸表等規則ガイドライン | 財規GL | PDF |
| 連結財務諸表規則ガイドライン | 連結財規GL | PDF |
### 監督指針(HTML版 — セクション検索対応)
| 監督指針 | 略称 |
|---------|------|
| 金融商品取引業者等向けの総合的な監督指針 | 金商監督指針 |
| 主要行等向けの総合的な監督指針 | 主要行監督指針 |
| 中小・地域金融機関向けの総合的な監督指針 | 中小監督指針 |
| 保険会社向けの総合的な監督指針 | 保険監督指針 |
| 貸金業者向けの総合的な監督指針 | 貸金監督指針 |
| 信託会社等に関する総合的な監督指針 | 信託監督指針 |
### 監督指針の使い方
> 「金商業者等監督指針のIII-2-3を見せて」
→ `get_guideline(guideline_name="金商監督指針", section="III-2-3")`
## 今後の拡張予定
- [x] ~~金融庁ガイドライン・監督指針取得~~(Phase 2で実装済み)
- [ ] 金融庁Q&A取得
- [ ] 日証協自主規制規則
- [ ] 東証上場規程
- [ ] 金融庁パブリックコメント
- [ ] PDF版ガイドラインのテキスト抽出
## 出典
* 法令: [e-Gov法令検索](https://laws.e-gov.go.jp/)(デジタル庁)
## 謝辞
* [kentaroajisaka/tax-law-mcp](https://github.com/kentaroajisaka/tax-law-mcp) — 本プロジェクトのベース。e-Gov APIクライアント、XML→Markdown変換、キャッシュ等の実装を利用
* [takurot/egov-law-mcp](https://github.com/takurot/egov-law-mcp) — XML→Markdown変換の参考元
* [e-Gov法令API v2](https://laws.e-gov.go.jp/api/2/swagger-ui) — API仕様
## ライセンス
MIT
TDQS
Scored across 5 tools
Each tool has a clearly distinct purpose: get_law retrieves a specific legal provision, search_law performs keyword searches across laws, list_laws enumerates supported laws, get_guideline fetches specific guidelines, and list_guidelines shows available guidelines. There is no meaningful overlap between these operations.
All tool names follow a consistent verb_noun pattern: get_law, search_law, list_laws, get_guideline, list_guidelines. The verbs (get/search/list) and nouns (law/guideline) are uniform and clearly indicate the action and resource type.
Five tools is well-scoped for a domain-specific legal reference server. The set covers retrieval, search, and listing for both laws and guidelines without unnecessary duplication or bloat.
The server covers core read-only operations for both laws and guidelines, but lacks a search_guidelines tool. While users can list and retrieve guidelines, they cannot search guideline content by keyword, which is a minor but notable gap compared to the law side.