npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@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

License: MIT Node.js 18+ TypeScript MCP

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 build

Configure 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 editing

Custom 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


Built with ❤️ to help navigate the U.S. immigration system