- Create org:
mcp-india-stack - Create repo:
mcp-india-stack(public) - Set description:
MCP server exposing Indian financial and government APIs - GSTIN, IFSC, PAN, UPI, pincode, HSN/SAC - for AI agents. Zero auth. Offline-first.
Enable the following on main:
- Require a pull request before merging
- Require approvals: 1
- Dismiss stale approvals on new commits
- Require status checks to pass before merging:
CI / test (3.10),CI / test (3.11),CI / test (3.12) - Require conversation resolution before merging
- Restrict force pushes
- Restrict deletions
python -m venv .venv
. .venv/bin/activate # macOS/Linux
pip install -e ".[dev]"
pre-commit installWindows PowerShell:
python -m venv .venv
.venv\Scripts\Activate.ps1
pip install -e ".[dev]"
pre-commit installpython scripts/update_datasets.py --refresh-allAlternatively, refresh individual datasets:
python scripts/update_datasets.py --refresh-ifsc --refresh-pincode --refresh-hsnIf HSN auto-download fails, manually download HSN_SAC.xlsx and place at staging/HSN_SAC.xlsx, then rerun.
ruff check .
ruff format --check .
mypy src
pytest --cov=mcp_india_stack --cov-report=term-missing --cov-fail-under=80python -m buildVerify wheel contents include data files:
python -m zipfile -l dist/mcp_india_stack-0.3.0-py3-none-any.whlPreferred: Trusted Publishing (OIDC)
- In PyPI project settings, add trusted publisher for this repo/workflow:
- Repository:
rehan1020/MCP-India-Stack - Workflow:
.github/workflows/publish.yml - Environment: optional
- Repository:
- Push tag:
git tag v0.3.0
git push origin v0.3.0Fallback: use PYPI_API_TOKEN GitHub secret and twine workflow (not included here).
Windows config path:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"mcp-india-stack": {
"command": "C:\\Python312\\python.exe",
"args": ["-m", "mcp_india_stack"]
}
}
}macOS config path:
~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"mcp-india-stack": {
"command": "/usr/bin/python3",
"args": ["-m", "mcp_india_stack"]
}
}
}Linux config path:
~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"mcp-india-stack": {
"command": "/usr/bin/python3",
"args": ["-m", "mcp_india_stack"]
}
}
}