Skip to main content
Glama
fcukoksan
by fcukoksan
README.md
# 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

A4.1/5.0

Scored across 5 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness4/5

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.

Maintenance

ActivityInactive
ResponsivenessNo issues