india-company-diligence
You can query, search, decode, and validate Indian company identifiers offline using a local MCA mirror with provenance on returned fields.
Look up a company by 21-character CIN and get its full registry row with per-field provenance from the local mirror.
Search company names case-insensitively, ranked, returning at most 50 results.
Decode a CIN offline to infer listing status, state, incorporation year, and company type without network or mirror access.
Validate a GSTIN offline for structure, state code, and mod-36 check digit.
Rely on responses to include provenance and explicitly mark missing or stale data rather than fabricate it.
Note that live MCA directors, charges, financials, and live GST registration details are not available; these are reported as missing.
Click on "Deploy 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., "@india-company-diligence Look up CIN U46632MH2016PLC283737 and note any missing fields"
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.
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.2.0 · mirror as_of 2026-10-25 · upstream dataset updated 2026-10-13 · MIT license · github.com/amit043/india-company-diligence
Independently evaluated: Glama — tool definitions rated A, maintenance A, one-click deploy · mcprush — security A, low access · Also listed on Agensi skills and the official MCP registry.
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.
Related MCP server: india-business-mcp-server
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-fetchAdd 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 |
| Full registry row for one CIN, per-field provenance | mirror only |
| Case-insensitive name search, ≤50 rows, ranked | mirror only |
| Offline structural decode: listing status, state, year, company type | none |
| 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) nextRefresh 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 inThe 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 statusresume:
uv run icd-watch start— continues fromdata/mca_master.checkpointwhen 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.
Available Tools
4 toolscin_decodeCin DecodeC
Decode a Corporate Identity Number without using the mirror or network.
Inputs: cin (required). Returns: object
company_lookupCompany LookupA
Look up one company by its 21-character Corporate Identity Number.
Inputs: cin (required). Returns: object
company_searchCompany SearchB
Search company names case-insensitively, returning at most 50 rows.
Inputs: name (required), limit. Returns: object
gstin_validateGstin ValidateA
Validate a GSTIN offline: structure, state code, and mod-36 check digit.
Pure offline — no network, no keys. Live fields (legal name, trade name, registration status, filing history) require an authenticated GST API and are stated as missing, never fabricated.
Inputs: gstin (required). Returns: object
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 4 tools
Each tool has a clearly distinct input and purpose: CIN lookup, name search, offline CIN decoding, and offline GSTIN validation. Although company_lookup and cin_decode both involve CINs, their actions and outputs are unmistakably different.
All four names use consistent snake_case with a predictable entity_action pattern: company_lookup, company_search, cin_decode, gstin_validate. There is no mixing of camelCase or vague verb styles.
Four tools is well-scoped for a focused offline diligence helper, and each tool earns its place without redundancy. The set covers lookup, discovery, decoding, and validation without bloat.
Core offline operations for CIN and GSTIN are covered, but diligence workflows often need director details, filing history, or GSTIN-to-company linkage, which are absent. The descriptions honestly state live fields are missing, but the overall surface still has notable gaps for full diligence.
Maintenance
Related MCP Connectors
Indian company, LLP, GST, PAN, director and court-case records for KYB, due diligence and leads
Indian company and director lookups from the MCA registry: CIN, LLPIN, DIN, MCA status, new firms.
India company lookup by CIN or name (MCA): status, capital, email, directors with DIN. $3/1k
Official company and director data: search, profiles, officers, filings, and name normalization.
Related MCP Servers
- AlicenseAqualityAmaintenanceAn offline-first MCP server for Indian financial, tax, and government APIs, providing tools for identity validation (PAN, Aadhaar, GSTIN), tax calculations (Income Tax, TDS, GST), and master data lookups (IFSC, Pincode, HSN/SAC) with zero authentication required.7676 PyPI86MIT
- AlicenseAqualityDmaintenanceEnables LLMs to query real-time Indian bank branch details, postal PIN codes, validate GSTIN/PAN structures, check e-commerce serviceability, and compute GST breakdowns using free public APIs and offline verification logic.69 npm1MIT
- AlicenseAqualityCmaintenanceEnables live GSTIN verification, GST return and compliance history lookup, HSN/SAC code searches, and MCA company registry queries through MCP clients.1050 npmMIT

com.qorpiq/mcaofficial
AlicenseAqualityCmaintenanceEnables read-only lookups of Indian company and director records, including CIN, LLPIN, FCRN, DIN, registry status, and recent incorporations. It also supports company name searches and director directorship histories.665 npmMIT