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.