Skip to main content
Glama

nepal-law-mcp

🌐 Live Demo

https://nepal-law-mcp.vercel.app/

नेपाल कानून आयोगबाट प्रकाशित ३२८ वटा ऐनहरू र ३,४२४ वटा धाराहरू खोज्न मिल्ने tool।

An MCP (Model Context Protocol) server with a web interface that provides search access to Nepali statutes scraped from lawcommission.gov.np. Includes a full PDF parsing pipeline with OCR fallback for section-level text extraction.

Related MCP server: Korean Law MCP

Features

  • search_statute: Full-text search across all statute titles and provisions using SQLite FTS5 + LIKE fallback

  • get_provision: Retrieve the full text of a specific section by act name and section number

  • list_acts: List all 328 acts in the database with Nepali/English titles, year, and status

  • check_status: Check whether an act is in force or repealed, with text quality and provision count

  • Web interface: Nepali-language SPA at http://localhost:3001 with search (debounced), browse, and provision viewer

  • PDF pipeline: Download PDFs from CDN, extract sections via pdfjs-dist + tesseract OCR, quality-check

Setup

# Install dependencies
npm install

# Build TypeScript
npm run build

Ingest Data

# Ingest all acts from the alphabetical index
npm run ingest

# Ingest a single act by name
npm run ingest -- --single "अख्तियार"

Parse PDFs (extract section-level text)

# Process acts with PDF URLs (default: 5)
npm run parse-pdfs

# Process more acts
MAX_ACTS=100 npm run parse-pdfs

# Retry only previously-failed acts
FAILED_ONLY=1 npm run parse-pdfs

# Enable OCR-based title validation
OCR_TITLE_VALIDATE=1 npm run parse-pdfs

Web Interface

# Start the web server on port 3001
npm run web

# Or development mode (hot-reload)
npm run web:dev

Open http://localhost:3001 to search and browse all acts.

Usage with Roo Code / Claude Desktop

{
  "mcpServers": {
    "nepal-law": {
      "command": "node",
      "args": ["path/to/nepal-law-mcp/dist/index.js"]
    }
  }
}

Project Structure

nepal-law-mcp/
├── src/
│   ├── index.ts        # MCP server (stdio transport)
│   ├── db.ts           # SQLite database with FTS5
│   ├── scraper.ts      # Web scraper module
│   └── types.ts        # TypeScript types
├── scripts/
│   ├── ingest.ts       # Standalone ingest runner
│   └── parse-pdfs.ts   # PDF download + section extraction pipeline
├── web/
│   ├── server.ts       # Express.js REST API
│   ├── public/
│   │   └── index.html  # Nepali-language SPA
│   └── README.md
├── data/               # SQLite database location
├── package.json
├── tsconfig.json
├── README.md
└── SUMMARY.md

Development

npm run dev      # Watch mode for TypeScript compilation
npm run build    # Compile TypeScript
npm run start    # Run the MCP server
npm run web      # Run the web interface

DB State

Metric

Value

Statutes in DB

328

Provisions extracted

3,408 from 94 acts

Verified quality

80

Low confidence

14

Unprocessed (no source_url)

233

F
license - not found
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

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/lngiri/nepal-law-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server