Bharat MCP について
Bharat MCPは、インドのGST関連書類や個人財務を扱うローカルMCPサーバーです。請求書・税務ツールに加え、オフラインの明細分析やUPIの解読を提供します。
主な機能
- 01GST請求書PDFの作成
- 02GST計算とGSTINの検証
- 03公式HSN/SACコードと税率の検索
- 04銀行明細の分析と変換
- 05UPIナレーションの解読とIFSC検索
- 06PINコードから郵便局を検索
活用シーン
- 01インドのGST税務請求書を作成
- 02GSTINの確認や商品の税率検索
- 03PDFまたはCSV明細から支出を確認
- 04UPI取引の解読や銀行支店の検索
MCP 対応
インドのGST、銀行、郵便関連のツールと`monthly_money_review`プロンプトをMCPクライアントに公開します。明細分析、GST計算、請求書作成はローカルで実行し、IFSCとPINコードの検索ではネットワークを利用します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
12掲載時のツール一覧 · 5 日前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| gstin | string | はい | 15 文字の GSTIN。例:27AAPFU0939F1ZV |
詳細
bharat-mcp 🇮🇳
Claude(およびMCP互換のあらゆるAI)に、インドのお金や書類の仕組みを教えるMCPサーバーです。
AIに、GSTインボイスの作成、GSTINの確認、銀行明細から給与の使い道の説明、UPIの摘要の解読、IFSCからの銀行支店の検索を頼めます。お使いのコンピューター上で動作し、明細が外部に送信されることはありません。
「ベンガルールの自分のスタジオから、ムンバイのAcme Media宛てに、動画編集10時間分を1時間あたり₹1,500でGSTインボイスにしてください。」
→ Claudeは州間取引(IGST 18%)だと判断し、HSN/SAC、供給地、金額の英語表記を記載した
Invoice_INV_2026-27_001.pdfを作成します。
「
~/Downloads/HDFC_statement.pdfを分析してください。お金の使い道と、解約すべきサブスクリプションを教えてください。」→ カテゴリー別の支出(Swiggy/Zomato、Blinkit/Zepto、家賃、EMI、SIPなど)、月ごとのキャッシュフロー、主な支払先、定期支払いを表示します。
ツール
| ツール | 機能 | ネットワーク |
|---|---|---|
create_gst_invoice | GST税務インボイスのPDF(Rule 46の項目、CGST/SGST/UTGST/IGST、セス、端数処理、銀行・UPI情報) | オフライン |
calculate_gst | 任意の明細の税額内訳:州内・州間の判定、税込価格、セス | オフライン |
validate_gstin | 形式、州コード、チェックサムの検証。PANと事業者種別を解読 | オフライン |
find_gst_rate | Gazette of Indiaの税率通知(すべての改正を適用)に基づき、HSNコードまたは商品名から商品のGST税率を検索。該当する各項目の通知番号と通し番号を表示 | オフライン |
search_hsn_sac | 日常的な表現(「ノートパソコン」「ギー」「公認会計士サービス」など)またはコードの先頭部分から、GSTポータルの公式一覧に基づいてHSN(商品)またはSAC(サービス)コードを検索 | オフライン |
lookup_hsn_sac | コードの有効性、章、項目、サブコードを確認。入力ミスの場合は最も近い有効なコードを提示 | オフライン |
amount_in_words | ₹をラーク/クロール単位の英語表記に変換(「Rupees One Lakh Twenty Thousand Only」) | オフライン |
analyze_bank_statement | PDFまたはCSVの明細から、カテゴリー別支出、月ごとの入出金、主な支払先、定期支払い、UPIの利用状況を分析 | オフライン |
convert_bank_statement | 銀行明細のPDFを、カテゴリー、支払先、解読したUPI情報を含む、Excel/Sheets用の整ったCSVに変換 | オフライン |
parse_upi_narration | SBI、HDFC、ICICI、Axis、KotakなどのUPI摘要を解読し、支払先、VPA、アプリ、RRN、取引方向を抽出 | オフライン |
lookup_ifsc | 銀行、支店、住所、MICR、UPI/IMPS/NEFT/RTGSの対応状況を検索 | Razorpay IFSC API |
lookup_pincode | PINコードから地区、州、郵便局を検索 | India Postのデータ |
明細から概要と節約プランを作成するプロンプト、**monthly_money_review**も含まれています。
インストール
Node.js 22.13以降が必要です。
Claude Code
claude mcp add bharat -- npx -y @adnansaliyawala/bharat-mcp
Claude Desktop:claude_desktop_config.jsonに次の内容を追加してください(Settings → Developer → Edit Config):
{
"mcpServers": {
"bharat": { "command": "npx", "args": ["-y", "@adnansaliyawala/bharat-mcp"] }
}
}
ソースからインストール
git clone https://github.com/nansa1/bharat-mcp && cd bharat-mcp && npm install && npm run build
claude mcp add bharat -- node /absolute/path/to/bharat-mcp/dist/index.js
設定(任意)
| 環境変数 | デフォルト | 用途 |
|---|---|---|
BHARAT_MCP_OUTPUT_DIR | ~/bharat-mcp/invoices | インボイスPDFの保存先 |
BHARAT_MCP_IFSC_API | https://ifsc.razorpay.com | 必要に応じてIFSC APIをセルフホストできます |
BHARAT_MCP_PINCODE_API | https://api.postalpincode.in | PINコードAPIのベースURL |
銀行取引明細書
銀行からメールで届くPDF(またはネットバンキングからエクスポートしたCSV)を指定するだけです。
- レイアウト: 見出しの表記(「Withdrawal Amt.」/「Debit」/「Withdrawal (Dr)/ Deposit (Cr)」/「DR/CR」など)にかかわらず、表を自動的に検出します。2行にまたがる見出し、行の上または下に折り返される摘要、日付の新しい順の明細書、複数ページの明細書に対応しています。SBI、HDFC、ICICI、Axis、Kotak形式のレイアウトでテスト済みです。
- パスワード保護されたPDF: Claudeがパスワードを尋ねます。パスワードはファイルを開くためだけに使用され、保存されることはありません。
- 残高との照合: 各行を残高の推移と照合します。借方/貸方の読み取り間違いは自動的に修正され、行が欠落している場合は日付とともに報告されるため、数値が信頼できるか確認できます。
- スキャンされた明細書(写真など、テキストレイヤーがないもの)は解析できません。Claudeが読み取り、行データを渡すことはできます。
銀行のPDFを解析できない場合は、convert_bank_statementをdebug: trueで実行してください。すべての文字と数字がマスキングされたレイアウトのプレビューが表示されるため、安心してGitHubのイシューに貼り付けられます。
HSN/SACコード
コードと説明は、GSTポータルの公式マスターリスト(HSN_SAC.xlsx)に基づいています。HSNコードは21,928件、SACコードは681件です。データは同梱されているため、オフラインでも検索できます。create_gst_invoiceは、品目のHSN/SACコードがリストにない場合にも警告します。
- 説明は公開されているとおりに保持しています。変更点は、スプレッドシート由来の不要な要素の除去と、シートに重複して記載されていた7件のコードの統合のみです。これらの処理は、元ファイルのSHA-256とダウンロード日とともに
data/hsn_sac.jsonに記録されています。 - 日常的な名称(「atta」、「AC」、「laptop」、「CA」)は関税上の表記に対応付けられますが、結果にはすべて公式コードが使われます。
- GST税率は
find_gst_rateから取得します(下記参照)。 - 分類はご自身の責任で行ってください。判断が難しい場合は、CAに確認してください。
リストを更新するには、最新のHSN_SAC.xlsxをダウンロードしてから、pip install openpyxlとnpm run update-hsn -- path/to/HSN_SAC.xlsxを実行してください。
GST 税率
find_gst_rate は、インド官報に掲載された税率通知をそのまま使用します。
| 通知 | 官報 ID | 発効日 | 内容 |
|---|---|---|---|
| 09/2025-Central Tax (Rate) | CG-DL-E-17092025-266209 | 22 Sep 2025 | 商品の税率表 I~VII(5%、18%、40%、3%、0.25%、1.5%、28%) |
| 10/2025-Central Tax (Rate) | CG-DL-E-17092025-266210 | 22 Sep 2025 | 免税(税率ゼロ)の商品 |
| 19/2025-Central Tax (Rate) | CG-DL-E-31122025-268978 | 1 Feb 2026 | タバコとパン・マサラを40%、ビーディーを18%に変更。税率表28%を削除 |
| 01/2026-Central Tax (Rate) | CG-DL-E-01052026-272190 | 1 May 2026 | 飲料の関税コードを更新 |
| 02/2026 and 03/2026-Central Tax (Rate) | CG-DL-E-27102026-277454 | 1 Nov 2026 | 第57回 GST Council:再生トラクタータイヤを5%に変更、バイオ刺激剤とオオバコの種子を免税 |
データの確認方法:
- CGST(09/2025-CT)とIGST(09/2025-IT)の通知を個別に解析し、各項目が一致していること、およびIGST = 2 × CGSTであることを確認します。
- 税率表のすべてのHSNコードが、公式HSNリストに存在している必要があります。
- 各改正は
scripts/gst_amendments.jsonに転記され、改正通知のPDFにその文言が含まれていない場合、ビルドは失敗します。 - 官報のPDFはSHA-256ハッシュとともに
sources/gazette/にあります。再構築するにはnpm run update-ratesを実行してください。
知っておくべきこと:
- 1つのコードに、税率の異なる複数の項目が該当することがあります。 適用される項目は、「事前包装・表示済み」や「…を除く」などの文言によって異なります。このツールは推測せず、一致する項目をすべて表示します。
- サービス(SACコード)はまだ対象外です。 税率は通知11/2017と多数の改正通知に分散しています。
- 補償目的の付加税は2026年2月1日からゼロです。
- データは
source.in_force_as_ofの日付時点のものです。 新たなGST Councilの会合後は、官報で新しい税率通知を確認し、scripts/gst_amendments.jsonに追加してください。 create_gst_invoiceは、品目の税率がそのHSNコードについて通知された税率と一致しない場合に警告します。
プライバシー
- 明細の解析と分析、GSTの計算、請求書の生成はすべてお使いのマシン上で実行されます。
- ネットワーク通信を行うのは
lookup_ifscとlookup_pincodeのみで、検索対象のコードだけを送信します。 - ご依頼いただいた請求書PDF以外に、データが記録または保存されることはありません。
注意事項
validate_gstinは構造とチェックサムを確認します。GSTポータルで登録が有効かどうかは確認しません。- GST税率は変更されるため、品目に適用される税率を必ず指定してください。
- 自動カテゴリ分類は、可能な範囲で推定した結果です。個人で概要を把握する用途には適していますが、会計上の助言ではありません。
開発
npm install
npm test # builds, then runs unit tests and an end-to-end MCP client test
npm run inspect # opens the MCP Inspector
貢献を歓迎します。特に、新しい銀行明細の形式(サンプルを test/ に追加)、src/upi.ts の加盟店キーワード、新しいツール(ロードマップを参照)をお待ちしています。
リリース(メンテナー向け)
プッシュとプルリクエストのたびに、Node 22および24を使用してUbuntuとWindows上でテストが実行されます(.github/workflows/ci.yml)。
GitHubリリースを公開すると、自動的に公開処理が行われます(.github/workflows/release.yml)。ワークフローでは次の処理を行います。
- タグ、
package.json、server.jsonの内容が一致していることを確認します。 - テストを実行します。
server.jsonを検証します。- Trusted Publishingを使用してnpmに公開します(トークンは不要で、provenanceは自動的に追加されます)。
- GitHub OIDCを使用してMCP Registryに公開します。
新しいバージョンをリリースするには:
npm version patch # or minor / major; also updates server.json, commits and tags
git push --follow-tags
次にGitHubで、Releases → Draft a new release を選択し、新しいタグ(例:v0.4.1)を選んで、Publish release をクリックします。
npmjs.comでの初回設定:パッケージの Settings → Trusted publishing で、ユーザー nansa1、リポジトリ bharat-mcp、ワークフロー release.yml を指定してGitHub Actionsを追加し、Allowed actionsの npm publish にチェックを入れます。
ロードマップ
- 電子インボイス JSON(IRN スキーマ)および電子通行許可証のヘルパー
- HSN/SAC コード検索(v0.3)
- インド官報に基づく物品の GST 税率(v0.4)
- サービスの GST 税率(SAC)
- インドの所得税計算機(旧制度と新制度)
- PDF 明細書の解析(v0.2)
- クレジットカードの明細書
- プラグイン可能なプロバイダーによる列車の PNR および運行状況(API キーが必要です)
- ヒンディー語および地域言語での出力
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。