O'RLY Book Cover Generator

Gera capas de livros O'RLY? (paródia da O'Reilly).

Documentação

orly-mcp

MCP Tool PyPI version Python versions

Cooked myself with my own MCP tool :/

Um servidor MCP (Model Context Protocol) para gerar capas de livros O'RLY? (paródia da O'Reilly) que são exibidas diretamente no aplicativo Claude Desktop.

Início Rápido

Instalar no Servidor MCP

basta adicionar o seguinte à sua configuração do mcp:

// ... other MCP servers ...
"mcp-orly": {
    "command": "uvx",
    "args": [
        "orly-mcp@latest"
    ]
}
// ... other MCP servers ...

Desenvolvimento Local

# Clone the repository
git clone [your-repo-url]
cd orly-mcp

# Create a virtual environment and install dependencies
uv venv .venv
uv pip install -r requirements.txt

# Test a sample image generation
uv run python test_mcp.py

# Run comprehensive tests
uv run python test_comprehensive.py

# Start the MCP server for development
python start_server.py

Configuração do Claude Desktop

Adicione este servidor MCP ao seu arquivo de configuração do Claude Desktop (claude_desktop_config.json):

Configuração Recomendada

{
  "mcpServers": {
    "orly-local": {
      "command": "uv",
      "args": [
        "run",
        "--with", "fastmcp",
        "--with", "pillow",
        "--with", "fonttools",
        "--with", "requests",
        "python",
        "/path/to/your/orly-mcp/orly_mcp/server.py"
      ],
      "cwd": "/path/to/your/orly-mcp"
    }
  }
}

Importante: Substitua /path/to/your/orly-mcp pelo caminho real do seu projeto.

Alternativa: Instalação via Pacote

# Install in editable mode
uv pip install -e .

# Claude Desktop config
{
  "mcpServers": {
    "orly-local": {
      "command": "uvx",
      "args": ["--from", "/your/path/to/orly-mcp", "orly-mcp"]
    }
  }
}

Solução de Problemas

Erro "ModuleNotFoundError: No module named 'mcp'"

Se você vir este erro, as dependências do MCP não estão disponíveis:

cd /path/to/your/orly-mcp
uv pip install -r requirements.txt

Certifique-se de que sua configuração do Claude Desktop inclua todas as dependências necessárias com as flags --with.

Erro "ModuleNotFoundError: No module named 'fontTools'"

Garanta que todas as dependências estejam especificadas na sua configuração do Claude Desktop:

"args": [
  "run",
  "--with", "fastmcp",
  "--with", "pillow",
  "--with", "fonttools", 
  "--with", "requests",
  "python",
  "/your/path/to/orly_mcp/server.py"
]

Testando Sua Configuração

Execute o teste abrangente para verificar se tudo funciona:

uv run python test_comprehensive.py

Usando a Ferramenta ORLY no Claude

Depois de configurado, você pode pedir ao Claude para gerar capas de livros O'RLY assim:

  • "Crie uma capa de livro O'RLY com o título 'Advanced Debugging' e autor 'Jane Developer'"
  • "Gere uma capa de livro intitulada 'Machine Learning Mistakes' com subtítulo 'What Could Go Wrong?' por 'AI Enthusiast'"
  • "Faça uma capa O'RLY para 'CSS Grid Mastery' com tema 7 e imagem 15"

✨ As imagens das capas de livros geradas serão exibidas diretamente no chat!

A ferramenta suporta estes parâmetros:

  • title (obrigatório): Título principal do livro
  • subtitle (opcional): Texto no topo da capa
  • author (opcional): Nome do autor (canto inferior direito)
  • image_code (opcional): Imagem de animal/objeto 1-40 (aleatório se não especificado)
  • theme (opcional): Tema de cor 0-16 (aleatório se não especificado)
  • guide_text_placement (opcional): Posição do texto de guia - 'top_left', 'top_right', 'bottom_left', 'bottom_right'
  • guide_text (opcional): Texto de guia personalizado (padrão: "The Definitive Guide")

Licença

Este projeto está licenciado sob a Licença MIT - consulte o arquivo LICENSE.txt para obter detalhes.

O código original de geração de capas de livros O'RLY no diretório orly_generator/ é baseado no trabalho de Charles Berlin (2016) e também está licenciado sob a Licença MIT - consulte orly_generator/LICENSE.txt para obter detalhes.

Agradecimentos

Este projeto se baseia no excelente trabalho de Charles Berlin. O código principal de geração de imagens no diretório orly_generator/ é adaptado do repositório original O-RLY-Book-Generator, atualizado para funcionar com Python 3 e integrado a uma ferramenta MCP para uso com clientes MCP como o Claude Desktop.

Publicar

(Mais para o Chris, o Autor, já que ele nunca usa Python e vai esquecer isso)

Você pode publicar rapidamente uma nova versão usando twine:

uv run twine upload dist/*

You'll be prompted to enter your PyPI API token.

You can quickly publish a new version using twine:

# Install dev dependencies (includes build and twine)
uv sync --group dev

# Build the package
uv run python -m build

# Check the built package
uv run twine check dist/*

# Publish to TestPyPI first for testing (optional)
uv run twine upload --repository testpypi dist/*

# Publish to PyPI
uv run twine upload dist/*

Certifique-se de:

  1. Atualize o número da versão em pyproject.toml
  2. Teste o pacote localmente com uv run python test_comprehensive.py
  3. Compile e publique

Para autenticação, você precisará de tokens de API do PyPI configurados no seu arquivo ~/.pypirc ou definidos como variáveis de ambiente.ons/orly-mcp.svg)](https://pypi.org/project/orly-mcp/)