vagas-mcp: o Claude organizando uma busca de emprego
Sessão real com o servidor MCP rodando por stdio, como no Claude Desktop. As chamadas e as respostas abaixo foram geradas pelo servidor no CI; as falas são ilustrativas e as empresas, fictícias. Código: github.com/arthurpenedo/vagas-mcp
O que o servidor oferece (vagas-mcp 0.2.0)
Ferramentas
registrar_vagalistar_vagasatualizar_statussalvar_descricaoresumo_do_funilvagas_paradasanalisar_aderenciasincronizar_notion
Resource e prompt
vagas://relatorio-semanalrevisao_semanal
Funil da busca
aplicada8
entrevista3
teste técnico1
oferta0
aplicada → entrevista: 38% · entrevista → teste técnico: 33% · teste técnico → oferta: 0%. Conta quem alcançou cada etapa pelo histórico: uma vaga recusada depois da entrevista conta como entrevista.
A conversa
Achei uma vaga de Analista de IA Jr na Estrela Tech, remota, pela Gupy. Guarda pra mim com a descrição.
→ registrar_vaga(empresa="Estrela Tech", cargo="Analista de IA Jr", plataforma="Gupy", modelo="remoto", link="https://exemplo.com/vaga/8", descricao="Analista de IA Júnior\nRequisitos:\n- Python e SQL\n- Experi…")
{
"id": 8,
"empresa": "Estrela Tech",
"cargo": "Analista de IA Jr",
"link": "https://exemplo.com/vaga/8",
"plataforma": "Gupy",
"modelo": "remoto",
"nivel": null,
"status": "encontrada",
"data_status": "2026-10-08",
"notas": "",
"descricao": "Analista de IA Júnior\nRequisitos:\n- Python e SQL\n- Experiência com LLMs e engenharia de prompt\n- Git\nDiferenciais:\n- AWS\n- Docker"
}Quão aderente meu currículo está a essa vaga?
→ analisar_aderencia(vaga_id=8, curriculo_arquivo="curriculo.md")
{
"vaga": "Analista de IA Jr · Estrela Tech",
"score": 87,
"required_skills": [
"Git",
"LLMs",
"Prompt engineering",
"Python",
"SQL"
],
"desired_skills": [
"AWS",
"Docker"
],
"matched_required": [
"Git",
"LLMs",
"Prompt engineering",
"Python",
"SQL"
],
"matched_desired": [
"AWS"
],
"missing_required": [],
"missing_desired": [
"Docker"
],
"keyword_coverage": 0.73,
"missing_keywords": [
"analista",
"junior",
"docker"
],
"tips": [
"Use layout de coluna única e títulos padrão (Experiência, Formação, Habilidades) para o parser do ATS."
]
}Beleza, apliquei.
→ atualizar_status(vaga_id=8, status="aplicada", nota="Enviado pela Gupy")
{
"id": 8,
"empresa": "Estrela Tech",
"cargo": "Analista de IA Jr",
"link": "https://exemplo.com/vaga/8",
"plataforma": "Gupy",
"modelo": "remoto",
"nivel": null,
"status": "aplicada",
"data_status": "2026-10-08",
"notas": "[2026-10-08] Enviado pela Gupy",
"descricao": "Analista de IA Júnior\nRequisitos:\n- Python e SQL\n- Experiência com LLMs e engenharia de prompt\n- Git\nDiferenciais:\n- AWS\n- Docker"
}Registra de novo aquela da Estrela Tech.
→ registrar_vaga(empresa="Estrela Tech", cargo="Analista de IA Jr", link="https://exemplo.com/vaga/8")
is_error: a mensagem volta para o Claude, que pode corrigir o pedido
Error executing tool registrar_vaga: Já existe uma vaga com este link (id 8).
Como está meu funil?
→ resumo_do_funil()
{
"total": 8,
"por_status": {
"aplicada": 5,
"entrevista": 1,
"recusada": 1,
"teste_tecnico": 1
},
"alcancaram": {
"aplicada": 8,
"entrevista": 3,
"teste_tecnico": 1,
"oferta": 0
},
"conversao": {
"aplicada->entrevista": 0.375,
"entrevista->teste_tecnico": 0.333,
"teste_tecnico->oferta": 0.0
}
}Quem eu preciso cobrar?
→ vagas_paradas(dias=10)
{
"id": 4,
"empresa": "Vértice Saúde",
"cargo": "Engenheiro de Prompt",
"link": "https://exemplo.com/vaga/4",
"plataforma": "site próprio",
"modelo": "remoto",
"nivel": "Júnior",
"status": "aplicada",
"data_status": "2026-09-25",
"notas": "",
"descricao": ""
}Resource vagas://relatorio-semanal
# Busca de emprego: semana de 2026-10-02 a 2026-10-08 **9 movimentações** na semana, 8 vagas no total. ## O que andou - 2026-10-02: Acme Pagamentos (Analista de IA Jr) → teste_tecnico - 2026-10-03: Nuvem Clara (Assistente de IA Generativa) → encontrada - 2026-10-04: Nuvem Clara (Assistente de IA Generativa) → aplicada - 2026-10-05: Orbital Seguros (Analista de Automação) → recusada - 2026-10-05: Banco Exemplo (Analista de Atendimento e IA) → encontrada - 2026-10-06: Loja Modelo (Analista de Dados) → entrevista - 2026-10-06: Banco Exemplo (Analista de Atendimento e IA) → aplicada - 2026-10-08: Estrela Tech (Analista de IA Jr) → encontrada - 2026-10-08: Estrela Tech (Analista de IA Jr) → aplicada ## Funil (vagas que alcançaram cada etapa) - aplicada: 8 - entrevista: 3 - teste_tecnico: 1 - oferta: 0 - conversão: aplicada->entrevista: 38%, entrevista->teste_tecnico: 33%, teste_tecnico->oferta: 0% ## Follow-ups pendentes (aplicadas há 10+ dias sem resposta) - Vértice Saúde (Engenheiro de Prompt), aplicada em 2026-09-25 - Pixel Varejo (Cientista de Dados Jr), aplicada em 2026-09-22