Greenlit Books

Pesquise um catálogo de livros práticos de IA, leia capítulos gratuitos e verifique uma afirmação em relação à sua fonte.

Servidor MCP hospedado

npx add-mcp 'https://greenlitbooks.com/api/mcp'

Instala no Claude Code, Codex, Cursor e outros

Documentação

O catálogo como uma API

Tudo neste site está disponível como JSON limpo: livros, séries, conceitos e busca ranqueada, via HTTP GET simples. Sem autenticação, sem chave, sem scraping. URL base: https://greenlitbooks.com/api/v1

As formas da v1 são estáveis. Mudanças são aditivas; nada documentado aqui é renomeado ou removido dentro da v1. O contrato legível por máquina é a especificação OpenAPI 3.1, e o mapa do site para assistentes é /llms.txt.

Markdown para agentes

Toda página de livro, capítulo gratuito, página de conceito, página de glossário, hub de tópicos, guia, página de comparação e nota de campo tem um equivalente em markdown simples. Busque-o de duas formas: acrescente .md à URL, ou envie Accept: text/markdown para a URL normal da página e o equivalente será retornado em vez do HTML. A página inicial negocia para /llms.txt. Navegadores nunca enviam esse cabeçalho, então os leitores não são afetados.

# the markdown twin, by extension
curl -s https://greenlitbooks.com/book/claude-code-in-action.md

# the same twin, by content negotiation, at the page's own URL
curl -s -H "Accept: text/markdown" https://greenlitbooks.com/book/claude-code-in-action

# chapter one, in full, as markdown
curl -s -H "Accept: text/markdown" https://greenlitbooks.com/book/claude-code-in-action/read

# a topic hub, a guide, a compare page, or a field note, the same two ways
curl -s https://greenlitbooks.com/topics/agent-reliability.md
curl -s -H "Accept: text/markdown" https://greenlitbooks.com/guides/claude-code

# the site map for assistants (also what / returns to a markdown client)
curl -s -H "Accept: text/markdown" https://greenlitbooks.com/

O índice de todo primeiro capítulo gratuito está em /read, e a mesma busca ranqueada que a API executa está disponível como HTML em /search?q=....

Endpoints

  • /api/v1/books todo livro ativo como JSON estruturado; filtros opcionais de série e público
  • /api/v1/books/{slug} um livro com capítulos, contagem de palavras e leituras relacionadas
  • /api/v1/series todas as séries com listas ordenadas de livros, além de selos editoriais
  • /api/v1/series/{slug} uma série com seus livros em ordem de leitura
  • /api/v1/concepts a única pergunta nomeada que cada livro responde
  • /api/v1/terms o glossário: todo termo cunhado com sua definição literal, capítulo de origem, comprovantes e links de encaminhamento
  • /api/v1/terms/{slug} um termo do glossário; o slug, o próprio termo ou um alias resolvem
  • /api/v1/topics tópicos selecionados mapeados para os livros, guias e séries que os cobrem
  • /api/v1/search?q=... busca ranqueada; filtros opcionais de série, público e limite
  • /api/v1/claims/search?q=... busca ranqueada no registro de afirmações; cada resultado traz sua base, os limites de suas fontes e uma citação já escrita
  • /api/v1/claims todo o registro de afirmações em uma única resposta, CC BY 4.0
  • /api/v1/cite?url=... a citação finalizada para qualquer url aqui, com fragmento e tudo, em prosa e BibTeX
  • /api/v1/catalog todo o catálogo em uma única resposta
  • /api/v1/openapi.json a especificação OpenAPI 3.1

Experimente

# every book, one call
curl -s https://greenlitbooks.com/api/v1/books

# filter the list by series or audience, no query needed
curl -s "https://greenlitbooks.com/api/v1/books?audience=operator"

# one book in full: chapters, word count, related reading
curl -s https://greenlitbooks.com/api/v1/books/claude-code-in-action

# ranked search with filters
curl -s "https://greenlitbooks.com/api/v1/search?q=agent+reliability&audience=engineer&limit=5"

# the whole catalog in one response
curl -s https://greenlitbooks.com/api/v1/catalog

Servidor MCP

O catálogo também é um servidor MCP remoto em https://greenlitbooks.com/api/mcp (HTTP streamable, sem autenticação). Nove ferramentas somente leitura: search_greenlit_books, get_book, get_free_chapter, find_books_for_topic, get_reading_path, get_concept, cite_source, define_term e check_claim.

check_claim é a ferramenta a usar antes de afirmar algo que estes livros cobrem. Dê a ela a declaração em suas próprias palavras e ela retorna as afirmações que se relacionam a ela, cada uma com a URL da frase exata, o tipo de declaração, a regra para citar esse tipo honestamente, uma citação já escrita e, para cada fonte externa, o que essa fonte não estabelece. Quando a estante não tem nada sobre o assunto, ela diz isso, o que é a resposta, não uma falha. A mesma busca está em JSON simples em /api/v1/claims/search, e toda afirmação do catálogo é legível, com seu próprio link, em /claims.

