Atlas / MCP servers / kentaroajisaka / Japanese Tax Law

Japanese Tax LawSAFE

mcp/kentaroajisaka/japanese-tax-law

MCP server for Japanese tax law — e-Gov API & NTA 通達 (administrative circulars)

Verdict
SAFE
Grade
B
Trust score
89 /100
Exposed tools
7 7r · 0w · 0d
Transport
stdio · streamable-http
License
MIT
Stars
97
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

日本の税法・通達・裁決事例を取得する MCP サーバー。

Claude が税務の質問に回答する際、条文や通達のハルシネーションを防止するために、e-Gov法令APIおよび国税庁サイトから原文を取得して裏取りさせます。

特徴

  • 法令取得 — e-Gov法令API v2 から条文をMarkdown形式で取得
  • 法令検索 — キーワードで法令を横断検索
  • 通達取得 — 国税庁サイトから基本通達・措置法通達をスクレイピング(17通達対応)
  • 通達目次 — 通達の章・節構造を一覧表示
  • 裁決事例 — 国税不服審判所(kfs.go.jp)の公表裁決事例1,950件を検索・取得
  • Shift_JIS対応 — 国税庁・国税不服審判所サイトの文字エンコーディングに対応
  • 主要税法プリセット — 所得税法・法人税法・消費税法・措置法等のlaw_idをハードコード
  • 略称対応 — 「所法」「措法」「所基通」「措通(譲渡)」等の略称で指定可能

MCP ツール

対応法令(プリセット)

所得税法、法人税法、消費税法、相続税法、租税特別措置法、国税通則法、国税徴収法、各施行令・施行規則、民法、保険法 等(26法令)

対応通達(17通達)

基本通達

措置法通達

セットアップ

npx(推奨)

インストール不要。以下の設定をコピペするだけ:

{
"mcpServers": {
"tax-law": {
"command": "npx",
"args": ["-y", "tax-law-mcp"]
}
}
}

Claude Desktop: ~/Library/Application Support/Claude/claude_desktop_config.json に追加

Claude Code: claude mcp add tax-law -- npx -y tax-law-mcp

ローカル(ソースから)

git clone https://github.com/kentaroajisaka/tax-law-mcp.git
cd tax-law-mcp
npm install
npm run build
{
"mcpServers": {
"tax-law": {
"command": "node",
"args": ["/path/to/tax-law-mcp/dist/index.js"]
}
Read from source at commit 89207945ff30OBSERVED · 2026-10-07
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.

claude-code
claude mcp add tax-law-mcp -- npx -y [email protected]
claude-desktop
{
  "mcpServers": {
    "tax-law-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ]
    }
  }
}
03

Exposed tools (7)

7 read · 0 write · 0 destructive.

ToolRiskDescription
get_lawread日本の法令から特定の条文を取得する。e-Gov法令API v2を使用。略称にも対応(所法→所得税法、措法→租税特別措置法 等)。
get_saiketsuread国税不服審判所の裁決事例の全文を取得する。URLまたは事例集番号+事例番号で指定。search_saiketsuの検索結果から全文を読む場合に使用。
get_tsutatsuread国税庁の通達(基本通達・措置法通達)から特定の通達を取得する。NTAサイトからスクレイピング。略称にも対応(所基通→所得税基本通達 等)。
list_saiketsuread国税不服審判所の公表裁決事例の税目・カテゴリ一覧を表示する。税目名を省略すると13税目の一覧を表示。税目を指定するとカテゴリ階層を表示。
list_tsutatsuread通達の目次(章・節・条の構造)を表示する。通達番号が分からない場合に使用。
search_lawread法令をキーワードで検索する。法令名が分からない場合に使用。e-Gov法令API v2を使用。
search_saiketsuread国税不服審判所の公表裁決事例をキーワードで検索する。要旨テキストとカテゴリ名を対象に検索。スペース区切りでAND検索。初回は事例集目次の取得に時間がかかる(以降はキャッシュ)。
04

Trust audit

SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codePASS
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (1 observation(s))
Network
declared (5 observation(s))
Shell
none-observed
Dependencies
not all pinned
Secrets in source
none-found

Findings (6)

LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
api/_shared/middleware.ts:7
import { NotFoundError, ValidationError, UnsupportedError, ExternalApiError } from '../../src/lib/errors.js';
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
tests/integration/fetch-all-tsutatsu.test.ts:7
import { resolveTsutatsuName, TSUTATSU_REGISTRY } from '../../src/lib/tsutatsu-registry.js';
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
tests/integration/fetch-all-tsutatsu.test.ts:8
import { fetchTsutatsuToc, fetchNtaPage, getNtaUrl } from '../../src/lib/tsutatsu-client.js';
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
tests/integration/fetch-all-tsutatsu.test.ts:9
import { parseTocLinks, findPageForNumber, extractTsutatsuEntry, getCandidatePages } from '../../src/lib/tsutatsu-parser.js';
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
tests/integration/fetch-all-tsutatsu.test.ts:27
let tsutatsuEntry: import('../../src/lib/types.js').TsutatsuEntry | null = null;
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
package.json
@modelcontextprotocol/sdk, zod, @types/node, @vercel/node, tsx, typescript, vitest
Why it matters. 7 dependency range(s) float
Fix. pin exact versions or ship a lockfile

Gates applied: no_behavioural_pass.

Audited 2026-10-07 · audit v0.4.1 · source sha 89207945ff30full audit observations/trust-audit/mcp-server/kentaroajisaka__japanese-tax-law.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-0789207945ff30SAFEB89first audit
06

Questions

What is the Japanese Tax Law MCP server?

MCP server for Japanese tax law — e-Gov API & NTA 通達 (administrative circulars)

What tools does Japanese Tax Law expose?

7 in total: 7 read-only, 0 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.

Is Japanese Tax Law safe to connect to an agent?

The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B.

What credentials does Japanese Tax Law need?

No credential environment variables were found in its source, so it appears to need none.

How does Japanese Tax Law run?

It speaks stdio and streamable-http, so it runs as a local process your client starts. It is published on npm as tax-law-mcp at 0.6.0.

How current is this page?

The grade is for one exact copy of the source (89207945ff30), read on 2026-10-07. The repository is watched and re-audited when it changes.

Advertisement