Japan NTA tax notices (tsutatsu) and Q&A, marked with legal_status and linked back to the statute.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent — or use 1-click editor setup below.
One-click editor setup isn’t available for this listing yet — we don’t have a confirmed install command, and we’d rather show nothing than point your editor at the wrong package or host. Follow the project’s own setup instructions, linked above.
税務の下調べで、国税庁(NTA)の通達と事例を LLM から引くための MCP サーバーです。国税庁公式サイトの 基本通達・改正通達・事務運営指針・文書回答事例・タックスアンサー・質疑応答事例 をローカル SQLite に取り込み、FTS5 で全文検索します。「法律で決まっている」と「通達でそうなっている」を混ぜずに、legal_status(通達は国民を拘束しない旨)と根拠条文への案内と鮮度を添えて返します。
法律本文(法・政令・省令)は別 MCP の @shuji-bonji/houki-egov-mcp が担当します。通達の応答からは next_actions で houki-egov-mcp の get_law へ戻れます。
🔗 4 つを併用したい方へ —
houki-egov-mcp(法令本文) とpdf-reader-mcp(添付 PDF 抽出) と組み合わせた install → 設定 → 実例 4 ユースケース をまとめた統合ガイドを用意しています。
経理・税務の担当者や、会計・税務のアプリを作る開発者が、国税庁の公式な解説と通達を根拠つきで確かめるための機能です。
legal_status を付け、「法律で決まっている」ことと「通達や解説でそうなっている」ことを区別できるようにしますhouki-egov-mcp で条文を読むための next_actions が付きます| 種類 | 件数 | 拘束力(legal_status) |
|---|---|---|
| 基本通達 4 種(消基通・所基通・法基通・相基通) | 3,456 項 | 税務署員を拘束する。国民・裁判所は拘束しない |
| 改正通達 | 118 件 | 同上 |
| 事務運営指針 | 32 件 | 同上 |
| 文書回答事例 | 487 件 | 個別の照会への国税庁の回答。一般的な法的拘束力はない |
| タックスアンサー | 746 件 | 国税庁の参考解説。法的拘束力はない |
| 質疑応答事例(9 税目) | 1,841 件 | 同上 |
件数は、2026-09-07〜09-24 JST に全種別を取り込んだ手元の DB の実数です。国税庁サイトの更新で増減します。
「会社員で、副業の所得が 20 万円以下なら確定申告はしなくてよいか」と尋ねると、LLM が nta_search_tax_answer(keyword="給与所得者で確定申告が必要な人") を呼び、タックスアンサーのコード 1900「給与所得者で確定申告が必要な人」と、1906「給与所得者がネットオークション等により副収入を得た場合」が返ります。応答の legal_status は、これらが国税庁の参考解説で法的拘束力を持たないことを示します。
根拠の条文(所得税法第 121 条第 1 項「確定所得申告を要しない場合」)は、houki-egov-mcp の get_law で読めます。解説と条文を並べると、給与の支払者の数や年末調整の有無のように、答えを分ける条件が分かります。個別の事案に当てはめた結論(「あなたは申告が不要です」)は返しません。理由は業法との関係に書いています。
claude_desktop_config.json に次の設定を足して、Claude Desktop を再起動します。
取り込みをしなくても、nta_get_tsutatsu・nta_get_tax_answer・nta_get_qa は国税庁サイトから直接取ります。検索ツール(nta_search_*)には取り込みが要ります。まず 1 本だけ入れるなら、次のコマンドで消費税法基本通達を約 3〜5 分で取り込めます。
全種別の取り込みと税目ごとの絞り込みは「初回セットアップ(bulk DL)」をご覧ください。
@shuji-bonji/houki-abbreviations)--health-check CLI で週次 canary 検証 + --check-baseline-drift で menu.htm を真の正典として世代移行 (sozoku2 / hyoka_new 等) を事前検知 + soft-404 (/error/404.htm 着地) を fetchNtaPage で自動 fail させる二重防御pdf-reader-mcp 呼び出し例つきhasPdf 検索フィルタ + nta_inspect_pdf_meta (v0.7.1): PDF 付きの重要文書だけを抽出 / PDF メタだけを軽量に返す軽量 API を提供comparison=新旧対照表 / attachment=別紙・別表 など。「新旧対応表」の表記ゆれにも対応)ごとに read_strategy(表として取る / 本文として読む / 先頭を見て決める)と layout_note(紙面の組み方)を付ける。save: true で PDF をサーバー側に保存して絶対パスを返す。next_actions に pdf-reader-mcp の呼び出し例(保存済みなら extract_tables / read_text に file_path、未保存なら read_url に url)と、他の PDF 読み取りツール向けの汎用の 1 件を置く。houki-nta-mcp 自身は PDF の本文を読まない。改正通達で「別紙 N」とだけ題した PDF は新旧対照表本体のことが多いので、comparison として返す (v0.20.0)freshness 付き: 利用者(LLM)が staleness を判定できるlegal_status フィールド(通達 = 税務署員のみ拘束、QA = 参考情報、等)国税庁 HP の 6 大コンテンツを bulk DL で SQLite cache に投入し、MCP tool はローカル DB を先に引いて応答します。DB に無かったときの動きは取得ツールごとに違うので、取得ツールが DB をどう使うかを参照してください。
| Tool | 用途 |
|---|---|
nta_get_tsutatsu | 通達本文を取得(DB → 無ければ国税庁サイト、4 通達対応) |
nta_search_tsutatsu | 通達を FTS5 全文検索(freshness 付き) |
nta_get_kaisei_tsutatsu | 改正通達を docId で取得(DB のみ。本文 + kind 分類付き PDF 表) |
nta_search_kaisei_tsutatsu | 改正通達を FTS5 検索(hasPdf フィルタ・freshness) |
nta_get_jimu_unei | 事務運営指針を取得(DB のみ) |
nta_search_jimu_unei | 事務運営指針を FTS5 検索(hasPdf フィルタ・freshness) |
nta_get_bunshokaitou | 文書回答事例を取得(DB のみ) |
nta_search_bunshokaitou | 文書回答事例を FTS5 検索(hasPdf フィルタ・freshness) |
nta_get_tax_answer | タックスアンサー本文を取得(DB → 無ければ国税庁サイト) |
nta_search_tax_answer | タックスアンサーを FTS5 全文検索(hasPdf フィルタ・freshness) |
nta_get_qa | 質疑応答事例の本文を取得(DB → 無ければ国税庁サイト) |
nta_search_qa | 質疑応答事例を FTS5 全文検索(topic で税目の絞り込み・freshness 付き) |
nta_inspect_pdf_meta | 指定文書の添付 PDF の一覧に kind と読み方(read_strategy / layout_note)を付けて返す。save: true で PDF を保存して絶対パスを返し、next_actions に pdf-reader-mcp の呼び出し例と汎用の 1 件を置く。本文は読まない (v0.7.1、v0.19.0 で読み手を固定しない形に) |
resolve_abbreviation | 略称→エントリ解決(houki-abbreviations 経由) |
取得ツール 6 つは、ローカル DB を先に引く点は同じですが、DB に無かったときの動きが 2 通りに分かれます(v0.16.0 / Issue #29)。
| ツール | DB を先に引く | DB に無いとき | DB へ書き戻す | 応答の source |
|---|---|---|---|---|
nta_get_tsutatsu | 引く | 国税庁サイトから取得 | 書き戻す | "db" / "live" |
nta_get_qa | 引く | 国税庁サイトから取得 | 書き戻す | "db" / "live" |
nta_get_tax_answer | 引く | 国税庁サイトから取得 | 書き戻す | "db" / "live" |
nta_get_kaisei_tsutatsu | 引く | DOC_NOT_FOUND を返す | — | 付かない |
nta_get_jimu_unei | 引く | DOC_NOT_FOUND を返す | — | 付かない |
nta_get_bunshokaitou | 引く | DOC_NOT_FOUND を返す | — | 付かない |
改正通達・事務運営指針・文書回答事例の 3 つは、docId から個別ページの URL を組み立てるのに税目フォルダの世代差(sozoku / sozoku2 など)を解く必要があるため、国税庁サイトへは取りに行きません。エラーには --bulk-download-* の案内が付きます。
nta_get_qa と nta_get_tax_answer が DB から返せるのは、structured_json を持つ行だけです。この列は v0.16.0 で増えたので、v0.15.x までに投入した行は持っていません。持っていない行は国税庁サイトから取得して書き戻すので、1 度引けば次からは DB から返ります。--bulk-download-qa / --bulk-download-tax-answer を実行しても埋まります(この 2 種別では、構造を持たない行は条件付き GET を使わずに取り直します)。
bulk download を再実行したときに、国税庁の索引から消えていた文書は DB から消しません。索引から外れても、過去の課税期間の判断では依然として意味を持つ通達があるためです。
代わりに document.orphaned_at に「索引から消えたことを最初に確認した日時」を入れ、応答で現行の文書と区別できるようにしています。
| 応答 | 付くもの |
|---|---|
nta_search_*(5 種別) | 各件に index_status: "removed_from_index" と orphaned_at、search_notes に「N 件のうち M 件は索引から外れています」の 1 行 |
nta_get_*(5 種別) | index_status / orphaned_at / notice(Markdown 形式では「索引の状態」の行と注記) |
検索結果から除外はしません。除外すると、過去の期間を調べたい利用者が引けなくなります。
印の付け外しは --bulk-download-* のときに行います。
sozoku → sozoku2 のような世代移行で doc_id が変わっただけの文書を、消えたと数えないため)No reviews yet — be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/houki-nta-mcp)<a href="https://allmcps.com/mcp/houki-nta-mcp"><img src="https://allmcps.com/api/badge/houki-nta-mcp?style=directory" alt="Houki Nta MCP on AllMCPs" /></a>