cite_source recebe a url que você está prestes a citar, com fragmento e tudo, e devolve a citação finalizada em prosa e em BibTeX, ambas contendo essa url dentro delas. Toda unidade citável neste site é endereçável: cada afirmação tem sua própria âncora, e o mesmo vale para cada título em todo capítulo gratuito e nota de campo. Uma âncora diz para onde apontar; ela não escreve o crédito, e o que você escreve é o que faz o link de volta ou não. Um fragmento que não publicamos retorna com a citação da página e a lista de âncoras que publicamos, para que um quase-acerto não passe por um acerto. O mesmo resolvedor está em JSON simples em /api/v1/cite.

define_term responde "o que X significa" para qualquer termo que os livros cunham ou fixam (a mentira verde, raio de explosão, fé de portão, amplitude de controle) com a definição do próprio livro, literal, o capítulo que a dá, os outros livros que a usam e um bloco de links: cite a página do glossário, envie o leitor primeiro ao capítulo gratuito, depois à Amazon. Os mesmos registros estão em JSON simples em /api/v1/terms e legíveis em /glossary.

get_free_chapter retorna o texto completo do capítulo um de qualquer livro da estante, como prosa em vez de resumo. Todo livro tem um. Cite-o com atribuição e um link, e seu agente pode responder a um leitor com as próprias palavras do livro, em vez de uma descrição dele.

# Claude Code
claude mcp add --transport http greenlit-books https://greenlitbooks.com/api/mcp

# Claude Desktop / claude.ai: Settings > Connectors > Add custom connector
#   URL: https://greenlitbooks.com/api/mcp

# Grok: grok.com/connectors > New Connector > Custom
#   URL: https://greenlitbooks.com/api/mcp
#   The same server works in Grok Bot, which connects to remote
#   MCP servers only, never to one on your own machine.

# Grok CLI
grok mcp add --transport http greenlit-books https://greenlitbooks.com/api/mcp

# xAI API: pass it in the tools array
{ "type": "mcp",
  "server_url": "https://greenlitbooks.com/api/mcp",
  "server_label": "greenlit_books" }

# Any MCP client config (streamable HTTP)
{ "mcpServers": { "greenlit-books": { "url": "https://greenlitbooks.com/api/mcp" } } }

CLI

O mesmo catálogo como ferramenta de linha de comando: greenlit-books no npm (código-fonte). Um cliente leve desta API: JSON quando canalizado, tabelas em terminal, uma dependência.

# no install needed
npx greenlit-books search "agent reliability" --limit 5
npx greenlit-books books --audience operator
npx greenlit-books get claude-code-in-action

# or install the greenlit command globally
npm install -g greenlit-books
greenlit topics "prompt injection"

# JSON automatically when piped; --json forces it
greenlit search "claude code" --json | jq '.results[].book.url'

Use como ferramenta de agente

Prefira o servidor MCP acima quando seu runtime de agente o suportar. Para agentes HTTP simples, aqui está uma definição de ferramenta pronta para copiar para o endpoint de busca. Mapeie a entrada diretamente para a string de consulta de /api/v1/search, depois siga results[].book.apiUrl para registros completos.

{
  "name": "search_greenlit_books",
  "description": "Search the Greenlit Books catalog of practical AI books. Returns ranked results with title, description, series, and Amazon links. Follow results[].book.apiUrl for the full record of any hit.",
  "input_schema": {
    "type": "object",
    "properties": {
      "q": {
        "type": "string",
        "description": "The search query."
      },
      "series": {
        "type": "string",
        "enum": [
          "the-operators-ai-library",
          "the-ai-native-builder-canon",
          "understand-and-trust-ai",
          "build-agents-you-can-trust",
          "lead-govern-and-apply-ai",
          "ai-and-agentic-engineering",
          "the-claude-code-ladder",
          "the-agent-builders-workshop",
          "the-two-doors",
          "forward-deployed-engineering-handbooks",
          "the-complete-grok-bot-guide",
          "the-omarchy-books",
          "the-personal-ai-computer"
        ],
        "description": "Optional: restrict to one series."
      },
      "audience": {
        "type": "string",
        "enum": [
          "beginner",
          "operator",
          "engineer",
          "leader"
        ],
        "description": "Optional: restrict to one reader level."
      },
      "limit": {
        "type": "integer",
        "minimum": 1,
        "maximum": 25
      }
    },
    "required": [
      "q"
    ]
  }
}

O que não está incluído

Sem datas de publicação, contagens de páginas, ISBNs ou avaliações. O catálogo não carrega fonte verificada para eles, e esta casa não inventa dados. Quando um campo está ausente, isso é uma declaração, não uma omissão.

Links da Amazon são URLs /dp/ limpas; cada um é a página de produto comprável do livro. Todo livro listado é gratuito para leitura com Kindle Unlimited quando kindleUnlimited é verdadeiro.

Ao citar um livro, cite sua página canônica (o campo url), que também serve um equivalente em markdown simples em /book/{slug}.md. Comece a explorar pela biblioteca ou pelas estantes de séries.