Skip to main content
Glama
bangladesh-mcp

bangladesh-mcp

by sarif-mia

bangladesh-mcp

An MCP server that gives AI assistants accurate Bangladesh tools. It works with Claude Desktop, Claude Code, Cursor, VS Code and other MCP clients. Ask in plain English or Bangla, for example "What's my income tax on a ৳8.5 lakh salary with ৳1 lakh in sanchaypatra?" or "৳1,25,050.50 কথায় লিখে দাও", and the assistant calls the right tool instead of guessing.

Every tool is a local, read-only calculation: no network access and no API keys.

Tools

Tool

What it does

income_tax

Bangladesh individual income tax: NBR bands, six taxpayer categories, investment rebate, minimum tax, full breakdown

amount_in_words

Taka amount in words for invoices and cheques, in English or Bangla, using lakh/crore

check_mobile_numbers

Validate BD mobile numbers, normalise them to +880… and detect the operator (Grameenphone, Banglalink, Robi, Teletalk)

loan_emi

Monthly instalment, total payment and total interest for a loan

savings_growth

DPS/FDR maturity value with monthly compounding

calculate_expression

Safe maths, e.g. 2*sin(30) + sqrt(16) + 5!

convert_digits

Convert between English and Bangla digits

It is built on bd-income-tax, bdkit and scientific-calculator-v1.

Related MCP server: camelotwebtools-mcp

Setup

You need uv installed. uvx downloads and runs the server for you.

Claude Code

claude mcp add bangladesh -- uvx bangladesh-mcp

Claude Desktop, Cursor, VS Code and others. Add this to the client's MCP config (claude_desktop_config.json, .cursor/mcp.json, …):

{
  "mcpServers": {
    "bangladesh": {
      "command": "uvx",
      "args": ["bangladesh-mcp"]
    }
  }
}

Without uv

pip install bangladesh-mcp
bangladesh-mcp                                         # stdio (default)
bangladesh-mcp --transport streamable-http --port 8000 # HTTP

Python 3.10+.

Use the tools from Python

The tool functions are plain Python, too:

from bangladesh_mcp.tools import income_tax, amount_in_words

income_tax({"salary": 800_000, "house_rent": 50_000}, {"dps": 100_000})["tax_payable"]  # 41250
amount_in_words(12_500, "bn")["words"]  # 'বারো হাজার পাঁচ শত টাকা মাত্র'

Disclaimer

Tax results are estimates based on the rules in bd-income-tax for assessment years 2026-27 and 2027-28. Confirm against the latest NBR Finance Act before filing.

License

MIT

Available Tools

7 tools
amount_in_wordsA
Read-onlyIdempotent

Write a taka amount in words for invoices and cheques, using lakh/crore.

Args: amount: Amount in BDT; up to two decimals are read as paisa. language: "en" for English or "bn" for Bangla. include_only: Add "Only" / "মাত্র" at the end.

Inputs: amount (required), language, include_only. Returns: result

calculate_expressionA
Read-onlyIdempotent

Evaluate a maths expression safely, e.g. "2*sin(30) + sqrt(16) + 5!".

Args: expression: Supports + - * / // % ^ **, parentheses, !, pi, e, tau and sqrt, cbrt, root, exp, log, ln, sin, cos, tan, asin, acos, atan, factorial, abs, power, percent, mod. angle_unit: "deg" (default) or "rad" for trigonometric functions.

Inputs: expression (required), angle_unit. Returns: result

check_mobile_numbersA
Read-onlyIdempotent

Validate Bangladeshi mobile numbers, normalise them to +880 format and detect the operator.

Args: numbers: Numbers in any common format, e.g. "01712-345678", "+880 1912 345678", Bangla digits.

Inputs: numbers (required). Returns: result

convert_digitsA
Read-onlyIdempotent

Convert digits between English and Bangla.

Args: text: Any text containing digits. to: "bn" for Bangla digits (০-৯) or "en" for English digits (0-9).

Inputs: text (required), to. Returns: result

income_taxA
Read-onlyIdempotent

Calculate Bangladesh individual income tax.

Args: income: Annual income in BDT by source, e.g. {"salary": 800000, "house_rent": 50000}. investment: Eligible rebate investments in BDT, e.g. {"sanchaypatra": 60000, "dps": 40000}. category: One of general, female, senior, disabled, freedom-fighter, third-gender.

Inputs: income (required), category, investment. Returns: result

loan_emiA
Read-onlyIdempotent

Equal monthly instalment (EMI) for a loan, with total interest.

Args: principal: Loan amount in BDT. annual_rate_percent: Yearly interest rate, e.g. 12 for 12%. months: Loan term in months.

Inputs: months (required), principal (required), annual_rate_percent (required). Returns: result

savings_growthB
Read-onlyIdempotent

Future value of a lump sum plus monthly deposits (DPS/FDR), compounded monthly.

Args: principal: Starting amount in BDT (0 for a plain DPS). monthly_deposit: Amount deposited every month in BDT. annual_rate_percent: Yearly interest rate, e.g. 9 for 9%. months: Number of months.

Inputs: months (required), principal (required), monthly_deposit (required), annual_rate_percent (required). Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.8/5.0

    Scored across 7 tools

    Disambiguation5/5

    Each tool targets a clearly distinct operation: tax computation, number-to-words, mobile validation, generic expression evaluation, loan EMI, savings growth, and digit script conversion. The three financial tools (income_tax, loan_emi, savings_growth) are adjacent but their descriptions make the boundaries unambiguous. No two tools appear to do the same thing.

    Naming Consistency3/5

    The set mixes verb-first names (check_mobile_numbers, calculate_expression, convert_digits) with noun-phrase names (income_tax, amount_in_words, loan_emi, savings_growth). All are snake_case and readable, but there is no single predictable verb_noun pattern, so an agent cannot infer the naming scheme of a new tool.

    Tool Count5/5

    Seven tools is well within the sweet spot and each one covers a discrete, useful capability with no filler. Nothing feels redundant or missing at the count level.

    Completeness4/5

    The surface covers the core Bangladeshi finance/text utilities: tax, EMI, savings, amount wording, mobile validation, digit conversion, plus a general math evaluator. Minor gaps remain (e.g. VAT/corporate tax, parsing words back to amounts, or a currency formatter), but agents can work around them with calculate_expression.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      B
      maintenance
      Enables AI agents to perform accurate local computations including arbitrary-precision math, date handling, unit conversion, subnet calculations, encoding, hashing, and text analysis, all without network calls or API keys.
      27
      103 npm
      MIT
    • A
      license
      Not graded
      quality
      A
      maintenance
      Enables AI agents to build and parse VietQR payments, convert old 63-province addresses to the 34-province structure, validate tax IDs and e-invoices, turn money amounts into Vietnamese words, and convert between solar and lunar calendar dates. All tools run offline with bundled data, returning structured ok/error results.
      MIT