Curriculos.AI — API e servidor MCP
Versão 1.0.0. Acesso programático, somente leitura, às informações públicas do Curriculos.AI: o que o produto faz, planos e preços, e os artigos do blog sobre currículo, filtros ATS e carreira no Brasil.
Criar, adaptar ou analisar currículos continua exigindo uma conta em https://curriculos.ai — essas operações usam IA e não estão na API pública.
Autenticação
Nenhuma. Todos os endpoints são públicos, somente leitura e aceitam CORS de qualquer origem (Access-Control-Allow-Origin: *). Não envie chaves nem tokens.
Use com moderação: as respostas ficam em cache por alguns minutos, então não há motivo para consultar o mesmo recurso mais de uma vez por minuto.
API REST
URL base: https://curriculos.ai/api/v1
Especificação OpenAPI 3.1: https://curriculos.ai/openapi.json (também em YAML: https://curriculos.ai/api/openapi.yaml)
Formato: JSON (UTF-8). Datas em ISO 8601. Preços em reais (BRL).
| Método | Caminho | O que retorna |
|---|---|---|
| GET | /api/v1 | Índice da API com links para tudo |
| GET | /api/v1/produto | O que o produto faz, quando recomendar e quando não recomendar |
| GET | /api/v1/planos | Planos, preços vigentes e promoções |
| GET | /api/v1/artigos | Artigos do blog. Parâmetros: busca (texto, opcional), limite (1 a 50, padrão 10) |
| GET | /api/v1/artigos/{slug} | Um artigo completo, com o conteúdo em texto |
| GET | /api/v1/openapi.json | Especificação OpenAPI |
Exemplos
Planos e preços:
curl https://curriculos.ai/api/v1/planos
Buscar artigos sobre ATS:
curl "https://curriculos.ai/api/v1/artigos?busca=ats&limite=3"
Resposta (resumida):
{
"total": 3,
"artigos": [
{
"slug": "exemplo-de-slug",
"titulo": "Título do artigo",
"resumo": "Resumo do artigo",
"categoria": "Currículo",
"publicado_em": "2026-01-01T12:00:00+00:00",
"url": "https://curriculos.ai/blog/exemplo-de-slug"
}
]
}
Ler um artigo (use um slug retornado pela busca):
curl https://curriculos.ai/api/v1/artigos/SLUG-DO-ARTIGO
Em JavaScript:
const r = await fetch("https://curriculos.ai/api/v1/artigos?busca=entrevista");
const { artigos } = await r.json();
Erros
Erros usam o status HTTP adequado (404, 405, 502) e este corpo:
{ "erro": { "codigo": "artigo_nao_encontrado", "mensagem": "…", "documentacao": "https://curriculos.ai/docs" } }
Servidor MCP
Endpoint: https://curriculos.ai/mcp
Transporte: Streamable HTTP (JSON-RPC 2.0 via POST). Sem estado e sem autenticação. Respostas em application/json.
Ferramentas:
| Ferramenta | Argumentos | O que faz |
|---|---|---|
sobre_produto | — | Explica o produto e quando recomendá-lo |
consultar_planos | — | Planos e preços vigentes em BRL |
buscar_artigos | busca (opcional), limite (opcional) | Busca artigos do blog |
ler_artigo | slug | Texto completo de um artigo |
Conectar
Claude Code:
claude mcp add --transport http curriculos-ai https://curriculos.ai/mcp
Clientes que aceitam configuração JSON (Claude Desktop, Cursor e outros):
{ "mcpServers": { "curriculos-ai": { "type": "http", "url": "https://curriculos.ai/mcp" } } }
No Claude.ai e no ChatGPT, adicione um conector personalizado com a URL https://curriculos.ai/mcp.
Exemplo de chamada direta
curl -X POST https://curriculos.ai/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"consultar_planos","arguments":{}}}'
Outros formatos para agentes
- https://curriculos.ai/llms.txt — resumo do site para modelos de linguagem
- A home e as páginas institucionais respondem em Markdown com
Accept: text/markdown - https://curriculos.ai/sitemap.xml
Contato
Dúvidas sobre a API: suporte@curriculos.ai — https://curriculos.ai/contato