legal-research-mcp
Legal Research MCP MVP 0.2-dev - Render Free
Render対応の読み取り専用リサーチMCP。計画中のlegal-tax-advisor-de v2.3.0リサーチレイヤー向け。
0.2-devで追加された機能
0.2-devは、保守的な0.1改正履歴契約を維持しつつ、1つのターゲットを絞った取得機能を追加します:
get_official_document_text: 厳格なHTTPSホスト許可リストから、特定済みの公式ドイツ語PDF/HTML文書を開き、ロケーター/クエリを検索し、コンテンツハッシュ付きのページ対応エビデンスを返します。
これにより、Copilot Studioで観察されたD1ギャップが解消されます: エージェントはBundesrat-Drucksache 5/26を特定できたものの、Art. 30 Nr. 1を開いて具体的な改正命令を検証することができませんでした。
Related MCP server: de-eli-mcp
ツール
search_primary_sources
検証済みの小規模な法令レジストリ(KStG、EStG、AO、GewStG)に対する制御された検索。検索のみ。
get_norm
gesetze-im-internet.deから現在の公式統合版規定を取得し、構造/エビデンスのメタデータを返します。
trace_norm_amendments
安全な改正履歴接続実装。法令全体の改正ヘッダーを検索リードとして公開することはありますが、規定固有のチェーンリゾルバーが実装されるまでは意図的にpartial/unknownのままです。
get_official_document_text
特定済みの公式文書を開き、正確な箇所を取得します。
受け入れ可能な入力:
urlまたはdocument_idのいずれか;locatorおよび/またはquery;任意の
max_passagesとcontext_chars。
サポートされているドキュメントIDショートカット:
BR-Drs. 5/26-> Bundesrat文書サーバーPDF;BT-Drs. 21/3343-> Bundestag文書サーバーPDF;BGBl. 2026 I Nr. 33-> 公式recht.bund.de公布ページ。
改正検証のターゲット例:
get_official_document_text(
document_id="BR-Drs. 5/26",
locator="Artikel 30",
query="§ 8b Absatz 6 Satz 2"
)正規化されたクエリ一致が成功すると、coverage_status=completeとfull_checkedパッセージエビデンスが返されます。ロケーターのみの結果はナビゲーションエビデンスであり、要求された改正フレーズの証明として扱ってはなりません。
SSRF / ダウンロード安全性
get_official_document_textは意図的に制約されています:
HTTPSのみ;
公式ホストの正確な許可リスト;
すべてのリダイレクトホップは再検証されます;
認証情報と非標準ポートは拒否されます;
ダウンロードサイズは20 MBに制限;
PDFテキスト抽出のみ、JavaScript/ブラウザ実行なし;
読み取り専用リクエストのみ。
現在の許可リスト対象ファミリーには、公式Bundestag/Bundesrat文書サーバー、recht.bund.de、gesetze-im-internet.de、Bundestag/Bundesratウェブホスト、連邦財務省ウェブサイトが含まれます。
Renderデプロイ
同梱のrender.yaml Blueprintを使用してください。サービスは以下のように設定されたままです:
Web Service;
Dockerランタイム;
Freeプラン;
Frankfurtリージョン;
/healthヘルスチェック;Renderの
PORTへの動的バインド;/mcpのMCPエンドポイント;RENDER_EXTERNAL_HOSTNAMEからの明示的なHost許可リスト。
詳細な手順: docs/render-free-deploy.md。
ローカルセットアップ
python -m venv .venv
source .venv/bin/activate
pip install -r requirements-dev.txt
python -m pytest -q
uvicorn app:app --reload --port 8080ローカルエンドポイント:
ヘルス:
http://localhost:8080/healthMCP:
http://localhost:8080/mcp
まだ実装されていないもの
歴史的な法定バージョンのリゾルバー;
完全な規定固有の改正チェーンリゾルバー;
すべてのBundesgesetzblatt/Bundestag/Bundesrat文書の自動検出;
判例法の取得;
包括的なBMFガイダンスの取得;
本番認証。
DEVセキュリティ境界
Render Freeデプロイは、DEVテスト用に意図的に認証なしのままです。Copilotエージェントを公開せず、機密のクライアント/案件情報をエンドポイント経由で送信しないでください。
Free Render Web Servicesは非アクティブ後にスピンダウンする可能性があり、本番ターゲットではありません。
0.1 -> 0.2アップグレード
リポジトリのファイルをこのパッケージに置き換え、Renderがデプロイするブランチにコミット/プッシュします。
RenderのデプロイがLiveになるまで待ちます。
/healthがバージョン0.2.0-devを返すことを確認します。Copilot Studioで、既存の
Legal Research DEMCPサーバー設定を開き、get_official_document_textが公開/有効化されていることを確認します。D1改正取得テストを実行し、Activity Traceを検査します。
詳細なアップグレード/テスト手順については、docs/render-free-deploy.mdを参照してください。
This server cannot be deployed
Maintenance
Related MCP Connectors
German federal statutes and ordinances (Bundesrecht) — search by title or official abbreviation…
1Temporal search and comparison for official Luxembourg and reviewed EU law, with provenance.
XRechnung and ZUGFeRD e-invoicing (EN 16931): create, validate, check Leitweg-IDs, German VAT.
German federal and Land statutes plus court decisions for agents. Keyless, read-only, CC BY 4.0.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceMCP server for accessing and searching German federal law documents from gesetze-im-internet.de. Provides tools to retrieve specific paragraphs, perform full-text searches, and list available laws.10MIT
- AlicenseAqualityAmaintenanceSearches and retrieves German federal legislation from NeuRIS, the official legal information portal, providing verifiable ELI identifiers and German citations.15248 PyPI4Apache 2.0
- AlicenseNot gradedqualityFmaintenanceProvides LLM-friendly access to German federal legislation via the NeuRIS API, enabling tool-based retrieval of laws, norms, and statutory text.18 npmMIT
- AlicenseNot gradedqualityBmaintenanceProvides read-only access to current German federal law, supporting legislation search, provision retrieval, and citation handling.Apache 2.0