loading…
Search for a command to run...
loading…
MCP server for US immigration guidance — live Visa Bulletin, priority date checker, and immigration term explanations powered by official government data
MCP server for US immigration guidance — live Visa Bulletin, priority date checker, and immigration term explanations powered by official government data
tushariitr-19/immigration-mcp MCP server
⚠️ Disclaimer: This tool is for informational purposes only and does not constitute legal advice. Always consult a qualified immigration attorney for decisions about your specific case. Data is sourced from official government websites (USCIS, State Department) but may not reflect the most recent updates.
An MCP (Model Context Protocol) server for US immigration guidance — live Visa Bulletin, priority date checker, USCIS news, and immigration term explanations.
Built with the official Go MCP SDK.
Navigating US immigration is complex and expensive. immigration-mcp gives AI agents access to live, structured immigration data from official government sources — so you can ask questions in plain English and get accurate, up-to-date answers.
| Tool | Description |
|---|---|
get_visa_bulletin |
Fetch the latest US Visa Bulletin with employment-based priority dates by country and category |
check_priority_date |
Check if your priority date is current for I-485 filing |
explain_term |
Plain English explanation of any immigration term |
Once connected to Claude Desktop:
git clone https://github.com/tushariitr-19/immigration-mcp
cd immigration-mcp
go build -o immigration-mcp-server ./cmd/server/
Add to your Claude Desktop config (claude_desktop_config.json):
{
"mcpServers": {
"immigration-mcp": {
"command": "/path/to/immigration-mcp-server",
"env": {
"DEBUG": "false"
}
}
}
}
Optional:
export DEBUG=true # enables debug logging


immigration-mcp/
├── cmd/server/main.go ← entry point, env vars, graceful shutdown
├── server/server.go ← MCP server setup, tool registration
├── tools/
│ ├── visa_bulletin.go ← get_visa_bulletin tool
│ ├── priority_date.go ← check_priority_date tool
│ └── explain_term.go ← explain_term tool
├── util/
│ ├── util.go ← shared helper functions
│ └── constants.go ← shared constants
├── models/
│ └── models.go ← shared data models
├── tests/
│ └── visa_bulletin_test.go ← unit tests
├── logger/
│ └── logger.go ← structured logging via zap
└── Dockerfile
Each tool is self-contained — the server is agnostic of what tools do internally. Adding a new tool is a single line in server/server.go.
# Unit tests only
make test-unit
# Integration tests only
make test-integration
# All tests
make test
# Build binary
make build
PRs welcome. To add a new tool:
tools/<toolname>.goserver/server.go with one linetests/<toolname>_test.goMIT
Выполни в терминале:
claude mcp add immigration-mcp -- npx Безопасность
Низкий рискАвтоматическая эвристика по публичным данным — не гарантия безопасности.