@iflow-mcp/sebastianomarchesini-us-immigration-mcp
v0.1.0
Published
MCP server for U.S. immigration petition assistance (EB1, EB2-NIW, etc.) with LaTeX document generation
Downloads
14
Readme
🇺🇸 US Immigration MCP Server
A Model Context Protocol (MCP) server that provides AI assistants with tools, resources, and prompts for U.S. employment-based immigration petitions — specifically EB1A (Extraordinary Ability) and EB2 NIW (National Interest Waiver).
✨ Key Features
| Feature | Description | |---------|-------------| | 🔤 LaTeX Document Generation | Generate complete, professional LaTeX petition letters, reference letters, and exhibit lists | | 📜 Legal Citation Tools | Format CFR, USCIS Policy Manual, INA, and case citations correctly | | ⚖️ Dhanasar Framework Analyzer | Evaluate evidence against the three-prong NIW test | | 🏆 EB1A Criteria Checker | Map evidence to the 10 regulatory criteria | | 📅 Visa Bulletin Guidance | Understand priority dates and processing times | | 📝 Document Templates | Structured prompts for petition letters and reference letters |
🎯 Perfect For
- Self-petitioners preparing their own EB1A or EB2 NIW applications
- Immigration attorneys streamlining document preparation
- Researchers and professionals building evidence packages
- Anyone using LaTeX for professional immigration documents
📋 Prerequisites
- Node.js 18+ (Download)
- An MCP-compatible client (Claude Desktop, VS Code with MCP extension, Cursor, etc.)
- LaTeX distribution (for compiling generated documents): TeX Live, MiKTeX, or Overleaf
🚀 Quick Start
Installation
# Clone the repository
git clone https://github.com/sebastianomarchesini/us-immigration-mcp.git
cd us-immigration-mcp
# Install dependencies
npm install
# Build the project
npm run buildConfigure Claude Desktop
Add to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"us-immigration": {
"command": "node",
"args": ["/path/to/us-immigration-mcp/dist/index.js"]
}
}
}Restart Claude Desktop. You'll see the tools available in the 🔧 menu.
Run in Development Mode
npm run dev🛠️ Available Tools
LaTeX Document Generation
| Tool | Description |
|------|-------------|
| generate_niw_petition_latex | Complete EB2 NIW petition letter with Dhanasar framework |
| generate_eb1a_petition_latex | Complete EB1A petition letter with claimed criteria |
| generate_reference_letter_latex | Expert recommendation letter template |
| generate_exhibit_list_latex | Formatted exhibit index |
| generate_latex_preamble | Reusable preamble with legal commands |
| escape_latex | Escape special characters for LaTeX |
Citation Formatting
| Tool | Description |
|------|-------------|
| format_cfr_citation | Code of Federal Regulations citations |
| format_case_citation | Legal case citations (Bluebook format) |
| format_uscis_policy_citation | USCIS Policy Manual citations |
| format_ina_citation | Immigration and Nationality Act citations |
| format_latex_citation | Citations formatted for LaTeX documents |
| get_common_citations | Dictionary of frequently used citations |
NIW Analysis (Matter of Dhanasar)
| Tool | Description |
|------|-------------|
| analyze_dhanasar_prong | Analyze evidence against a specific prong |
| evaluate_niw_petition | Comprehensive three-prong evaluation |
| suggest_niw_evidence | Recommend evidence types for weak areas |
| get_dhanasar_summary | Complete framework overview |
EB1A Analysis
| Tool | Description |
|------|-------------|
| analyze_eb1a_criterion | Evaluate evidence against criteria 1-10 |
| map_evidence_to_eb1a_criteria | Suggest applicable criteria |
| get_eb1a_criteria_summary | All 10 criteria overview |
| compare_eb1a_vs_niw | Compare both pathways |
Immigration Information
| Tool | Description |
|------|-------------|
| get_visa_bulletin_info | Understanding the Visa Bulletin |
| explain_priority_date | Priority date implications |
| get_processing_times_info | USCIS processing information |
📄 LaTeX Usage Examples
Generate an NIW Petition Letter
User: Generate a LaTeX petition letter for my EB2 NIW application.
My name is John Smith, I work in machine learning, and my endeavor
is developing AI systems for healthcare diagnostics. I have a PhD
in Computer Science from Stanford (2020).The tool will generate a complete .tex file with:
- Proper legal formatting and citations
- Dhanasar three-prong structure
- Placeholder sections for your specific evidence
- Custom LaTeX commands for legal citations (
\cfr{},\casename{},\exhibit{})
Compile the LaTeX Document
# Using pdflatex
pdflatex petition.tex
# Or upload to Overleaf for online editingCustom LaTeX Commands Included
\cfr{8 C.F.R. § 204.5(k)} % CFR citations (italicized)
\casename{Matter of Dhanasar} % Case names (italicized)
\exhibit{A-1} % Exhibit references (bold)
\seeexhibit{C-2} % "See Exhibit C-2" format📚 Available Resources
Access legal texts via the MCP resources interface:
| URI | Content |
|-----|---------|
| legal://dhanasar | Matter of Dhanasar, 26 I&N Dec. 884 (AAO 2016) |
| legal://kazarian | Kazarian v. USCIS, 596 F.3d 1115 (9th Cir. 2010) |
| legal://eb1a-criteria | 8 C.F.R. § 204.5(h)(3) — EB1A criteria |
| legal://eb2-niw-criteria | 8 C.F.R. § 204.5(k) — EB2 NIW requirements |
| legal://policy-manual-niw | USCIS Policy Manual Vol. 6, Part F, Ch. 5 |
📝 Available Prompts
| Prompt | Description |
|--------|-------------|
| niw_petition_outline | Structure for NIW petition cover letter |
| reference_letter_guidance | Template for expert recommendation letters |
| rfe_response_framework | Framework for responding to RFEs |
| eb1a_petition_outline | Structure for EB1A petition letter |
🏗️ Project Structure
us-immigration-mcp/
├── src/
│ ├── index.ts # Main MCP server entry point
│ ├── tools/
│ │ ├── citations.ts # Citation formatting tools
│ │ ├── dhanasar.ts # NIW analysis tools
│ │ ├── eb1a.ts # EB1A criteria tools
│ │ ├── visa-bulletin.ts # Visa bulletin tools
│ │ └── latex.ts # LaTeX generation tools
│ ├── resources/
│ │ └── legal-texts.ts # Legal resource content
│ └── prompts/
│ └── templates.ts # Prompt templates
├── templates/ # Example LaTeX templates
├── dist/ # Compiled JavaScript
├── package.json
├── tsconfig.json
└── README.md⚠️ Disclaimer
This tool is for informational and educational purposes only.
- This is NOT legal advice. Immigration law is complex and constantly evolving.
- Always consult with a qualified immigration attorney for your specific case.
- The developers are not responsible for any immigration decisions made using this tool.
- Information may not reflect the most recent legal developments.
- Verify all citations and legal standards before submitting any petition.
🤝 Contributing
Contributions are welcome! Please see CONTRIBUTING.md for guidelines.
Ideas for Contributions
- [ ] Add more AAO decision summaries
- [ ] Implement PERM labor certification tools
- [ ] Add EB1B (Outstanding Researcher) support
- [ ] Create i-140 form field mapper
- [ ] Add more LaTeX templates (CV, cover letters)
- [ ] Support for BibTeX legal citations
🧪 Development
# Install dependencies
npm install
# Run in development mode (with hot reload)
npm run dev
# Build for production
npm run build
# Run linting
npm run lint
# Run tests
npm test📄 License
This project is licensed under the MIT License — see LICENSE for details.
🙏 Acknowledgments
- Anthropic for the Model Context Protocol
- The immigration law community for public legal resources
- USCIS for the Policy Manual and public AAO decisions
- The LaTeX community for typesetting excellence
📬 Contact
- Author: Sebastiano Marchesini
- GitHub: @sebastianomarchesini
Built with ❤️ to help navigate the U.S. immigration system
