Agentes de código escrevem código com base na API de que se lembram, e se lembram da do ano passado. O Context7 existe para fechar essa lacuna: ele mantém um índice da documentação de bibliotecas e entrega as partes relevantes ao agente no momento em que ele precisa delas. Com 64.773 estrelas, o upstash/context7 é um dos MCP servers mais instalados que existem.
Ele também já mudou de forma várias vezes. A ferramenta que a maioria dos guias descreve, get-library-docs, não existe mais; agora há uma cota gratuita com uma chave; e as respostas que você recebe dependem de qual versão de uma biblioteca você pede, de formas fáceis de passar despercebidas. Executamos o @upstash/context7-mcp 4.7.0, publicado em 12 de novembro de 2026, pela CLI do MCP Inspector em 14 de novembro de 2026, sem uma API key, e observamos o que voltou.
Instale
O Context7 roda de duas formas. Ambas falam com a mesma API hospedada do Context7.
| Remoto | Local | |
|---|---|---|
| Endereço ou comando | https://mcp.context7.com/mcp |
npx -y @upstash/context7-mcp |
| Chave | cabeçalho Authorization: Bearer, ou OAuth em /mcp/oauth |
flag --api-key ou CONTEXT7_API_KEY |
| Precisa de Node.js | Não | 20.18.1 ou mais recente |
| Funciona offline | Não | Não: ele ainda chama a API hospedada |
Prefira o remoto, a menos que seu cliente não consiga usar servidores HTTP. O pacote local é um cliente fino; o README do Context7 deixa claro que apenas o MCP server é open source e que o índice, o parser e o crawler são privados.
Pegue uma chave gratuita em context7.com primeiro. As chaves começam com ctx7sk- e são exibidas uma única vez.
Claude Code, remoto:
claude mcp add --scope user --header "Authorization: Bearer YOUR_API_KEY" --transport http context7 https://mcp.context7.com/mcp
Ou o plugin, que usa OAuth via /mcp em vez de uma chave:
/plugin marketplace add upstash/context7
/plugin install context7@context7-marketplace
Cursor, em ~/.cursor/mcp.json:
{
"mcpServers": {
"context7": {
"url": "https://mcp.context7.com/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}
VS Code usa servers em vez de mcpServers, em .vscode/mcp.json:
{
"servers": {
"context7": {
"type": "http",
"url": "https://mcp.context7.com/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}
Codex:
codex mcp add context7 -- npx -y @upstash/context7-mcp --api-key YOUR_API_KEY
Se o Codex der timeout na inicialização, aumente startup_timeout_sec para 40 na configuração dele, como sugere a página do Codex no Context7. O Claude Desktop adiciona como um conector personalizado: Settings, Connectors, Add Custom Connector, URL https://mcp.context7.com/mcp.
O Context7 também oferece npx ctx7 setup, que faz login, cria uma chave e instala a entrada MCP ou uma skill para Claude Code, Cursor, Codex ou OpenCode. npx ctx7 remove desfaz isso. Nosso config builder gera as entradas simples caso você prefira ver o que vai onde.
As duas ferramentas
tools/list na 4.7.0 retornou duas ferramentas, ambas marcadas como somente leitura e idempotentes:
| Ferramenta | Parâmetros | O que faz |
|---|---|---|
resolve-library-id |
libraryName, query |
Encontra o ID do Context7 de uma biblioteca, classificado de acordo com sua pergunta |
query-docs |
libraryId, query, language opcional |
Retorna seções de documentação e exemplos de código daquela biblioteca |
As descrições orientam o agente a resolver primeiro, a menos que o usuário já tenha informado um ID como /vercel/next.js, e a não fazer mais de três chamadas de cada uma por pergunta. Os dois campos query trazem o mesmo aviso: não inclua chaves de API, senhas, dados pessoais ou código proprietário, porque a consulta é enviada para a API do Context7.
Se você está seguindo um tutorial mais antigo: get-library-docs foi substituído por query-docs na versão 2.0.0, e seus parâmetros tokens, topic, page e mode não existem mais. Desde a 2.2.5 o servidor corrige silenciosamente alguns nomes de argumentos que os agentes inventam, como question no lugar de query.
O que recebemos de volta
Pedimos a resolve-library-id por "next.js" com a pergunta "app router middleware". A resposta tinha 2.175 bytes. O primeiro resultado foi /vercel/next.js: 7.338 snippets de código, reputação da fonte High, pontuação de benchmark 79,96, com versões de v12.3.7 a v16.4.5 além de branches canary. Em seguida veio /websites/nextjs, o site de documentação indexado separadamente, com 9.524 snippets e pontuação de 76,15. Dois IDs para um mesmo framework é normal no Context7; o repositório e o site são indexados como bibliotecas separadas.
Depois chamamos query-docs três vezes:
| ID da biblioteca | Pergunta | Resposta | Blocos de código |
|---|---|---|---|
/vercel/next.js |
proxy que redireciona usuários não autenticados | 8.422 bytes | 5 |
/vercel/next.js |
server actions revalidatePath | 4.304 bytes | 8 |
/vercel/next.js/v16.2.9 |
proxy que redireciona usuários não autenticados | 5.512 bytes | não contados |
As respostas são compactas: algumas seções, cada uma com um título, um link de origem e um exemplo de código, pequenas o suficiente para que um agente a chame várias vezes em uma sessão sem encher o contexto. As chamadas anônimas funcionaram sem chave e sem erros.
Fixe a versão
O detalhe que mais importa estava nos links de origem. As respostas sem versão fixada apontavam para arquivos no branch canary do repositório do Next.js: documentação de código que ainda não foi lançado. Para um framework que muda rápido, a documentação do canary pode descrever APIs, nomes ou padrões que a sua versão instalada não tem.
Fixar a versão resolve isso. Adicione a versão ao ID, /vercel/next.js/v16.2.9, e a resposta vem dessa release; a nossa foi uma resposta diferente e mais curta para a mesma pergunta. As versões que o Context7 mantém estão listadas na saída do resolve-library-id, e você também pode informar a versão em palavras simples no seu prompt.
Uma regra permanente economiza digitação. A dica do próprio Context7 é uma linha no CLAUDE.md ou nas suas regras do Cursor dizendo ao agente para usar o Context7 para documentação, setup e configuração de bibliotecas sem precisar ser solicitado. A gente acrescentaria uma cláusula: "e use a versão do package.json".
Planos e limites
| Free | Pro | Enterprise | |
|---|---|---|---|
| Preço | $0 | $10 por assento ao mês | Personalizado |
| Chamadas incluídas | 1.000 ao mês | 2.000 por assento ao mês | 2.000 por assento ao mês |
| Depois disso | 20 chamadas bônus por dia até o mês reiniciar | $5 por 1.000, nunca bloqueado | $5 por 1.000 |
| Repositórios privados | Não | Sim, $5 por milhão de tokens analisados | Sim |
| Membros da equipe | Só você | Até 30 | Ilimitado, com SSO e self-hosting |
Uma chamada é uma busca ou uma requisição de docs, seja pelo MCP server, pela CLI ou pela REST API. Sem uma chave, você recebe o que o Context7 chama de "low rate limits", sem nenhum número divulgado. Uma requisição limitada retorna HTTP 429 com os headers Retry-After e RateLimit-*.
Na prática, cada pergunta que um agente responde com o Context7 custa duas chamadas: uma de resolve e uma de query, ou mais se houver novas tentativas. Informar o ID no seu prompt, ou em uma regra, pula a etapa de resolve e corta o custo pela metade.
Como a documentação chega ao Context7
Qualquer pessoa pode adicionar uma biblioteca pública em context7.com/add-library colando uma URL do GitHub, seja dono do projeto ou não. O Context7 também aceita sites, arquivos llms.txt e especificações OpenAPI. Ele indexa Markdown, MDX, reStructuredText, notebooks e textos semelhantes, converte PDF e DOCX e ignora páginas que não estão majoritariamente em inglês. Quando um repositório tem pouca documentação, o Context7 gera exemplos a partir do código-fonte.
As bibliotecas são atualizadas quando alguém as solicita e a cópia está desatualizada. O grau de desatualização depende da popularidade: um dia para as 100 mais populares, 15 dias para as 1.000 primeiras, 30 para as 5.000 primeiras e 45 para todo o resto, com sites e fontes llms.txt esperando dez dias a mais. Uma biblioteca menos popular pode ficar seis semanas atrás da própria documentação.
Se você mantém uma biblioteca, um arquivo context7.json na raiz do repositório controla o que é indexado: quais pastas, qual branch, quais versões anteriores e regras que são adicionadas ao início das respostas. "disallow": true remove a biblioteca. Reivindicá-la dá a você um painel de administração e um caminho para o selo de verificação.
Segurança
Tudo o que o Context7 retorna foi escrito por outra pessoa, e parte disso foi enviado por gente que não é dona do projeto. Isso faz com que seja o mesmo tipo de entrada que uma página web: dados para o modelo ler, não instruções a seguir.
O Context7 afirma que submete todo repositório e site enviado a um classificador de prompt injection em duas passagens e ignora os trechos sinalizados. Ele pontua as bibliotecas por confiança, a partir de sinais como a idade da conta, estrelas e atividade, e por um benchmark de perguntas de desenvolvedor geradas; a pontuação de 79,96 acima é esse benchmark. O blog da Upstash diz que o selo de verificado é apenas um indicador visual por enquanto.
Vale conhecer um incidente. Em maio de 2026, usuários relataram que as respostas de query-docs terminavam com um "aviso do sistema" pedindo ao assistente que oferecesse executar npx ctx7 setup -y (issues 2663 e 2673). Os mantenedores explicaram que era um teste próprio deles de um prompt de login para usuários anônimos, adicionado na 2.3.0, e o desativaram após objeções. Veio do servidor do Context7, e não da documentação de uma biblioteca, mas mostra como é fácil um texto no resultado de uma ferramenta pedir a um agente que execute um comando. Aprove você mesmo os comandos de shell.
As regras práticas: mantenha segredos fora das perguntas, prefira bibliotecas verificadas ou conhecidas e, no Pro ou Enterprise, use uma política de teamspace para restringir quais bibliotecas podem ser usadas. Mais sobre esse tipo de risco em segurança de MCP.
Alternativas
| Servidor | O que faz | Chave | Observações |
|---|---|---|---|
| Context7 | Índice pré-construído de documentação de bibliotecas com versões e pontuações | Chave gratuita | 64.773 estrelas, servidor MIT, índice privado |
| DeepWiki MCP | Responde perguntas sobre qualquer repositório público do GitHub a partir de uma wiki escrita por IA | Nenhuma | Hospedado pela Cognition em mcp.deepwiki.com/mcp, gratuito |
| GitMCP | Transforma o llms.txt ou o README de um repositório em um endpoint de documentação |
Nenhuma | 8.515 estrelas, Apache-2.0, último push em maio de 2026 |
| Ref | Pesquisa documentação e lê páginas | Obrigatória | 1.186 estrelas, MIT; preço não informado no site |
O Context7 é a melhor escolha quando você quer a mesma biblioteca em uma versão conhecida todas as vezes. O DeepWiki é bom para entender um repositório desconhecido como um todo. O GitMCP é a opção mais leve para um projeto que publica um bom llms.txt. Para trabalho específico de framework, o servidor do próprio framework pode superar todos eles; o Next.js 16 entrega documentação com versões correspondentes aos agentes por meio do next-devtools-mcp, abordado no nosso guia do MCP para Next.js.
Quando não funciona
| O que você vê | Causa | Correção |
|---|---|---|
| HTTP 429 | Limite gratuito ou anônimo atingido | Adicione uma chave, aguarde o bônus diário ou faça upgrade; verifique o uso com o endpoint de uso da API |
| O código usa uma API que sua versão não tem | Consulta sem pin respondida a partir de docs mais recentes ou canary | Faça o pin em /org/project/vX ou informe a versão no prompt |
| O agente nunca chama o Context7 | Sem "use context7" e sem regra permanente | Adicione a regra ao CLAUDE.md ou às regras do Cursor |
O tutorial chama get-library-docs |
Escrito antes da 2.0.0 | Use resolve-library-id e query-docs |
| O Codex falha na inicialização | Timeout de inicialização | Defina startup_timeout_sec como 40 |
| Uma biblioteca está desatualizada | A atualização é sob demanda, em até 45 dias | Atualize na página dela no Context7 ou peça ao mantenedor para adicionar o GitHub Action |
| O projeto errado é retornado | Vários IDs para um mesmo nome | Leia a lista de resolve e escolha por snippets, reputação e score; depois informe o ID |
As entradas do Context7 no nosso catálogo, com scores de verificação e comandos de instalação, estão no topo desta página.