法国MCP服务器 - 就业搜索助手
  
一个Python实现的MCP(模型上下文协议)服务器,通过France Travail API将Gemini CLI转变为就业搜索专家助手。
🚀 主要功能
🔍 高级职位搜索
- 按关键词搜索 带高级过滤器
- 智能定位 (城市、区、邮政编码)
- 按合同类型筛选 (固定期限劳动合同、无固定期限劳动合同、临时工等)
- 经验水平 以及行业领域
📊 分析与匹配
- 自动提取简历信息 (PDF, DOCX, TXT)
- 匹配评分 在简历与工作机会之间
- 寻找相似报价 基于ROME代码
- 管道完成 搜索与排名
🗺️ 地理管理
- 自动规范化 地名
- 支持各区 (巴黎第11区,马赛第8区,等)
- 按区域搜索 附有GPS坐标
- 法国国家统计与经济研究所(INSEE)/邮政编码映射 智能的
🛠 技术架构
france-travail-job-search/
├── server.py # Serveur MCP principal
├── ft_client.py # Client API France Travail
├── auth.py # Gestion d'authentification OAuth2
├── geo_service.py # Service de géolocalisation
├── cv_parser.py # Parser de CV
├── matching.py # Algorithmes de matching
├── models.py # Modèles de données Pydantic
├── config.py # Configuration
├── logger.py # Logging structuré
└── tests/ # Tests unitaires📋 先决条件
- Python 3.10及以上版本 和
uv(推荐) - Node.js 20多个版本(或:Node.js 20+版本) 用于Gemini CLI
- 法国工作账户 提供API访问
- Gemini 命令行界面(CLI) 安装并配置
⚡ 快速安装
1. 克隆仓库
git clone https://github.com/votre-username/france-travail-job-search.git
cd france-travail-job-search2. 环境配置
# Créer l'environnement virtuel
uv venv
source .venv/bin/activate
# Installer les dépendances
uv pip install -e .3. 配置标识符
创建一个文件 .env :
FT_CLIENT_ID="votre_client_id"
FT_CLIENT_SECRET="votre_client_secret"4. 配置Gemini CLI(Gemini命令行界面)
加入到 ~/.gemini/settings.json :
{
"mcp_servers": [
{
"command": "/chemin/vers/projet/.venv/bin/python",
"args": ["/chemin/vers/projet/server.py"],
"cwd": "/chemin/vers/projet",
"name": "France Travail Job Search"
}
]
}🎯 使用
使用Gemini CLI
gemini交互示例:
- “在巴黎寻找Python开发者的全职工作机会”
- “在马赛13区寻找销售职位”
- “分析我的简历,找出最匹配的职位”
- “给我ID-12345报价的详细信息”
可用工具
| 工具 | 描述 |
|---|---|
search_offres | 带筛选条件的报价搜索 |
get_offre_details | 特定报价的详细信息 |
find_similar_jobs | 与参考相似的报价 |
extract_cv_profile | 从简历中提取个人资料 |
score_cv_against_offers | 匹配简历/职位 |
find_and_rank_offres | 完整的研究流程 |
🔧 开发
测试结构
# Lancer tous les tests
pytest
# Tests spécifiques
pytest tests/test_server.py -v
pytest tests/test_ft_client.py -v添加新工具
@mcp.tool()
async def votre_outil(param1: str, param2: int) -> str:
"""Description de l'outil"""
# Implémentation
return resultat📊 法国工作API
这个项目使用了API 招聘启事v2 法国 合作伙伴:
- OAuth2 认证 (客户端凭据)
- 自动分页 结果
- 错误处理 强壮的;结实的
- 智能缓存 为了表现/为了成绩
🤝 贡献
欢迎投稿!投稿方式如下:
- 克隆该项目
- 创建一个功能分支(
git checkout -b feature/AmazingFeature) - 提交更改(
git commit -m 'Add AmazingFeature') - 推送至分支(
git push origin feature/AmazingFeature) - 提交拉取请求(Pull Request)
代码标准
- 遵循PEP 8规范
- 为新功能添加测试
- 记录新的API
- 更新更改日志(CHANGELOG)
📝 许可证
根据MIT许可分发。见 LICENSE 以获取更多信息。
🙏 感谢
- “France Travail”可翻译为“法国就业”或“法国工作”。这个短语通常用于指代与法国就业市场、就业政策或就业相关的话题和讨论 用于访问招聘职位API
- 谷歌 用于Gemini CLI和MCP协议
- FastMCP 用于MCP服务器框架
- 开源社区 对于所使用的库
______________________________________________________________________
用心开发,助力法国求职者
