返回市场
H1B职位搜索MCP

H1B职位搜索MCP

作者:aryaminus12 星标更新:2025-10-10

项目介绍

H1B职位搜索MCP服务器

一个使用真实的美国劳工部LCA披露数据自动进行H-1B职位搜索的MCP(模型上下文协议)服务器。该服务器基于FastMCP构建。

🚀 实时服务器https://h1b-job-search-mcp.onrender.com/mcp

部署到Render

注意:由于免费实例的内存限制,服务器可能会宕机。我乐意接受服务器捐赠以支持托管。

✅ 真实数据,非样本!

此服务器直接从美国劳工部官方披露文件中获取实际的H-1B申请数据。每个数据集包含数万个真实的H-1B申请,包括:

  • 真实的公司名称(如谷歌、微软、亚马逊等)
  • 实际的工作岗位和薪资
  • 真实的工作地点和联系方式
  • 已认证的申请状态

数据来源https://www.dol.gov/agencies/eta/foreign-labor/performance

特性

  • 📊 下载LCA数据:自动下载并缓存来自劳工部的H-1B LCA披露数据
  • 🔍 智能搜索:通过工作角色、地点和工资筛选H-1B赞助公司
  • 🏢 公司分析:获取特定公司的详细赞助统计信息
  • 📈 顶级赞助商:按数量列出顶级H-1B赞助公司
  • 🚫 机构过滤:自动过滤掉外包机构,找到直接雇主
  • 📁 导出结果:将筛选结果导出为CSV,便于联系
  • 💾 数据缓存:智能缓存避免重新下载大型数据集
  • 🤖 多LLM支持:与Claude、ChatGPT、Gemini、Cursor和Poke兼容

📖 如何使用

对于详细的使用示例和自然语言提示,请参阅**使用指南**。

快速示例

只需自然对话!ask工具理解普通英语:

  • "加载最新的H-1B数据"
  • "查找加利福尼亚州支付超过150k的软件工程师职位"
  • "告诉我关于谷歌的H-1B赞助情况"
  • "将数据科学家职位导出为CSV"

可用的MCP工具

1. load_h1b_data

下载并加载来自劳工部的H-1B LCA数据。

  • 参数
    • year: 财政年度(默认:2024)
    • quarter: 季度1-4(默认:4)
    • force_download: 即使已缓存也强制重新下载

2. search_h1b_jobs

根据工作角色和地点搜索H-1B赞助公司。

  • 参数
    • job_role: 搜索的工作标题(例如:"软件工程师")
    • city: 工作城市(可选)
  • state: 工作州代码(可选,例如:"CA")
  • min_wage: 最低工资筛选(可选)
  • max_results: 返回的最大结果数
  • skip_agencies: 跳过外包机构(默认:true)

3. get_company_stats

获取特定公司的详细H-1B赞助统计信息。

  • 参数
    • company_name: 要分析的公司名称

4. get_top_sponsors

按申请量列出顶级H-1B赞助公司。

  • 参数
    • limit: 返回的公司数量
    • exclude_agencies: 排除外包机构

5. export_results

将筛选后的H-1B结果导出为CSV文件。

  • 参数
    • job_role: 要筛选的工作标题
    • city: 城市筛选(可选)
    • state: 州筛选(可选)
    • filename: 输出文件名
    • max_results: 导出的最大结果数

6. get_available_data

检查可用的LCA数据时段和缓存文件。

7. ask(自然语言接口)🎯

用简单的英语与H-1B搜索对话!

  • 用法:只需用普通语言描述你想做什么
  • 示例
    • "我是软件工程师,在湾区寻找工作机会"
    • "展示支付超过180k的数据科学家职位"
    • "哪些公司赞助最多的H-1B签证?"
    • "告诉我关于微软的H-1B项目"

本地开发

设置

git clone <your-repo-url>
cd mcp-server-template
conda create -n h1b-mcp python=3.13
conda activate h1b-mcp
pip install -r requirements.txt

使用MCP Inspector测试

# 终端1:启动服务器
python src/server.py

# 终端2:运行检查器
npx @modelcontextprotocol/inspector

打开http://localhost:3000,并使用"流式HTTP"传输连接到`http://localhost:8000/mcp`。

示例使用流程

  1. 加载数据

    工具: load_h1b_data
    参数: {"year": 2024, "quarter": 4}
    
  2. 搜索职位

    工具: search_h1b_jobs
    参数: {
      "job_role": "软件工程师",
      "state": "CA",
      "min_wage": 120000,
      "skip_agencies": true
    }
    
  3. 获取公司详情

    工具: get_company_stats
    参数: {"company_name": "谷歌"}
    
  4. 导出结果

    工具: export_results
    参数: {
      "job_role": "数据科学家",
      "state": "NY",
      "filename": "ny_data_scientists.csv"
    }
    

部署

方案1:部署到Render

点击上方的“部署到Render”按钮。

方案2:手动部署

  1. 分叉此仓库
  2. 将你的GitHub账户连接到Render
  3. 在Render上创建一个新的Web服务
  4. 连接你的分叉仓库
  5. Render会自动检测render.yaml配置

你的服务器将在https://your-service-name.onrender.com/mcp可用。

当前部署:https://h1b-job-search-mcp.onrender.com/mcp

多LLM支持

此MCP服务器支持多个LLM平台。有关详细的集成说明,请参阅docs/LLM_INTEGRATION.md

快速设置按平台

Claude桌面

{
  "mcpServers": {
    "h1b-search": {
      "command": "python",
      "args": ["/path/to/src/server.py"]
    }
  }
}

ChatGPT/OpenAI

使用PORT=8000 python src/server.py运行服务器,并使用config/openai_config.json中的OpenAPI模式。

Google Gemini

使用config/gemini_config.json中的函数声明进行配置。

Cursor IDE

config/cursor_config.json放置在.cursor/mcp-config.json中并重新加载。

互动Poke

在Poke设置中使用config/poke_config.json

详见docs/LLM_INTEGRATION.md中的完整设置指南、测试程序和故障排除。

数据源

此工具使用美国劳工部外国劳工认证数据中心公开的LCA披露数据。数据包括:

  • 雇主信息
  • 工作岗位和薪资
  • 工作地点
  • 案件状态
  • 联系信息(如有)

注意:这些数据显示了历史上的H-1B赞助模式。始终直接与雇主核实当前的赞助政策。

隐私及法律

  • 所有使用的数据均来自美国劳工部公开的数据
  • 不访问任何私人或机密信息
  • 联系雇主时请负责任且专业地使用
  • 尊重公司的沟通偏好

自定义

通过修改src/server.py添加自定义过滤逻辑或额外工具:

@mcp.tool
def custom_analysis(parameter: str) -> dict:
    """您的自定义H-1B数据分析。"""
    # 您的实现代码
    pass

故障排除

  • 数据未加载:检查您的互联网连接并验证年份/季度是否存在
  • 未找到结果:尝试更广泛的搜索词或检查不同的季度
  • 内存问题:完整数据集可能很大;考虑使用pandas中的nrows参数
  • 缓存问题:删除data_cache目录以强制重新下载

贡献

欢迎提交问题和拉取请求以改进此工具!

许可证

MIT