Bangladesh Law MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Bangladesh Law MCP ServerFind all acts from the 1970s related to land."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Bangladesh Law MCP Server
A Model Context Protocol server that lets any AI assistant — Claude, Gemini, GPT, Cursor, VS Code, Continue.dev, or any MCP-compatible client — query the full text of Bangladeshi legislation directly from natural language.
Built on top of the Bangladesh Legal Acts Dataset, which contains 1,484+ acts scraped from http://bdlaws.minlaw.gov.bd/ and enriched with the historical government and legal-system context for each act's period.
💚 Credits
This project was made possible by the generous help of two friends:
Rubaiyat — for the early feedback, the test queries that shaped the tool surface, and the patient bug reports that turned half-broken prototypes into something that actually works end-to-end.
Jarif — for helping debug the stdio transport, walking through MCP-client integration on Windows, and pushing for the polished README and CI setup that make this thing actually shippable.
Thank you both — this project exists because of you. 💚
And of course, thanks to sakhadib and every contributor to the original Bangladesh Legal Acts Dataset — without that carefully curated corpus, none of this would exist.
Related MCP server: MCP Server Legifrance
✨ What you can ask
Once connected, your AI assistant can answer questions like:
"Find all Bangladesh acts from the 1970s related to land."
"What was the legal framework when the Penal Code 1860 was enacted?"
"Show me section 3 of the Code of Criminal Procedure."
"Which government was in power when the Bangladesh University of Professionals Act 2009 was passed?"
"Search the entire corpus for acts that mention 'environment protection'."
"Is the Companies Act 1994 still in force?"
🧰 Tools exposed
Tool | Purpose |
| Browse acts with filters (year range, language, repealed/active, title substring) |
| Fetch a complete act by id (full sections, footnotes, government & legal context) |
| Pull a single section of an act |
| Free-text search across titles or section bodies, with snippets |
| Aggregate dataset stats — year range, language distribution, top gov systems, repealed count |
Each act is also exposed as an MCP resource at act://<act-id> so clients
that prefer resource-style reads can pull the JSON directly.
📦 Installation
1. Clone this repo and the dataset side-by-side
git clone https://github.com/sakhadib/bangladesh-law-mcp.git
git clone https://github.com/sakhadib/Bangladesh-Legal-Acts-Dataset.gitYou should now have:
bangladesh-law-mcp/
Bangladesh-Legal-Acts-Dataset/The server will auto-discover the dataset in this sibling layout. If you keep
the dataset anywhere else, set BLA_DATA_DIR to its Data/acts folder (or to
the parent Data/ folder).
About Git LFS: the dataset uses LFS for the full corpus. If you only see a few hundred
.jsonfiles inBangladesh-Legal-Acts-Dataset/Data/acts/, rungit lfs install && git lfs pullinside the dataset repo.
2. Install Python dependencies
cd bangladesh-law-mcp
python -m venv .venv
# Windows
.venv\Scripts\activate
# macOS / Linux
source .venv/bin/activate
pip install -r requirements.txtOr install the package itself:
pip install .This registers a bangladesh-law-mcp command on your PATH.
3. Sanity check
python server.pyThe server should print something like:
[INFO] bangladesh-law-mcp: Loading acts from .../Bangladesh-Legal-Acts-Dataset/Data/acts
[INFO] bangladesh-law-mcp: Indexing 1484 act files
[INFO] bangladesh-law-mcp: Index built: 1484 actsand then sit silently on stdout (it's waiting for an MCP client on stdin). Press Ctrl+C to stop.
🔌 Connect an AI client
Pick your client. All of them connect over stdio — no API key, no network.
Claude Desktop
Edit claude_desktop_config.json:
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"bangladesh-law": {
"command": "python",
"args": ["C:\\absolute\\path\\to\\bangladesh-law-mcp\\server.py"]
}
}
}Restart Claude Desktop. You'll see a 🔨 icon with the new tools in the chat composer.
VS Code / Cursor (one-click via .vscode/mcp.json)
A starter config is included at .vscode/mcp.json (edit the absolute path
to match your machine):
{
"servers": {
"bangladesh-law": {
"type": "stdio",
"command": "python",
"args": ["C:\\absolute\\path\\to\\bangladesh-law-mcp\\server.py"]
}
}
}Then in VS Code run MCP: List Servers from the command palette and start
bangladesh-law.
Gemini (via an MCP-compatible adapter)
Gemini itself doesn't speak MCP natively, but open-source MCP bridges (LangChain's MCP adapter, the MCP Inspector, etc.) let you expose MCP tools to Gemini. After installing such an adapter, point it at:
python /absolute/path/to/bangladesh-law-mcp/server.pyGPT / ChatGPT (via MCP plugin / LangChain)
Same story — wire the stdio server into any MCP-aware orchestrator
(LangChain's MCPAdapter, AutoGen, CrewAI, etc.). The tool surface described
above is what your GPT agent will see.
Continue.dev / Cline / Roo Code
Add to your MCP config:
{
"mcpServers": [
{
"name": "bangladesh-law",
"command": "python",
"args": ["/absolute/path/to/bangladesh-law-mcp/server.py"]
}
]
}🌐 Live Hosted Instance (Fly.io)
The server is deployed as an always-on Streamable HTTP endpoint on Fly.io. Any MCP client that supports remote servers can connect to:
https://bangladesh-law-mcp.fly.dev/mcpA liveness check is available at:
https://bangladesh-law-mcp.fly.dev/healthzConnecting a remote-capable client
VS Code / Cursor (Streamable HTTP):
{
"servers": {
"bangladesh-law": {
"type": "streamableHttp",
"url": "https://bangladesh-law-mcp.fly.dev/mcp"
}
}
}Claude Desktop (if/when remote MCP is supported):
{
"mcpServers": {
"bangladesh-law": {
"type": "streamableHttp",
"url": "https://bangladesh-law-mcp.fly.dev/mcp"
}
}
}Note: Most desktop MCP clients today only support
stdio. The hosted endpoint is primarily for web-based agents, custom integrations, and future clients that support remote MCP. For local use, the stdio transport (above) remains the simplest option.
Deploying your own instance
Install flyctl and sign up.
Push this repo to GitHub.
Create a Fly app:
fly launch --no-deploy # generates fly.toml, uses the DockerfileDeploy:
fly deploy --remote-only(Optional) Set up auto-deploy on push — add a
FLY_API_TOKENGitHub secret (created withfly tokens create deploy) and the included.github/workflows/deploy.ymlwill deploy on every push tomain.
⚙️ Configuration
Env var | Default | Purpose |
|
| Where to find the act JSON files. Accepts the |
|
| One of |
|
|
|
|
| Bind address and port for the HTTP transport. |
🛠 Development
Run a one-liner smoke test (no client needed):
python -c "import asyncio, server
async def m():
out = await server.mcp.call_tool('get_statistics', {})
print(out[1])
asyncio.run(m())"Lint:
pyflakes server.pyThe included GitHub Actions workflow (.github/workflows/ci.yml) lints and
byte-compiles on Python 3.10, 3.11, and 3.12 for every push and PR.
🗂 Project layout
bangladesh-law-mcp/
├── .dockerignore
├── .github/
│ ├── ISSUE_TEMPLATE/
│ │ ├── bug_report.md
│ │ └── feature_request.md
│ └── workflows/
│ ├── ci.yml
│ └── deploy.yml # auto-deploy to Fly.io
├── .gitignore
├── Dockerfile # multi-stage build (clones dataset with LFS)
├── LICENSE
├── README.md
├── SECURITY.md
├── fly.toml # Fly.io app config (always-on free tier)
├── pyproject.toml
├── requirements.txt
└── server.py # the entire MCP server🙏 Thanks
The full credit list lives at the top of this README in the 💚 Credits section — please scroll up.
📄 License
The server code in this repository is released under the MIT License.
The underlying data is from sakhadib/Bangladesh-Legal-Acts-Dataset and is licensed under CC BY 4.0. Please attribute the original authors when reusing the data.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/rubaiyatemon/bangladesh-law-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server