india-compliance-calendar
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
India Compliance Calendar
A single pane of glass for Indian statutory deadlines, built for an in-house compliance team: what is due, what is at risk, and what each filing costs if it is late. Every date cites the act, rule, notification or circular it comes from.
Live site: https://dgomesbr.github.io/india-compliance-calendar/
It is our own take on the corplawupdates.in calendar: the same idea, rebuilt from primary government sources as structured, recurring rules, with no content copied from any commercial site.
What it does
Risk first. The overview opens on the chosen horizon with overdue and due-this-week items at the top, the counts by state set large on the cover (each one filters the table), and the costliest-if-late list beside the table.
Any horizon. 1 week, 2 weeks, 1 month, 1 quarter, to year end, to FY end, or a custom range from up to 15 months back to up to 24 months ahead. Items that fell due before the team began tracking show as "before tracking", and the tracking date can be moved back to review last year's filings.
Your financial year. Indian law sets April to March, but a company that must follow another year to consolidate with a group abroad (as its holding company, subsidiary or associate) can have it approved by the Tribunal (section 2(41), Companies Act), and an LLP by the Central Government (section 2(1)(l), LLP Act). Set the year's start and end in the profile and everything that counts from it moves: the AGM and the filings that run from it, cost audit, LLP returns, SEBI results and annual filings, the FEMA activity certificate, the "FY end" horizon and the report's quarters and years. Income tax, TDS and GST stay April to March, as the law requires.
Chains. When one deadline runs from another, the calendar knows. AOC-4, MGT-7, ADT-1 and MGT-15 run from the AGM; CSR-2 from AOC-4; the SEBI annual report and BRSR from the AGM date; Form 16A and 27D from their TDS and TCS statements; the tax audit and transfer-pricing reports one month before their return; the GST credit cut-off moves up to the day GSTR-9 is filed. Mark the AGM held on its real date and its whole chain moves with it. Every entry shows where its date comes from and what runs from it, in the table, the detail panel, the entry pages, the exports and the calendar feeds.
Order by fine. Sort by due date, by penalty exposure (the fixed cost of a 30-day delay: late fees and flat penalties, with interest shown separately), or by law.
The timeline. One lane per law across the horizon; each due date is a mark sized by its penalty exposure and coloured by its state, so it is clear which law is heavy when. Select a mark to filter the table. Keyboard and screen-reader accessible.
Cost of a delay. For filings whose late fee grows by the day, the detail panel and each entry page chart the fixed cost against days late, with a slider, a hover readout and the same values as a table.
Our obligations only. An entity profile (type, GST mode, TDS, employees, audit, transfer pricing, foreign investment, import/export, states) filters everything, including state professional tax and labour welfare fund.
Mark filed, with owner and acknowledgement. Stored in the browser; teams share records by exporting and importing JSON.
Event planner. Enter an AGM, allotment, director change, charge or foreign investment date and get every downstream deadline (AOC-4, MGT-7, ADT-1, PAS-3, FC-GPR, DIR-12, CHG-1 ...), then add them to the calendar.
Board report. A printable status for any quarter, FY or custom period: filed, overdue, pending, not recorded. Copy it for Excel (tab-separated, pastes straight into columns) or download a CSV that Excel opens cleanly, with each item's 30-day cost in rupees and in the reference currency.
Amounts in CAD or USD for reference. Every penalty amount shows a Canadian dollar figure (or US dollars, a switch in the masthead and the profile) at the Bank of Canada's daily rate, with the rupee figure, which the law fixes, in brackets.
Regulator feed. A daily GitHub Actions job collects official RSS feeds into an updates page and an RSS feed of its own.
Holidays kept current. Indian holidays move during the year (festivals follow the moon; the Centre, the states and RBI declare or shift days), so on the 1st of every month
update-holidays.ymlrefreshes the lists from RBI's holiday matrix, the National Portal of India's copy of the DoPT list and NSE's holiday API, and the calendars abroad from their authorities' feeds. A date corrected by hand from a later order is never moved back; it is flagged on the Updates page.Holidays abroad. Canada federal statutory holidays, Ontario public and bank holidays, and US federal and Federal Reserve holidays sit beside the Indian ones in the month calendar and the overview, for teams that pay, file or meet across borders, with ICS feeds of their own. They never move an Indian due date.
Subscribe and export. ICS feeds for everything, per law and per audience, with reminders 7 days and 1 day before; single-event downloads; CSV.
Built for agents too. A static JSON API,
llms.txt, and an MCP server so AI agents can ask what is due and what it costs.
Related MCP server: indian-regulatory-mcp
Data
Rules live in data/rules, one YAML file per law area: income tax,
GST, MCA and LLP, SEBI LODR, RBI and FEMA, labour (EPF, ESI, labour codes), state
levies (professional tax, labour welfare fund), foreign trade and other
regulators. Each rule has a schedule, applicability, the law, a structured
penalty model, sources, a verified date and a confidence level. Notified
extensions are recorded per period with their circular. Dates past the verified
window are shown as projected. See docs/DATA_MODEL.md.
Holidays (central gazetted and restricted, exchange and bank holidays where
published) are in data/holidays. The survey of open datasets
and official sources behind the calendar is in
docs/DATA_SOURCES.md and on the site's Sources page.
This is information, not legal advice. Laws, forms and portals change; confirm on the official portal before you file. Found a wrong date? Open a correction with the official source.
API, feeds and MCP
What | Where |
Rules, holidays, events in one file |
|
Dated occurrences, current FY to 25 months ahead |
|
Rules, holidays, events, updates, sources, meta |
|
Calendar feeds |
|
Regulator updates |
|
Agent orientation |
|
MCP server (Node 22.18 or later, no dependencies, reads the published data):
git clone https://github.com/dgomesbr/india-compliance-calendar
claude mcp add india-compliance-calendar -- node ./india-compliance-calendar/mcp/server.tsTools: upcoming_obligations, get_obligation, search_obligations,
event_deadlines, check_date, list_holidays, regulatory_updates. Set
ICC_DATA_URL to a fork's bundle.json or a local file. See
mcp/README.md.
Development
npm ci
npm run dev # http://localhost:4321/india-compliance-calendar/
npm test # engine, data validation, feed parser, MCP server
npm run validate # data checks only
npm run feeds # collect regulator feeds into data/updates.json
npm run build # static site in dist/Stack: Astro 7 with Preact islands, TypeScript, YAML data, no backend. The date
engine in src/lib is plain erasable TypeScript shared by the build, the browser
and the MCP server.
Deployment
.github/workflows/deploy.yml validates, tests, collects feeds and deploys to
GitHub Pages on every push to main and daily at 06:00 IST, so date windows and
feeds stay current. refresh-sources.yml runs every other day: it compares the
Income Tax e-Filing tax calendar and the GST portal's current dates with the
rules, checks the holiday calendars abroad against their statutory rules and
open datasets (drafting a coming year from the rule until its authority
publishes it), checks every cited link, and commits the results to
data/source-status.json, which the Sources page shows. Forks
can publish elsewhere with ICC_SITE and ICC_BASE.
Design
Designed with the Impeccable process: product context in PRODUCT.md, the visual system in DESIGN.md. The world is a listed company's annual report: a navy masthead over white working pages, ruled tables with tabular figures, one cobalt for actions, state tints only where state is the message, and two charts: the timeline that tells the year, and the cost of a delay for a single filing. Each law has its own colour, shown only as a swatch beside its name. Motion explains change (rows glide, figures count, the timeline assembles from Today) and gives way to plain fades under reduced motion.
Licence
Code: MIT. Compiled data in data/: CC BY 4.0. Government source material keeps
its own terms. Fonts: Archivo and Fragment Mono, SIL Open Font License.
This server cannot be deployed
Maintenance
Related MCP Connectors
Computes California state court deadlines and cites the code section behind every date. No API key.
Reliable Australian business-day, public-holiday and deadline tools for AI agents.
Regulatory change feed for Canada, the US, the UK and the EU. Free for people, agents pay per call.
Japanese business days, holiday checks and invoice due dates for your AI agent.
Related MCP Servers
- AlicenseAqualityDmaintenanceProvides AI agents with access to a structured compliance dataset covering privacy and AI regulations across jurisdictions, enabling verifiable answers to regulatory questions via tools and resources.12MIT
- AlicenseNot gradedqualityDmaintenanceEnables access to Indian regulatory data including SEBI orders, RBI circulars, MCA company details, GST verification, and more, designed for fintech and legaltech applications.MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to manage Indian enterprise systems by providing tools for accounting (TallyPrime), invoicing (Zoho Books), and GST compliance (validation, e-invoice generation, and GSTR-2B reconciliation), with dry-run-first writes and an audit trail.1Apache 2.0
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to call deterministic Singapore legal deadline arithmetic instead of guessing, covering Rules of Court 2021 procedural periods, Limitation Act anniversaries, contractual deemed receipt, and working-day utilities. Each tool returns a full derivation trace and requires an explicit rule id, so the rule choice and holiday data provenance stay visible in the transcript.1MIT