India Company Diligence
India company data for agents: 3.74M-company MCA mirror, CIN/GSTIN tools, provenance on every field
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
india-company-diligenceclaude mcp add india-company-diligence -e 'ICD_MIRROR_DB=<ICD_MIRROR_DB>' -- uvx india-company-diligence==0.1.1
{
"mcpServers": {
"india-company-diligence": {
"command": "uvx",
"args": [
"india-company-diligence==0.1.1"
],
"env": {
"ICD_MIRROR_DB": "<ICD_MIRROR_DB>"
}
}
}
}
Environment variables
ICD_MIRROR_DBPath to mca_mirror.duckdb (fetch once: uvx --from india-company-diligence icd-fetch). Default: data/mca_mirror.duckdb.
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
Contents
india-company-diligence
An open-source MCP server that makes India's public company data agent-legible: a full local mirror of the MCA company master data (~3.74M companies), offline CIN decoding and GSTIN validation, and provenance on every field.
v0.1.0 · mirror as_of 2026-10-25 · upstream dataset updated 2026-10-13 · MIT license · github.com/amit043/india-company-diligence
60-second demo
You: A vendor called "Hella Infra Market" wants a ₹2 crore credit line. Check them out.
Claude (calls
company_search, thencompany_lookup): HELLA INFRA MARKET LIMITED (CINU46632MH2016PLC283737) is Active, a public unlisted company registered with ROC Mumbai, incorporated 2016-07-15, paid-up capital ₹285.8 crore. Note:HELLA INFRACON PRIVATE LIMITED— a similarly named entity — is Strike Off, so confirm the exact CIN on the invoice. Missing: directors, charges, and financials require the live MCA layer (roadmap). Source: mca-master-data, as_of 2026-10-25.
Every answer carries where each field came from, what is missing, and what is stale. Missing is stated, never fabricated.
Install & run (Claude Desktop)
Requires uv.
# 1. one-time: download the prebuilt mirror (~530 MB download, ~1.4 GB on disk)
uvx --from india-company-diligence icd-fetch
Add to claude_desktop_config.json:
{
"mcpServers": {
"india-company-diligence": {
"command": "uvx",
"args": ["india-company-diligence"],
"env": { "ICD_MIRROR_DB": "C:\\full\\path\\to\\mca_mirror.duckdb" }
}
}
}
Restart Claude Desktop. Ask: "Look up CIN L17110MH1973PLC019786".
Tools
| Tool | What it does | Network |
|---|---|---|
company_lookup(cin) | Full registry row for one CIN, per-field provenance | mirror only |
company_search(name, limit) | Case-insensitive name search, ≤50 rows, ranked | mirror only |
cin_decode(cin) | Offline structural decode: listing status, state, year, company type | none |
gstin_validate(gstin) | Offline GSTIN structure + mod-36 checksum validation | none |
The provenance contract
Every tool returns data plus provenance, and states what is missing or stale — never fabricated, never an error page:
{
"data": { "...": "..." },
"provenance": [{"field": "CompanyStatus", "source": "mca-master-data", "as_of": "2026-10-25"}],
"missing": ["director_network (live layer unavailable)"],
"stale": []
}
Data & attribution
Company Master Data (RoC-wise), published by the Ministry of Corporate Affairs via data.gov.in, licensed under the Government Open Data License – India (GODL). 3,738,721 companies; upstream dataset updated 2026-10-13; this mirror built 2026-10-25.
gstin_validate is offline-only by design: no keyless public GST API exists, so
legal name / registration status are stated as missing rather than guessed.
Roadmap
- L1 live layer — MCA directors & charges via browser automation (week 2)
- LLP decode —
cin_decodecurrently handles company CINs; LLP IDs (e.g.ABA-1729) next - Refresh cadence: monthly mirror rebuilds as upstream updates
Bugs and data gaps: open an issue.
Sync the mirror yourself (alternative to icd-fetch)
Get a free API key on data.gov.in, then:
export OGD_API_KEY=your-key # or put it in a .env file at the repo root
uv run icd-sync # paginated pull, checkpointed, safe to interrupt
uv run icd-import # CSV -> data/mca_mirror.duckdb, source/as_of baked in
The pull is paced (5s between pages by default; override with OGD_DELAY_SECONDS
or uv run icd-sync --delay 3). Completion matters, not speed.
Pausing & resuming
- stop:
uv run icd-watch stop(or just close the terminal) - status:
uv run icd-watch status - resume:
uv run icd-watch start— continues fromdata/mca_master.checkpoint - when the checkpoint reaches the dataset total, run
uv run icd-import
Development
uv sync
uv run pytest
uv run ruff check .
Prefer plain pip? requirements.txt / requirements-dev.txt mirror the deps.
License
MIT. Data under GODL-India; attribution as above.
Frequently asked questions
What is India Company Diligence?
India company data for agents: 3.74M-company MCA mirror, CIN/GSTIN tools, provenance on every field
How do I install India Company Diligence?
It runs on your machine. In Claude Code: claude mcp add india-company-diligence -e 'ICD_MIRROR_DB=<ICD_MIRROR_DB>' -- uvx india-company-diligence==0.1.1. For other clients, paste the JSON configuration from this page into their MCP settings.
Does India Company Diligence need an API key?
Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.
Is India Company Diligence open source?
Yes. Its code is on GitHub under the MIT license.
Who maintains India Company Diligence?
It is published by amit043. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.