Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

India API

REMOTE · API.DHARUN.DEV

Free Indian data and AI: pincode, IFSC, GSTIN, holidays, GST invoice, OCR, translation. No key.

Available components

67 Trust /100

Last scanned (10 hours ago)

Scores higher than 57% of remote servers

Reachable. Last reached 18 Oct 2026.

Category Documents and Files

Trust breakdown (7 categories)

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
Transport & Reachability100
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
Changelog

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.

Diagnostics

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
MCP tools · 80 exposed · ~7,307 tokens

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 →

Tool Tokens
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.

NameTypeReqDescription
roundsinteger–Times to fetch it, 1 to 5, for a median. Default 1.
urlstringyeshttp or https address. A bare host is taken as https.

No output schema declared.

No examples provided.

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.

NameTypeReqDescription
filestringyesThe file, base64-encoded (a data: URL also works). Up to 5 MB.

No output schema declared.

No examples provided.

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.

NameTypeReqDescription
filestringyesThe file, base64-encoded (a data: URL also works). Up to 5 MB.
firstinteger–First page. Default 1.
lastinteger–Last page.
layoutstring–true keeps the page layout with spaces, for tables.

No output schema declared.

No examples provided.

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).

NameTypeReqDescription
filestringyesThe file, base64-encoded (a data: URL also works). Up to 5 MB.
langstring–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 ~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.

NameTypeReqDescription
stylestring–label replaces with [PAN]; partial keeps the last digits.
textstringyesThe text.

No output schema declared.

No examples provided.

remove_audio_noise ~98

Lower background noise (fans, traffic, hum) in a recording with DeepFilterNet; returns MP3. The first five minutes are cleaned.

NameTypeReqDescription
filestringyesThe file, base64-encoded (a data: URL also works). Up to 5 MB.
limitinteger–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 ~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.

NameTypeReqDescription
filestringyesThe file, base64-encoded (a data: URL also works). Up to 5 MB.
formatstring–png (default), webp, or mask: the cut-out mask alone.

No output schema declared.

No examples provided.

render_pdf_page ~94

Draw one page of a PDF as a picture, for a preview.

NameTypeReqDescription
filestringyesThe file, base64-encoded (a data: URL also works). Up to 5 MB.
formatstring–Default png.
pageinteger–Page number. Default 1.
widthinteger–Width in pixels, 50 to 3000. Default 1000.

No output schema declared.

No examples provided.

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.

NameTypeReqDescription
documentsarrayyesUp to 100 candidate passages.
querystringyesThe question.
topinteger–Return only the best few.

No output schema declared.

No examples provided.

rotate_pdf_pages ~87

Turn the pages of a PDF clockwise by a multiple of 90 degrees.

NameTypeReqDescription
anglestring–Degrees, clockwise. Default 90.
filestringyesThe file, base64-encoded (a data: URL also works). Up to 5 MB.
pagesstring–Pages to turn, such as 1-3,5. Default all.

No output schema declared.

No examples provided.

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.

NameTypeReqDescription
countrystring–Two-letter ISO country code, such as IN.
querystring–Name, city or code.
statestring–State code or name, for example TN or Tamil Nadu.

No output schema declared.

No examples provided.

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.

NameTypeReqDescription
bankstringyesFour-letter bank code, for example SBIN or HDFC.
citystring–Exact city name.
querystring–Text to find in the branch name, address or city.
statestring–State code or name, for example TN or Tamil Nadu.

No output schema declared.

No examples provided.

search_banks ~32

Find Indian banks and their four-letter codes by name.

NameTypeReqDescription
querystringyesPart of the bank name.

No output schema declared.

No examples provided.

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.

NameTypeReqDescription
exchangestring–Limit to one exchange.
limitinteger––
querystringyesSearch text.

No output schema declared.

No examples provided.

search_hsn_codes ~67

Find Indian HSN (goods) or SAC (services) codes by words of their description, such as 'green tea' or 'construction'.

