India API
REMOTE · API.DHARUN.DEV
Free Indian data and AI: pincode, IFSC, GSTIN, holidays, GST invoice, OCR, translation. No key.
Available components
Last scanned (10 hours ago)
Scores higher than 57% of remote servers
Reachable. Last reached 18 Oct 2026.
Category Documents and Files
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security63
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one. See how to fix → View diagnostics → Partial
- HTTPS enforcement could not be verified: the plaintext port answered with HTTP 405, which proves neither a plaintext path nor enforcement. View diagnostics → Unverified
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability75
- AI-judged instruction clarity (good).Pass
- Tool/resource definitions use about 7644 tokens (~95/item across 80 items; 80 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management13
- Stability observed for 4 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage97
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 91% of tool parameters carry a description.Partial
Tool Safety75
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 0 of 3 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "remove_image_background" implies "remove" and declares readOnlyHint instead, contradicting what its own name says it does. See how to fix → Fail
- An AI judge read all 81 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 18 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 10 to 13. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 4 at this one. The score rises as the window fills, whether or not the server changes.
- 17 Oct 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Server version: 1.1.28 → 1.1.33 functional
- New tool “check_ipv6” functional
- New tool “check_tls” functional
- New tool “domain_icon” functional
- New tool “probe_url_from_india” functional
- New tool “whois_lookup” functional
- 16 Oct 26 −1
- The server rewrote its instructions, which are the text every model session reads security
- Tool “get_company_logo” rewrote its description, which is the text the model reads security
- Tool “search_companies” rewrote its description, which is the text the model reads security
- Schema quality: 5097 → 7113 ▼ functional
- Destructive annotations: pass → 0 functional
- Server version: 1.1.22 → 1.1.28 functional
- New tool “chunk_text” functional
- New tool “compare_images” functional
- New tool “compress_pdf” functional
- New tool “convert_image” functional
- New tool “convert_tamil_legacy_text” functional
- New tool “embed_texts” functional
- New tool “get_image_info” functional
- New tool “get_indian_states” functional
- New tool “get_pdf_info” functional
- New tool “hash_image” functional
- New tool “make_barcode” functional
- New tool “make_code_image” functional
- New tool “make_qr_code” functional
- New tool “make_social_preview_image” functional
- New tool “merge_pdfs” functional
- New tool “read_pdf_text” functional
- New tool “remove_audio_noise” functional
- New tool “remove_image_background” functional
- New tool “render_pdf_page” functional
- New tool “rotate_pdf_pages” functional
- New tool “select_pdf_pages” functional
- “get_company_logo” reworded the description of “symbol” cosmetic
- 15 Oct 26 +1
- The server rewrote its instructions, which are the text every model session reads security
- Schema quality: 4409 → 5097 ▼ functional
- Stability: unverified → 0.03 ▲ functional
- Server version: 1.1.20 → 1.1.22 functional
- New tool “moderate_text” functional
- New tool “rerank_documents” functional
- New tool “transcribe_audio” functional
- New tool “translate_text” functional
- New tool “transliterate_roman_typing” functional
- 14 Oct 26 66
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 18 Oct 2026 · Probed https://api.dharun.dev/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=dharun.dev | CN=WE1,O=Google Trust Services,C=US | 13 Sept 2026 | 12 Dec 2026 | ECDSA 256 | ECDSA-SHA256 | 944167cef5f97a960e859b1d3fff7a45 |
| SANs: dharun.dev, *.dharun.dev | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of api.dharun.dev. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| dev. | present | 60074 | 8 | Verified |
| dharun.dev. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| x-content-type-options | nosniff |
| referrer-policy | strict-origin-when-cross-origin |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://api.dharun.dev/mcp | Verified | 200 | |
| http (plaintext) | http://api.dharun.dev/mcp | Inconclusive | 405 |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
probe_url_from_india Probe url from india ~126
Fetch a URL from a server in India and time it: DNS, connect, TLS, time to first byte and download, the HTTP status and version, every redirect, the response headers (cookie values hidden), the body's size and hash (never the body), and which CDN and edge city answered. Shows how fast a site is for visitors in India.
| Name | Type | Req | Description |
|---|---|---|---|
| rounds | integer | – | Times to fetch it, 1 to 5, for a median. Default 1. |
| url | string | yes | http or https address. A bare host is taken as https. |
No output schema declared.
No examples provided.
read_barcodes Read barcodes ~75
Find and read every QR code and barcode (Data Matrix, Aztec, EAN, UPC, Code 128, Code 39, ITF, Codabar) in a picture.
| Name | Type | Req | Description |
|---|---|---|---|
| file | string | yes | The file, base64-encoded (a data: URL also works). Up to 5 MB. |
No output schema declared.
No examples provided.
read_pdf_text Read pdf text ~106
Read the text of a PDF, page by page. needs_ocr is true when the pages are scanned pictures; send those to read_text_in_image.
| Name | Type | Req | Description |
|---|---|---|---|
| file | string | yes | The file, base64-encoded (a data: URL also works). Up to 5 MB. |
| first | integer | – | First page. Default 1. |
| last | integer | – | Last page. |
| layout | string | – | true keeps the page layout with spaces, for tables. |
No output schema declared.
No examples provided.
read_text_in_image Read text in image ~123
OCR: read the text in a photo, scan or scanned PDF, in English and Indian languages (Hindi, Tamil, Telugu, Kannada, Malayalam, Bengali, Gujarati, Punjabi, Odia, Marathi).
| Name | Type | Req | Description |
|---|---|---|---|
| file | string | yes | The file, base64-encoded (a data: URL also works). Up to 5 MB. |
| lang | string | – | Languages the text uses, joined by +: eng, hin, tam, tel, kan, mal, ben, guj, pan, ori, mar. Up to three. Default eng. |
No output schema declared.
No examples provided.
redact_indian_identifiers Redact indian identifiers ~77
Mask Aadhaar, PAN, GSTIN, card, phone, email, UPI ID, vehicle, voter ID, passport and IP numbers in a text, checking check digits where they exist.
| Name | Type | Req | Description |
|---|---|---|---|
| style | string | – | label replaces with [PAN]; partial keeps the last digits. |
| text | string | yes | The text. |
No output schema declared.
No examples provided.
remove_audio_noise Remove audio noise ~98
Lower background noise (fans, traffic, hum) in a recording with DeepFilterNet; returns MP3. The first five minutes are cleaned.
| Name | Type | Req | Description |
|---|---|---|---|
| file | string | yes | The file, base64-encoded (a data: URL also works). Up to 5 MB. |
| limit | integer | – | The most noise is lowered by, in decibels, 6 to 100. Lower sounds more natural. Default 100. |
No output schema declared.
No examples provided.
remove_image_background Remove image background ~92
Cut the subject out of a picture (a product, a person, an animal) and return it as a PNG with a transparent background, with the IS-Net model.
| Name | Type | Req | Description |
|---|---|---|---|
| file | string | yes | The file, base64-encoded (a data: URL also works). Up to 5 MB. |
| format | string | – | png (default), webp, or mask: the cut-out mask alone. |
No output schema declared.
No examples provided.
render_pdf_page Render pdf page ~94
Draw one page of a PDF as a picture, for a preview.
| Name | Type | Req | Description |
|---|---|---|---|
| file | string | yes | The file, base64-encoded (a data: URL also works). Up to 5 MB. |
| format | string | – | Default png. |
| page | integer | – | Page number. Default 1. |
| width | integer | – | Width in pixels, 50 to 3000. Default 1000. |
No output schema declared.
No examples provided.
rerank_documents Rerank documents ~86
Order documents by how well each answers a query, with the multilingual bge-reranker-v2-m3 cross-encoder (Indian languages and English). Returns scores from 0 to 1, best first.
| Name | Type | Req | Description |
|---|---|---|---|
| documents | array | yes | Up to 100 candidate passages. |
| query | string | yes | The question. |
| top | integer | – | Return only the best few. |
No output schema declared.
No examples provided.
rotate_pdf_pages Rotate pdf pages ~87
Turn the pages of a PDF clockwise by a multiple of 90 degrees.
| Name | Type | Req | Description |
|---|---|---|---|
| angle | string | – | Degrees, clockwise. Default 90. |
| file | string | yes | The file, base64-encoded (a data: URL also works). Up to 5 MB. |
| pages | string | – | Pages to turn, such as 1-3,5. Default all. |
No output schema declared.
No examples provided.
search_airports Search airports ~90
Search airports by name or city, worldwide (those with IATA codes) and every Indian airfield and heliport. Filter by country (ISO code) or Indian state.
| Name | Type | Req | Description |
|---|---|---|---|
| country | string | – | Two-letter ISO country code, such as IN. |
| query | string | – | Name, city or code. |
| state | string | – | State code or name, for example TN or Tamil Nadu. |
No output schema declared.
No examples provided.
search_bank_branches Search bank branches ~109
Find branches of one Indian bank by state, city or text in the branch name or address. Needs the four-letter bank code; use search_banks to find it.
| Name | Type | Req | Description |
|---|---|---|---|
| bank | string | yes | Four-letter bank code, for example SBIN or HDFC. |
| city | string | – | Exact city name. |
| query | string | – | Text to find in the branch name, address or city. |
| state | string | – | State code or name, for example TN or Tamil Nadu. |
No output schema declared.
No examples provided.
search_banks Search banks ~32
Find Indian banks and their four-letter codes by name.
| Name | Type | Req | Description |
|---|---|---|---|
| query | string | yes | Part of the bank name. |
No output schema declared.
No examples provided.
search_companies Search companies ~77
Search Indian listed companies by ticker, earlier ticker, name, sector, industry, ISIN or index name (for example 'Nifty 50'). Returns details with logo URLs. Only companies listed today.
| Name | Type | Req | Description |
|---|---|---|---|
| exchange | string | – | Limit to one exchange. |
| limit | integer | – | – |
| query | string | yes | Search text. |
No output schema declared.
No examples provided.
search_hsn_codes Search hsn codes ~67
Find Indian HSN (goods) or SAC (services) codes by words of their description, such as 'green tea' or 'construction'.
| Name | Type | Req | Description |
|---|---|---|---|
| kind | string | – | Goods or services. |
| query | string | yes | Words of the description, or the start of a code. |
No output schema declared.
No examples provided.
search_mutual_funds Search mutual funds ~83
Search Indian mutual fund schemes by name words, fund house or category, filtered by direct/regular plan and growth/IDCW option, with their latest NAVs.
| Name | Type | Req | Description |
|---|---|---|---|
| fund_house | string | – | Fund house name. |
| option | string | – | Option. |
| plan | string | – | Plan. |
| query | string | – | Words of the scheme name. |
No output schema declared.
No examples provided.
search_post_offices Search post offices ~81
Find Indian post offices and their pincodes by the start of the office name, optionally within a state or district.
| Name | Type | Req | Description |
|---|---|---|---|
| district | string | – | Exact district name. |
| query | string | yes | Start of a post office name, or start of a pincode. |
| state | string | – | State code or name, for example TN or Tamil Nadu. |
No output schema declared.
No examples provided.
search_railway_stations Search railway stations ~67
Find Indian railway stations and their codes by name, state or railway zone.
| Name | Type | Req | Description |
|---|---|---|---|
| query | string | – | Station name. |
| state | string | – | State code or name, for example TN or Tamil Nadu. |
| zone | string | – | Zone code, such as SR. |
No output schema declared.
No examples provided.
search_thirukkural Search thirukkural ~77
Search the Thirukkural in Tamil or English, or list a chapter (1-133) or a paal (1 virtue, 2 wealth, 3 love).
| Name | Type | Req | Description |
|---|---|---|---|
| chapter | integer | – | – |
| paal | integer | – | – |
| query | string | – | Words to find, in Tamil or English. |
No output schema declared.
No examples provided.
select_pdf_pages Select pdf pages ~79
Make a new PDF from some pages of one, in the order named: to pick, reorder or split pages.
| Name | Type | Req | Description |
|---|---|---|---|
| file | string | yes | The PDF, base64-encoded. Up to 5 MB. |
| pages | string | yes | Pages, such as 1-3,5 or 2,1 (a page may repeat). |
No output schema declared.
No examples provided.
test_regex Test regex ~131
Run a regular expression (JavaScript or RE2/Go syntax) against a text: every match with its groups and character offsets, an optional replacement, and a token by token explanation of the pattern.
| Name | Type | Req | Description |
|---|---|---|---|
| flags | string | – | Any of i, m, s. |
| flavor | string | – | Default js. |
| pattern | string | yes | The regular expression, without slashes. |
| replace | string | – | Replacement for each match: $1 and $<name> in js, ${1} and ${name} in re2. |
| text | string | yes | The text to test it on. |
No output schema declared.
No examples provided.
text_to_speech Text to speech ~123
Speak text aloud in Hindi, Telugu, Malayalam or English with Piper voices; returns MP3 audio. Write the text in its own script. Some Hindi voices are for non-commercial use only.
| Name | Type | Req | Description |
|---|---|---|---|
| speed | number | – | – |
| text | string | yes | What to say, up to 3,000 characters. |
| voice | string | – | A voice ID (hi_IN-rohan-medium, te_IN-padmavathi-medium, ml_IN-meera-medium, en_GB-cori-medium...) or a language code: hi, te, ml, en. |
No output schema declared.
No examples provided.
traceroute_from_india Traceroute from india ~105
Trace the network path from a server in India to a host, MTR style: every hop with its address, name, network (AS) and country, packet loss and round-trip times. Shows how Indian networks reach a site.
| Name | Type | Req | Description |
|---|---|---|---|
| host | string | yes | Domain name or public IP address. |
| rounds | integer | – | Probes per hop, 1 to 10. Default 5. |
| v | string | – | IP version. Default 4. |
No output schema declared.
No examples provided.
transcribe_audio Transcribe audio ~147
Speech to text with Whisper: the text of a recording (MP3, WAV, Ogg, M4A, WebM or video), with timed segments; about a hundred languages, Indian ones included. task=translate writes it in English. The first five minutes are heard.
| Name | Type | Req | Description |
|---|---|---|---|
| file | string | yes | The recording, base64-encoded (a data: URL also works). Up to 5 MB. |
| language | string | – | auto (default) or the language spoken: en, hi, ta, te, kn, ml, mr, bn, gu, pa, ur... |
| task | string | – | transcribe (default) or translate (into English). |
No output schema declared.
No examples provided.
translate_text Translate text ~162
Translate text between English and 22 Indian languages (Hindi, Tamil, Telugu, Kannada, Malayalam, Bengali, Marathi, Gujarati, Punjabi, Odia, Assamese, Urdu and more) with AI4Bharat's IndicTrans2. Between two Indian languages it goes through English. Up to 2,000 characters.
| Name | Type | Req | Description |
|---|---|---|---|
| from | string | yes | Language of the text: en, hi, ta, te, kn, ml, bn, mr, gu, pa, or, as, ur, sa, ne, ks, sd, mai, gom, brx, doi, mni, sat. |
| text | string | yes | The text, Indian languages in their own script. |
| to | string | yes | Language to translate into, same codes. |
No output schema declared.
No examples provided.
transliterate_indian_text Transliterate indian text ~148
Rewrite text from one Indian script in another (Devanagari, Bengali, Gurmukhi, Gujarati, Odia, Tamil, Telugu, Kannada, Malayalam), or in Roman letters (ISO 15919, IAST, plain ASCII), or from ISO 15919 / IAST into a script. Spelling only, not translation.
| Name | Type | Req | Description |
|---|---|---|---|
| from | string | – | Source: auto (default), a script, or iso15919 / iast for romanised input. |
| text | string | yes | The text. |
| to | string | yes | Target: a script name, a language code such as ta or hi, or iso15919, iast, ascii. |
No output schema declared.
No examples provided.
transliterate_roman_typing Transliterate roman typing ~145
Turn Indian-language words typed in Roman letters (vanakkam, namaste, kaise ho) into their own script, as phone keyboards do, with several guesses per word. Uses AI4Bharat's IndicXlit. Up to 60 words.
| Name | Type | Req | Description |
|---|---|---|---|
| count | integer | – | Guesses per word. Default 4. |
| lang | string | yes | Target language: ta, hi, te, kn, ml, bn, mr, gu, pa, or, as, ur, sa, ne, si, ks, sd, mai, gom, brx, mni. |
| text | string | yes | The words in Roman letters. |
No output schema declared.
No examples provided.
validate_identifier Validate identifier ~54
Check the format of an Indian GSTIN, PAN or IFSC. Format only: it does not confirm the identifier was issued.
| Name | Type | Req | Description |
|---|---|---|---|
| kind | string | yes | Which identifier. |
| value | string | yes | The identifier to check. |
No output schema declared.
No examples provided.
where_is_satellite Where is satellite ~56
Where a tracked satellite such as the ISS is right now: the point on Earth below it, its altitude and speed, and whether it is in sunlight.
| Name | Type | Req | Description |
|---|---|---|---|
| satellite | string | yes | Catalogue number or name, such as ISS. |
No output schema declared.
No examples provided.
whois_lookup Whois lookup ~113
Who registered a domain, IP network or AS number, through RDAP (the registries' replacement for whois): for a domain the registrar, registration and expiry dates, status, nameservers and DNSSEC; for an IP address or AS number the network, its holding organisation, country and abuse contact. Works for .in and .co.in. Personal contacts are never returned.
| Name | Type | Req | Description |
|---|---|---|---|
| query | string | yes | A domain name (example.co.in), an IP address, or an AS number (AS55836). |
No output schema declared.
No examples provided.
How do I install the India API MCP server?
India API is a hosted endpoint at https://api.dharun.dev/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · api.dharun.dev
claude mcp add --transport http dharunashokkumar-india-api 'https://api.dharun.dev/mcp'
What is the India API MCP server?
India API is an MCP server listed in the public MCP registry as io.github.dharunashokkumar/india-api. Free Indian data and AI: pincode, IFSC, GSTIN, holidays, GST invoice, OCR, translation. No key. This page covers its hosted endpoint (https://api.dharun.dev/mcp).
Is the India API MCP server safe to use?
India API scores 67 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the India API MCP server expose?
India API exposes 80 tools: get_company_logo, search_companies, lookup_pincode, search_post_offices, lookup_ifsc, and 75 more. Their descriptions and schemas cost roughly 7,307 tokens of context every time the server is loaded.
Does the India API MCP server require authentication?
No. We connected to India API without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the India API MCP server still maintained?
India API is still listed as active in the MCP registry. We last reached this channel on 18 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.