HeyGov

Model Context Protocol · Live endpoint

Government records
for AI Agents

HeyGov gives your assistant one MCP endpoint for EPFO, Parivahan, Income Tax and DigiLocker. Reads happen in chat — writes happen in HeyGov.

Paste into
heygov — mcp session

> Using heygov, please login

↗ open heygov…/mcp/authorize — pick a profile (demo / demo), tap Allow

✓ Signed in as anjali-sharma · session_token: eyJjaWQiOi…

$ get_parivahan + consent:true

Challan · ₹500unpaid

Connaught Place · overspeeding · pay in HeyGov ↓

open_url: heygov…/?citizen=anjali-sharma&prompt=Pay%20my%20challan

Reads here · writes in HeyGov — money never moves on a chatbot sentence.

What this MCP is

Eleven tools over one data layer. Zero writes over MCP.

Every tool reuses the same getters and card builders as the chat, so MCP answers can never drift from what the site shows. Each answer returns data plus an open_url deep link — the citizen confirms Pay / File / Renew in HeyGov, behind the normal login + consent gates.

start here

begin_login

Opens /mcp/authorize in a browser — pick a demo profile, tap Allow, get a grant code. Never type a password in chat.

start here

exchange_code

Swaps the browser grant code for the session_token every data tool needs (expires in 10 min).

testing only

login

Headless fallback for curl/Inspector testing only — never call it with a human present.

no auth

list_citizens

The 4 demo citizens, no sign-in needed — so clients can discover who to log in as.

consent

get_epfo

UAN, employer, PF balance and contributions — same numbers the chat shows.

consent

get_parivahan

Driving licence + vehicle + unpaid challans, with an open_url to pay in HeyGov.

consent

get_digilocker

Aadhaar (masked), PAN if issued, DL and other docs — or one document_type.

consent

compare_tax_regime

Old vs new regime on the citizen's own income (FY 2025-26 slabs, 4% cess).

consent

get_income_tax

Pre-filled ITR summary. Filing itself happens in HeyGov — this tool never files.

consent

get_attention

What needs action now (expired DL, challan, belated fee). Urgent first, max 3.

consent

prefill_dl_renewal

Pre-filled DL renewal form + fee. The citizen confirms it in HeyGov.

Install in 60 seconds

Paste one prompt. Done.

1

Copy the install prompt

The big blue button above (or below). Paste it into Codex, Cursor, Claude or ZCode — the agent registers the endpoint in your MCP config and stops at the restart.

2

Restart, then just talk

Fully quit and reopen the app, start a new chat, and say: call the heygov MCP tool begin_login (not the HeyGen plugin). No second prompt — the heygov tools are in that chat and their descriptions guide the browser login. Anjali by default — she has the ₹500 challan, so demos read as working, not empty.

3

Ask with consent

Every read passes consent:true — the machine version of the Allow button. Answers link back into HeyGov for anything that moves money.

[mcp_servers.heygov]
url = "https://heygov-build-india.netlify.app/api/mcp"
View live tool list

How it works

Reads in chat. Writes in HeyGov.

Same login, same consent

Deep links route through the normal LoginModal popup and the Account Aggregator Allow / Deny gate. A token scoped to Anjali can never read Ramesh.

Consent travels as an arg

Data tools require consent:true — explicit, per call, auditable. Missing consent fails cleanly instead of guessing.

Honest by construction

Mock data is labelled simulated in every answer. Tax slabs are real FY 2025-26 math; everything else says what it is.

GET https://heygov-build-india.netlify.app/api/mcp → 11 tool names · no key needed · browser test in 10 seconds