NameTypeReqDescription
kindstring–Goods or services.
querystringyesWords of the description, or the start of a code.

No output schema declared.

No examples provided.

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.

NameTypeReqDescription
fund_housestring–Fund house name.
optionstring–Option.
planstring–Plan.
querystring–Words of the scheme name.

No output schema declared.

No examples provided.

search_post_offices ~81

Find Indian post offices and their pincodes by the start of the office name, optionally within a state or district.

NameTypeReqDescription
districtstring–Exact district name.
querystringyesStart of a post office name, or start of a pincode.
statestring–State code or name, for example TN or Tamil Nadu.

No output schema declared.

No examples provided.

search_railway_stations ~67

Find Indian railway stations and their codes by name, state or railway zone.

NameTypeReqDescription
querystring–Station name.
statestring–State code or name, for example TN or Tamil Nadu.
zonestring–Zone code, such as SR.

No output schema declared.

No examples provided.

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).

NameTypeReqDescription
chapterinteger––
paalinteger––
querystring–Words to find, in Tamil or English.

No output schema declared.

No examples provided.

select_pdf_pages ~79

Make a new PDF from some pages of one, in the order named: to pick, reorder or split pages.

NameTypeReqDescription
filestringyesThe PDF, base64-encoded. Up to 5 MB.
pagesstringyesPages, such as 1-3,5 or 2,1 (a page may repeat).

No output schema declared.

No examples provided.

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.

NameTypeReqDescription
flagsstring–Any of i, m, s.
flavorstring–Default js.
patternstringyesThe regular expression, without slashes.
replacestring–Replacement for each match: $1 and $<name> in js, ${1} and ${name} in re2.
textstringyesThe text to test it on.

No output schema declared.

No examples provided.

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.

NameTypeReqDescription
speednumber––
textstringyesWhat to say, up to 3,000 characters.
voicestring–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 ~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.

NameTypeReqDescription
hoststringyesDomain name or public IP address.
roundsinteger–Probes per hop, 1 to 10. Default 5.
vstring–IP version. Default 4.

No output schema declared.

No examples provided.

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.

NameTypeReqDescription
filestringyesThe recording, base64-encoded (a data: URL also works). Up to 5 MB.
languagestring–auto (default) or the language spoken: en, hi, ta, te, kn, ml, mr, bn, gu, pa, ur...
taskstring–transcribe (default) or translate (into English).

No output schema declared.

No examples provided.

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.

NameTypeReqDescription
fromstringyesLanguage 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.
textstringyesThe text, Indian languages in their own script.
tostringyesLanguage to translate into, same codes.

No output schema declared.

No examples provided.

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.

NameTypeReqDescription
fromstring–Source: auto (default), a script, or iso15919 / iast for romanised input.
textstringyesThe text.
tostringyesTarget: 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 ~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.

NameTypeReqDescription
countinteger–Guesses per word. Default 4.
langstringyesTarget language: ta, hi, te, kn, ml, bn, mr, gu, pa, or, as, ur, sa, ne, si, ks, sd, mai, gom, brx, mni.
textstringyesThe words in Roman letters.

No output schema declared.

No examples provided.

validate_identifier ~54

Check the format of an Indian GSTIN, PAN or IFSC. Format only: it does not confirm the identifier was issued.

NameTypeReqDescription
kindstringyesWhich identifier.
valuestringyesThe identifier to check.

No output schema declared.

No examples provided.

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.

NameTypeReqDescription
satellitestringyesCatalogue number or name, such as ISS.

No output schema declared.

No examples provided.

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.

NameTypeReqDescription
querystringyesA domain name (example.co.in), an IP address, or an AS number (AS55836).

No output schema declared.

No examples provided.

Install

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

# add to Claude Code
claude mcp add --transport http dharunashokkumar-india-api 'https://api.dharun.dev/mcp'
Common questions

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.