AIエージェント連携仕様書 — 補助金AIを事例とした実装ガイド
v1.0 | 2026年4月6日Puente MCP Hub は、日本の政府公開データ(e-Gov法令API、国税庁API、厚労省API、国交省API)を MCP(Model Context Protocol) を通じて、AIエージェントに直結するSaaS型プラットフォームです。
何が解決されるか: これまで法令検索、税率確認、労務規定チェック、不動産法規参照は手作業でした。Puente MCP Hub を使えば、AIエージェントが自然言語の質問に対して政府データを自動で取得・引用し、専門業務を大幅に効率化できます。
puentemcp.com/signup でアカウント作成後、ダッシュボード > 設定画面から Puente MCP Hub API KEY をコピーします。
# 法令MCP — 「契約」に関する法令を検索 curl -X POST https://api.puentemcp.com/v1/hourei \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "action": "search", "params": { "query": "契約" } }'
取得したデータをAIエージェントの Tool / Function Calling として登録し、自然言語での法令検索・税務照会を実現します(詳細はセクション5の補助金AI事例を参照)。
ベースURL: https://api.puentemcp.com/v1
| MCP | エンドポイント | アクション | 対象プラン |
|---|---|---|---|
| 法令 | /v1/hourei |
search, get, history, categories | Free〜 |
| 税法 | /v1/zeiho |
search, rate, corporate | Standard〜 |
| 労務 | /v1/romu |
search, insurance, medical | Standard〜 |
| 不動産 | /v1/fudosan |
search, law, zoning, price | Enterprise〜 |
全エンドポイント共通で POST メソッドを使用します。リクエストボディは以下の形式です:
{
"action": "search", // 実行するアクション
"params": {
"query": "検索キーワード" // 検索条件
}
}
すべてのAPIリクエストに Authorization: Bearer {API_KEY} ヘッダーが必要です。API KEYはダッシュボードの設定画面から取得できます。
| 項目 | 仕様 |
|---|---|
| 認証 | JWT (HMAC-SHA256) — Bearer トークン |
| CORS | puentemcp.com ドメインのみ許可(APIキー経由の外部アクセスは許可) |
| レート制限 | 60リクエスト/分/IP |
| 入力バリデーション | action・query パラメータの型・長さチェック |
| 通信 | HTTPS (TLS 1.2+) — Cloudflare経由 |
ユースケース概要: 中小企業の経営者が「自社で使える補助金を探して、申請要件をチェックしたい」とAIに質問。補助金AIがPuente MCP Hubの複数MCPを連携して、法令根拠の確認、税法上の優遇措置、労務関連の要件を横断的に調査・回答します。
ユーザーが「IT導入補助金を申請したい。うちの会社(従業員15名、年商2億)で使える?要件を教えて」と質問した場合:
// Step 1: 補助金関連法令を検索 POST https://api.puentemcp.com/v1/hourei { "action": "search", "params": { "query": "中小企業等経営強化法" } } // レスポンス例 { "status": "ok", "count": 2, "laws": [ { "id": "HR-L020", "name": "中小企業等経営強化法", "category": "産業法", "summary": "中小企業の経営力向上を支援する法律。経営革新計画、経営力向上計画の認定制度を規定。" } ], "egov": { "available": true, "totalCount": 3, "laws": [...] }, "source": "Puente MCP Hub 法令データベース + e-Gov法令API v2" }
// Step 2: 法令全文を取得して申請根拠条文を特定 POST https://api.puentemcp.com/v1/hourei { "action": "get", "params": { "query": "平成十一年法律第十八号" } }
// Step 3: 補助金に関連する税制優遇を検索 POST https://api.puentemcp.com/v1/zeiho { "action": "search", "params": { "query": "租税特別措置" } } // Step 4: 法人税率を確認(補助金受給時の課税処理用) POST https://api.puentemcp.com/v1/zeiho { "action": "rate", "params": { "query": "法人税" } } // レスポンス例 { "status": "ok", "rates": [ { "tax": "法人税", "bracket": "年800万円以下(中小法人)", "rate": "15%(軽減税率)" }, { "tax": "法人税", "bracket": "年800万円超", "rate": "23.2%" } ], "updatedAt": "2026-04-01", "source": "国税庁公表データ" }
// Step 5: 法人番号で申請企業を特定 POST https://api.puentemcp.com/v1/zeiho { "action": "corporate", "params": { "query": "株式会社サンプル" } }
// Step 6: 従業員の社会保険適用状況を確認 POST https://api.puentemcp.com/v1/romu { "action": "insurance", "params": { "query": "雇用保険" } } // レスポンス例 { "status": "ok", "insurances": [ { "name": "雇用保険", "operator": "厚生労働省", "rate": "1.55%(一般の事業)", "employerShare": "0.95%", "employeeShare": "0.60%", "note": "建設業・農林水産業は異なる料率" } ], "updatedAt": "2026-04-01", "source": "厚生労働省・日本年金機構公表データ" } // Step 7: 労働関連法令(賃金引上げ要件の確認) POST https://api.puentemcp.com/v1/romu { "action": "search", "params": { "query": "最低賃金" } }
import requests import json # Puente MCP Hub 接続設定 PUENTE_API_KEY = "YOUR_PUENTE_MCP_HUB_API_KEY" BASE_URL = "https://api.puentemcp.com/v1" HEADERS = { "Authorization": f"Bearer {PUENTE_API_KEY}", "Content-Type": "application/json" } def call_mcp(mcp_name: str, action: str, query: str) -> dict: """Puente MCP Hub の各MCPを呼び出す共通関数""" url = f"{BASE_URL}/{mcp_name}" payload = { "action": action, "params": {"query": query} } response = requests.post(url, headers=HEADERS, json=payload) response.raise_for_status() return response.json() # ---- 補助金AI: Tool定義 (OpenAI Function Calling 形式) ---- tools = [ { "type": "function", "function": { "name": "search_hourei", "description": "日本の法令を検索する。補助金の法的根拠、申請要件の法令確認に使用。", "parameters": { "type": "object", "properties": { "query": {"type": "string", "description": "法令名または検索キーワード"} }, "required": ["query"] } } }, { "type": "function", "function": { "name": "get_tax_rate", "description": "税率情報を取得する。補助金受給時の課税処理、税制優遇の確認に使用。", "parameters": { "type": "object", "properties": { "tax_type": {"type": "string", "description": "税の種類(所得税/法人税/消費税/相続税/贈与税)"} }, "required": ["tax_type"] } } }, { "type": "function", "function": { "name": "check_insurance", "description": "社会保険料率を確認する。補助金申請時の労務コンプライアンスチェックに使用。", "parameters": { "type": "object", "properties": { "insurance_type": {"type": "string", "description": "保険の種類"} }, "required": ["insurance_type"] } } }, { "type": "function", "function": { "name": "search_corporate", "description": "法人番号で企業情報を検索する。補助金申請企業の特定に使用。", "parameters": { "type": "object", "properties": { "company_name": {"type": "string", "description": "企業名"} }, "required": ["company_name"] } } } ] # ---- Tool実行ハンドラ ---- def handle_tool_call(name: str, args: dict) -> str: if name == "search_hourei": result = call_mcp("hourei", "search", args["query"]) elif name == "get_tax_rate": result = call_mcp("zeiho", "rate", args["tax_type"]) elif name == "check_insurance": result = call_mcp("romu", "insurance", args["insurance_type"]) elif name == "search_corporate": result = call_mcp("zeiho", "corporate", args["company_name"]) else: result = {"error": "Unknown tool"} return json.dumps(result, ensure_ascii=False) # ---- Claude (Anthropic) での連携例 ---- from anthropic import Anthropic client = Anthropic() def subsidy_ai_chat(user_question: str): """補助金AIのメインチャット関数""" messages = [{"role": "user", "content": user_question}] response = client.messages.create( model="claude-sonnet-4-6", max_tokens=4096, system="""あなたは補助金申請の専門AIアシスタントです。 Puente MCP Hubの各ツールを使って、法令根拠・税制優遇・ 労務要件を横断的に調査し、正確な情報を提供してください。""", tools=tools, messages=messages ) # Tool Callを処理してループ while response.stop_reason == "tool_use": tool_results = [] for block in response.content: if block.type == "tool_use": result = handle_tool_call(block.name, block.input) tool_results.append({ "type": "tool_result", "tool_use_id": block.id, "content": result }) messages.append({"role": "assistant", "content": response.content}) messages.append({"role": "user", "content": tool_results}) response = client.messages.create( model="claude-sonnet-4-6", max_tokens=4096, tools=tools, messages=messages ) return response.content[0].text # 実行例 answer = subsidy_ai_chat( "IT導入補助金を申請したいです。従業員15名、年商2億の会社ですが、要件を教えてください。" ) print(answer)
// Puente MCP Hub クライアント (Node.js) const PUENTE_API_KEY = process.env.PUENTE_MCP_HUB_API_KEY; const BASE_URL = "https://api.puentemcp.com/v1"; async function callMcp(mcpName, action, query) { const res = await fetch(`${BASE_URL}/${mcpName}`, { method: "POST", headers: { "Authorization": `Bearer ${PUENTE_API_KEY}`, "Content-Type": "application/json", }, body: JSON.stringify({ action, params: { query }, }), }); if (!res.ok) throw new Error(`API Error: ${res.status}`); return res.json(); } // 使用例: 法令検索 + 税率確認を並列実行 async function checkSubsidyRequirements(keyword) { const [laws, taxRates, insurance] = await Promise.all([ callMcp("hourei", "search", keyword), callMcp("zeiho", "rate", "法人税"), callMcp("romu", "insurance", "雇用保険"), ]); return { laws, taxRates, insurance }; }
e-Gov法令API v2 と連携。日本の全法令を検索・取得・改正履歴確認が可能。
| アクション | 説明 | params.query |
|---|---|---|
search | キーワードで法令を検索 | 検索キーワード(法令名、分野など) |
get | 法令番号を指定して全文取得 | 法令番号(例: 平成十一年法律第十八号) |
history | 法令の改正履歴を取得 | 法令ID |
categories | 法令カテゴリ一覧を取得 | 不要(空文字可) |
// リクエスト POST /v1/hourei { "action": "categories", "params": { "query": "" } } // レスポンス { "status": "ok", "categories": [ { "name": "憲法", "description": "日本国憲法および関連法規" }, { "name": "基本法", "description": "民法・商法等の私法の基本" }, { "name": "商事法", "description": "会社法・金融商品取引法等" }, { "name": "刑事法", "description": "刑法・刑事訴訟法等" }, { "name": "行政法", "description": "行政手続法・行政不服申立法等" }, { "name": "情報法", "description": "個人情報保護法・電子署名法等" }, { "name": "知的財産法", "description": "著作権法・特許法・商標法等" }, { "name": "消費者法", "description": "消費者契約法・特定商取引法等" }, { "name": "不動産法", "description": "宅建業法・建築基準法等" }, { "name": "労働法", "description": "労働基準法・労働契約法等" }, { "name": "税法", "description": "所得税法・法人税法・消費税法等" } ], "source": "Puente MCP Hub 法令カテゴリ定義" }
国税庁法人番号API + e-Gov法令API と連携。税法検索、税率情報取得、法人番号検索が可能。
| アクション | 説明 | params.query |
|---|---|---|
search | 税法関連法令を検索 | キーワード(所得税/法人税/消費税 等) |
rate | 税率テーブルを取得 | 税の種類(所得税/法人税/消費税/相続税/贈与税) |
corporate | 法人番号で企業検索 | 企業名 |
厚生労働省データ + e-Gov法令API と連携。労働法検索、社会保険料率、医療機関検索が可能。
| アクション | 説明 | params.query |
|---|---|---|
search | 労働関連法令を検索 | キーワード(労働基準法/育児介護 等) |
insurance | 社会保険料率テーブルを取得 | 保険種類(健康保険/厚生年金/雇用保険 等) |
medical | 医療機関を検索 | 施設名/種別/住所 |
国土交通省不動産API + e-Gov法令API と連携。建築基準、不動産法規、用途地域、不動産価格の検索が可能。
| アクション | 説明 | params.query |
|---|---|---|
search | 建築基準データを検索 | キーワード(耐震基準/容積率/建ぺい率 等) |
law | 不動産関連法令を検索 | キーワード(宅建業法/建築基準法 等) |
zoning | 用途地域情報を取得 | 地域名(商業地域/住居専用 等) |
price | 不動産価格データを取得 | 地域コード |
| HTTPステータス | 意味 | 対処 |
|---|---|---|
400 | リクエスト不正(action/queryが不正) | パラメータを確認してください |
401 | 認証エラー(APIキー不正・期限切れ) | API KEYを再取得してください |
403 | プラン不足(上位プランが必要なMCP) | プランをアップグレードしてください |
429 | レート制限超過(60req/分) | リクエスト間隔を空けるか、プランを確認 |
500 | サーバーエラー | しばらく待って再試行してください |
// エラーレスポンス例
{
"error": "Unknown action",
"availableActions": ["search", "get", "history", "categories"]
}
| 項目 | Free | Standard | Enterprise |
|---|---|---|---|
| 月額(税別) | ¥0 | ¥150,000 | ¥500,000〜 |
| 初期費用(税別) | 無料 | ¥300,000 | ¥1,200,000 |
| 利用MCP | 法令のみ | 法令 + 税法 + 労務 | 全4MCP |
| 月間コール数 | 1,000 | 50,000 | 無制限 |
| APIキー本数 | 1本 | 3本 | 10本 |
| SLA | なし | 99.5% | 99.5% |
| カスタムMCP開発 | — | — | 対応可(別途見積) |
Claude(Anthropic)、ChatGPT(OpenAI)、Gemini(Google)など、HTTP APIを呼び出せるAIエージェントすべてに対応しています。Function Calling / Tool Use 機能を持つモデルとの組み合わせが最適です。
Anthropic社が提唱するオープンプロトコルで、AIモデルが外部データソースやツールに安全に接続するための標準仕様です。Puente MCP HubはこのMCPに準拠し、政府データへのアクセスを標準化しています。
法令MCP(e-Gov法令API連携)を月1,000コールまで無料でご利用いただけます。法令検索、条文取得、改正履歴確認、カテゴリ一覧の全アクションが利用可能です。
ログイン後、ダッシュボード > 設定 > 「Puente MCP Hub API KEY」セクションからコピーできます。
はい。Enterpriseプランのお客様を対象に、業界特化型のカスタムMCPサーバー開発を承っております。詳しくはお問い合わせフォームからご連絡ください。