H1B求职MCP服务器
MCP(模型上下文协议)服务器,使用 真实 美国劳工部LCA披露数据。内置 FastMCP.
🚀 实时服务器: https://h1b-job-search-mcp.onrender.com/mcp

注意:由于空闲实例上的内存限制,服务器往往会宕机。我很高兴接受服务器托管捐款。
✅ 真实数据,而非样本!
此服务器获取 实际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数据”
- “在加利福尼亚州找到薪酬超过15万美元的软件工程师工作”
- “告诉我谷歌的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求职者交谈!
- 用法用通俗易懂的语言描述你想要什么
- 例子:
- “我是一名软件工程师,正在湾区找工作” - “显示薪酬超过18万美元的数据科学家职位” - “哪些公司赞助的H-1B签证最多?” - “告诉我微软的H-1B计划”
地方发展
设置
git clone
cd mcp-server-template
conda create -n h1b-mcp python=3.13
conda activate h1b-mcp
pip install -r requirements.txt使用MCP检查员进行测试
# Terminal 1: Start the server
python src/server.py
# Terminal 2: Run the inspector
npx @modelcontextprotocol/inspector打开http://localhost:3000并连接到 http://localhost:8000/mcp 使用“流式HTTP”传输。
示例使用流程
- 加载数据:
Tool: load_h1b_data
Parameters: {"year": 2024, "quarter": 4}- 搜索职位:
Tool: search_h1b_jobs
Parameters: {
"job_role": "Software Engineer",
"state": "CA",
"min_wage": 120000,
"skip_agencies": true
}- 获取公司详细信息:
Tool: get_company_stats
Parameters: {"company_name": "Google"}- 导出结果:
Tool: export_results
Parameters: {
"job_role": "Data Scientist",
"state": "NY",
"filename": "ny_data_scientists.csv"
}部署
选项1:部署以渲染
单击上面的“部署到渲染”按钮。
选项2:手动部署
- 分叉此存储库
- 将您的GitHub帐户连接到Render
- 在Render上创建新的Web服务
- 连接您的分叉存储库
- 渲染将自动检测
render.yaml配置
您的服务器将在 https://your-service-name.onrender.com/mcp
当前部署: https://h1b-job-search-mcp.onrender.com/mcp
多LLM支持
此MCP服务器可与多个LLM平台配合使用。有关详细的集成说明,请参阅 docs/LLM_INTEGRATION.md.
按平台快速设置
克劳德桌面
{
"mcpServers": {
"h1b-search": {
"command": "python",
"args": ["/path/to/src/server.py"]
}
}
}ChatGPT/OpenAI
使用以下命令运行服务器 PORT=8000 python src/server.py 并在中使用OpenAPI模式 config/openai_config json.
谷歌双子座
使用函数声明进行配置 config/gemini_config json.
光标IDE
地方 config/cursor_config json 在 .cursor/mcp-config.json 并重新加载。
互动扑克
使用 config/poke_configure.json 在Poke设置中。
看 docs/LLM_INTEGRATION.md 获取完整的设置指南、测试程序和故障排除。
数据源
该工具使用美国劳工部外国劳工认证数据中心公开的LCA披露数据。数据包括:
- 雇主信息
- 职位名称和工资
- 工作地点
- 案例状态
- 联系方式(如有)
备注:这些数据显示了H-1B的历史赞助模式。始终直接与雇主核实当前的赞助政策。
隐私与法律
- 所有使用的数据均可从美国劳工部公开获得
- 不得访问任何私人或机密信息
- 在联系雇主时负责任地、专业地使用
- 尊重公司沟通偏好
定制
通过修改添加自定义过滤逻辑或其他工具 src/server.py:
@mcp.tool
def custom_analysis(parameter: str) -> dict:
"""Your custom H-1B data analysis."""
# Your implementation here
pass故障排除
- 数据未加载:检查您的互联网连接,并验证年份/季度是否存在
- 未找到结果:尝试更广泛的搜索词或查看不同的季度
- 内存问题:完整的数据集可能很大;考虑使用
nrowspandas中的参数 - 缓存问题:删除
data_cache强制新下载的目录
贡献
请随时提交问题和拉取请求以改进此工具!
许可证
麻省理工学院
