Reported issues for houki-nta-mcp
Pod holds 17 of 24 GitHub reports that passed its relevance review. This can include external user reports, maintainer-confirmed bugs, and concrete feature gaps. Treat them as evidence to inspect, not a count of distinct defects.
Back to houki-nta-mcp.
Most discussed
nta_get_tsutatsu の国税庁サイトからの取得は、消費税法基本通達でしか成功しない
nta_get_tsutatsu の国税庁サイトからの取得は、消費税法基本通達でしか成功しない
- 起票先: shuji-bonji/houki-nta-mcp(起票済み: #54)
- 日付: 2026-09-24(JST)
- 経緯: houki-nta-mcp#53(
specs/changes/20260924-tsutatsu-clause-forms/)を起こす途中で見つけた。proposal.md の末尾「この差分に含めないが、確かめる中で見つけたこと」の Issue 化
タイトル
nta_get_tsutatsu の国税庁サイトからの取得は、消費税法基本通達でしか成功しない(SPEC-NTA-GET-TSUTATSU-006 と実装の食い違い)
本文
何が起きているか
nta_get_tsutatsu は、通達が DB に無いとき、次の 4 通達は国税庁サイトから取得して返すことになっています。
- 仕様:
specs/current/nta_get_tsutatsu/spec.mdの…
Read the thread · 2026-09-24 · closed · 1 comment
改正通達の PDF の読み方を決める
背景
Discussion #24 の劣っている点 5 です。改正通達は本体が PDF のことが多く、いまは nta_inspect_pdf_meta がメタ情報と kind 分類と pdf-reader-mcp の呼び方を返すところまでです。新旧対照表の中身には入れません。
自分で改正を追うときにも、他者に使ってもらうときにも、同じところで止まります。
いまの状態
nta_inspect_pdf_metaが PDF の kind を分類し、pdf-reader-mcpへの案内を返す- 本文の取り出しは利用者側(別サーバー)に任せている
方針の選択肢
houki-nta-mcp が PDF を読むのか、pdf-reader-mcp に渡し続けるのかを先に決めます。
- 渡し続ける(いまの形を強くする) —
nta_inspect_pdf_metaのreader_hintsを、そのままpdf-reader-mcpのツール呼び出しに使える形まで具体化する。houki 側は PDF…
Read the thread · 2026-09-14 · closed · 1 comment
検索の snippet が、4 文字以上の語の途中で を閉じて切れる
検索ツールの snippet(本文の抜粋)で、4 文字以上の語が抜粋の終わりにかかると、語の途中で <b> を閉じて抜粋が切れます。利用者(LLM)は、合った語が何だったのかを抜粋から読み取れません。
いまの状態(v0.21.0)
nta_search_bunshokaitou に keyword: "源泉徴収" を渡し、本文が 相続財産から支払う報酬に対する源泉徴収の要否について回答する の文書に当たったときの results[0].snippet は次のとおりです。
相続財産から支払う報酬に対する<b>源泉徴</b> …
SPEC-NTA-SEARCH-RULES-015(差分 20260927-search-hit-responses)は「合った語を <b> で囲む」(例: <b>源泉徴収</b>の事務について …)と書いているので、仕様と合いません。この差分の受入テスト src/tools/spec-20260927-search-hit-responses.test.ts(ブランチ…
Read the thread · 2026-09-27 · closed · 0 comments
検索のヒットの要素に issuedAt が付くかどうかが種別によって違う
文書系の検索ツールで、ヒットした文書の results の要素に issuedAt が付くかどうかが種別によって違います。発出日で新しい文書を選びたい利用者(LLM)は、ツールごとに読み方を変える必要があります。
いまの状態(v0.21.0、手元で呼んだ結果)
| ツール | results[].issuedAt |
|---|---|
nta_search_kaisei_tsutatsu / nta_search_jimu_unei / nta_search_bunshokaitou |
付く。DB に発出日が無い文書では null |
nta_search_qa |
付かない(質疑応答事例は DB に日付を持たない) |
nta_search_tax_answer |
付かない。DB には記事の「法令時点」から読んだ日付が入っているが、応答に出さない |
取得ツールの側でも、nta_get_* の json の document.issuedAt は値が無ければフィールドごと付かず、検索の null…
Read the thread · 2026-09-27 · open · 0 comments
英字の 2 文字の語と 3 文字以上の語を混ぜると、本文にその語があっても 0 件になる
英字の 2 文字の語(例: DX)と 3 文字以上の語を空白で区切って渡すと、本文にその英字がある文書でも 0 件になります。また search_notes には小文字にした語("dx")が表示されます。
いまの状態(v0.21.0、手元で呼んだ結果)
本文に「DX 投資促進税制」を含む文書回答事例がある DB で、nta_search_bunshokaitou に { keyword: "DX 投資促進税制" } を渡すと:
results: []と「該当なし」のhintsearch_notesは"dx" は 3 文字未満のため FTS5 (trigram) の索引に乗りません。3 文字以上の語で全文検索したうえで、本文に "dx" を含むものに絞り込みました
キーワードは英字を小文字に寄せる(SPEC-NTA-SEARCH-RULES-008)一方、DB の本文は大文字のまま入り(SPEC-NTA-SEARCH-RULES-007)、2…
Read the thread · 2026-09-27 · open · 0 comments
3 文字未満の略称(消法など)で略称そのものを含む文書が返らず、search_notes の説明とも合わない
3 文字未満の略称(例: 消法)を keyword に渡すと、正式名(消費税法)を含む文書だけを探し、略称そのものを含む文書は返しません。一方で search_notes には「部分一致 (LIKE) で検索しました」と書かれ、実際の探し方と合いません。SPEC-NTA-SEARCH-RULES-009 は「元の語と正式名のどちらかを含むものを探す」と書いており、本文とも食い違います。
いまの状態(v0.21.0、手元で呼んだ結果)
質疑応答事例 2 件(A: 本文に「消費税法」、B: 本文に「消法」だけ)の DB で nta_search_qa に { keyword: "消法" } を渡すと:
resultsは A だけ。scoreReasonsにabbreviation expanded: 消法 → 消費税法- B(本文に「消法」を含む)は返らない
search_notesは `"消法" は 3 文字未満のため FTS5 (trigram) では検索できません。代わりに本文とタイトルの部分一致 (LIKE)…
Read the thread · 2026-09-27 · open · 0 comments
引数に inputSchema の違反が 2 つ以上あると、detail.issues が 1 件にまとまり違反を取りこぼす
引数に inputSchema の違反が 2 つ以上あると、INVALID_ARGUMENT の detail.issues が 1 件にまとまり、2 つ目以降の引数名が分からなくなったり、違反そのものが応答から消えたりします。呼び出す側(LLM)は detail.issues[].path を見て引数を直すので、直すべき引数を取りこぼします。
いまの状態(v0.21.0、tools/call の受け口を手元で呼んだ結果)
| 渡した引数 | detail.issues |
|---|---|
nta_search_kaisei_tsutatsu に { keyword: 1, limit: "x" } |
[{ path: "keyword", message: "must be string, data/limit must be number" }](limit の違反が message の中に data/limit の形で残る) |
nta_get_qa に { topic: "zzz" } |
`[{… |
Read the thread · 2026-09-27 · open · 0 comments
nta_search_qa の domain 引数の扱い
nta_search_qa の domain 引数は、tax 以外を渡すと必ず 0 件になります。引数として残す意味があるか、残すならその扱いを決めます。
いまの状態
domainはスキーマの列挙(houki-abbreviations の分野の一覧)で検証されるが、tax以外はすべて DB を引かずにresults: []とhintを返す(SPEC-NTA-SEARCH-QA-002)- DB を開かないので、DB に事例が 1 件も無くても
DOC_NOT_FOUNDにならず、freshnessも付かない - 税目で絞るのは
topicで、domainは絞り込みに使われない(SPEC-NTA-SEARCH-QA-003)
決めること
domainを残すか、topicに一本化するか- 残すなら、
tax以外のときにも DB の有無を確かめるか
完了条件
domainの扱いが決まり、tools/list の説明とspecs/current/…
Read the thread · 2026-09-26 · open · 0 comments
Most recent
同じ種類の応答でフィールドの有無や名前が揃っていない
同じ種類の応答なのに、フィールドの有無や名前がツールや状況によって違う箇所があります。呼び出す側が状況ごとに読み方を変える必要があるため、揃えるかどうかを決めます。
いまの状態
| ツール | 違い |
|---|---|
nta_search_tsutatsu |
ヒットしたときは count が付くが、0 件のときは付かない(hits: [] と message)。文書系の検索は results / hint で、名前も違う |
nta_get_tsutatsu |
available_clauses が、DB の経路(SPEC-NTA-GET-TSUTATSU-005)は最大 50 件、国税庁サイトの経路(010)は取得したページ内の全件 |
nta_get_jimu_unei |
markdown に「取得元」の行が無い(nta_get_qa にはある)。DB だけを引くツールなので不要とみなすか |
nta_inspect_pdf_meta |
save: true で絞った結果が 0… |
Read the thread · 2026-09-26 · open · 0 comments
hint・next_actions・説明文の案内が実際の動きと合わない
エラーの hint・next_actions・ツールの説明文が、実際の動きや他のツールと合っていない箇所があります。LLM はこれらの文面を見て次の呼び出しを組み立てるため、案内の誤りはそのまま誤った呼び出しにつながります。
いまの状態
| ツール | 食い違い |
|---|---|
nta_get_tax_answer |
未対応の番号帯のエラーに「houki-nta-mcp v0.2.x では未対応」「Phase 2 で対応予定」と古い版が書かれている。8xxx 帯を対応する意図があるかも決まっていない |
nta_search_tsutatsu |
TSUTATSU_NOT_FOUND(SPEC-NTA-SEARCH-TSUTATSU-003)の hint と next_actions は --bulk-download(通達 1 つ)を案内するが、ツールの説明文と freshness.warning は --bulk-download-all(4 種)を案内する |
| … |
Read the thread · 2026-09-26 · open · 0 comments
空のキーワードをエラーにせず「該当なし」として返す
空のキーワード(や空の略称)を渡すと、多くのツールがエラーにせず「該当なし」を返します。実際には探していないのに「合う文書が無い」と読めるため、利用者が誤った結論を出すおそれがあります。
いまの状態
| ツール | 入力 | 今の応答 |
|---|---|---|
nta_search_qa |
空文字・空白だけ・FTS5 の記号(" * : ( ))だけ |
検索して 0 件(SPEC-NTA-SEARCH-QA-007 の「該当なし」) |
nta_search_tax_answer |
空文字・空白だけ・1 文字の語だけ | DB にタックスアンサーがあれば results: [] と「該当なし」の hint |
nta_search_bunshokaitou |
keyword: "" |
inputSchema の検証を通り、「「」に合う文書はありません」の hint |
nta_search_jimu_unei |
"" や 1 文字だけ |
同じく「「」に合う文書はありません」 |
| … |
Read the thread · 2026-09-26 · open · 0 comments
検索系ツールで limit の範囲外の値を黙って丸める
検索系ツールの limit は、範囲外の値を渡してもエラーにも注記にもならず、黙って丸められます。利用者は、指定した件数で探されなかったことに気付けません。
いまの状態
nta_search_tsutatsu / nta_search_qa / nta_search_tax_answer / nta_search_bunshokaitou / nta_search_jimu_unei / nta_search_kaisei_tsutatsu の 6 ツールとも、1 未満は 1 に、50 を超える値は 50 に丸めて検索します。
- tools/list の説明は「最大: 50」とだけ書いており、超えたときにどうなるかは書いていない
- inputSchema に上限・下限(
minimum/maximum)が無い nta_search_qaは数値であることも確かめない- どのツールにも、丸めを確かめるテストが無い
決めること
- 丸める動きを意図として認めるか、
INVALID_ARGUMENT…
Read the thread · 2026-09-26 · open · 0 comments
検索系ツールで taxonomy の値を検査しない
検索系ツールの taxonomy(税目)は、どんな文字列でも受け付けます。nta_search_qa の topic は列挙で検査しているため、同じ種類の引数で扱いが分かれています。
いまの状態
| ツール | 今の動き |
|---|---|
nta_search_bunshokaitou |
本庁の索引に無い値(zzz など)でも DB を引き、0 件の応答(SPEC-NTA-SEARCH-BUNSHOKAITOU-002、available_taxonomies 付き)を返す |
nta_search_jimu_unei |
inputSchema に列挙が無く、どの文字列も受け付けて DB を引く |
nta_search_kaisei_tsutatsu |
引数の説明には shohi / shotoku / hojin / sisan/sozoku の 4 つを書いているが、検査はしない。DB に無い値は SPEC-NTA-SEARCH-KAISEI-TSUTATSU-002 の応答 |
DB…
Read the thread · 2026-09-26 · open · 0 comments
取得系ツールで識別子の形と全角の表記の扱いが揃っていない
取得系ツールは、識別子の引数が「空でない文字列」かどうかしか確かめず、形の誤りや全角の表記をそのまま受け付けたり拒否したりします。ツールによって扱いが違い、同じ入力でも結果が読みにくくなっています。
いまの状態
| ツール | 引数 | 今の動き |
|---|---|---|
nta_get_bunshokaitou |
docId |
空文字列や 税目/番号 の形でない値もそのまま DB を引き、DOC_NOT_FOUND になる |
nta_get_kaisei_tsutatsu |
docId |
新形式・旧形式のどちらでもない値もそのまま DB を引く |
nta_get_qa |
category / id |
数字であることを確かめず、"abc" や / を含む値もそのまま URL に入る(ホストは www.nta.go.jp に固定) |
nta_get_tax_answer |
no |
全角の "6101" は… |
Read the thread · 2026-09-26 · open · 0 comments
存在しない番号を指定すると、再試行を案内するエラー(SOURCE_API_ERROR)になる
国税庁サイトから取るツールで、存在しない番号を指定したときに「時間をおいて再試行する」よう案内するエラーが返ります。番号の誤りは再試行しても直らないため、利用者を誤った次の行動へ導きます。
いまの状態
| ツール | 入力 | 今の応答 |
|---|---|---|
nta_get_qa |
存在しない topic / category / id の組 |
国税庁サイトが 404 を返し、SOURCE_API_ERROR(retryable: true、next_actions は再試行の案内) |
nta_get_tax_answer |
存在しない no |
同じく SOURCE_API_ERROR(retryable: true、url、detail.status) |
一方、nta_get_bunshokaitou などは番号の誤りを DOC_NOT_FOUND で返し、nta_get_tsutatsu は候補ページの 404…
Read the thread · 2026-09-26 · open · 0 comments
取得系ツールと resolve_abbreviation の「見つからない」ときのエラー code を揃える
取得系ツールが「見つからない」ときに返すエラーの code が、ツールごとにばらばらで、README の記載とも合っていません。利用者(LLM を含む)が code だけでは状況を判別できないため、揃え方を決めます。
いまの状態
| ツール | 状況 | 今の応答 |
|---|---|---|
nta_get_bunshokaitou |
DB に 1 件も無い / docId が無い | どちらも DOC_NOT_FOUND。error の文言・available_doc_ids の有無・next_actions でしか見分けられない。nta_search_bunshokaitou の 0 件応答とも同じ code |
nta_get_jimu_unei |
docId が無い | TSUTATSU_NOT_FOUND。README の「DB を先に引く」の表は DOC_NOT_FOUND と書いている |
nta_get_kaisei_tsutatsu |
docId が無い | … |
Read the thread · 2026-09-26 · open · 0 comments
文書回答事例(本庁系)の本文末尾にページ内リンクの文言が混ざる
nta_get_bunshokaitou の fullText から「←上記照会の内容に対する回答はこちら」を除く
観察
nta_get_bunshokaitou { docId: "shotoku/250416" }(v0.19.0、2026-09-21、source: "db"、fetchedAt: 2026-09-08T07:27:21.701Z)の fullText の末尾:
…以上
←上記照会の内容に対する回答はこちら
houki-hub の呼び出し例(v0.10.4 実測)では …以上 で終わっていた。国税局系の例(tokyo/shohi/251017)には出ない。本庁系の文書回答事例のページにある、照会文から回答へのページ内リンク(アンカーのテキスト)を本文として拾っている。
影響
fullTextを引用に使うと、国税庁の文言ではない案内文が末尾に付く- 全文検索(FTS5)の索引にも入るので、「回答はこちら」で検索すると本庁系の全件が当たる可能性がある
直し方の候補
-…
Read the thread · 2026-09-21 · closed · 0 comments
The remaining reports are on the project's issue tracker.