3D Cartoon Generator & File System Tools
Gera imagens de desenho animado em estilo 3D usando o Google Gemini AI e fornece operações seguras de sistema de arquivos.
Documentação
Servidor Combinado MCP: 3D Cartoon Generator & File System Tools
Um servidor de nível profissional que oferece duas capacidades principais:
- Geração de imagens cartoon em estilo 3D de alta qualidade usando o Google Gemini AI
- Operações seguras de sistema de arquivos para ler, escrever e gerenciar arquivos

🌟 Recursos
Geração de Imagens
- Geração de Cartoon 3D: Cria imagens cartoon em estilo 3D de alta qualidade
- Design Amigável para Crianças: Foca em visuais coloridos, lúdicos e envolventes
- Pré-visualização Instantânea: Abre automaticamente as imagens geradas no seu navegador padrão
- Armazenamento Local: Salva imagens e pré-visualizações em um diretório de saída organizado
Operações de Sistema de Arquivos
- Acesso Seguro a Arquivos: Validação de caminho e verificações de segurança
- Ler/Escrever Arquivos: Ler e escrever conteúdos de arquivos de texto
- Operações de Diretório: Listar, criar e navegar em diretórios
- Pesquisa de Arquivos: Encontrar arquivos que correspondam a padrões
Recursos do Sistema
- Configuração Profissional: Tratamento robusto de erros e registro controlado
- Suporte Multiplataforma: Manipulação inteligente de caminhos de arquivo para Windows, macOS e Linux
- Detecção Inteligente de SO: Encontra automaticamente o melhor local de salvamento para cada sistema operacional
- Controles de Segurança: Acesso restrito a diretórios por meio de configuração
🛠️ Pilha Técnica
- Framework Principal: SDK do Model Context Protocol (MCP)
- Integração de IA: Google Generative AI (Gemini)
- Runtime: Node.js v14+
- Linguagem: TypeScript
- Gerenciador de Pacotes: npm
📋 Pré-requisitos
- Node.js (v14 ou superior)
- Chave da API do Google Gemini
- TypeScript
⚙️ Instalação
- Clone o repositório:
git clone https://github.com/falahgs/mcp-3d-style-cartoon-gen-server.git
cd mcp-3d-style-cartoon-gen-server
- Instale as dependências:
npm install
- Configure o ambiente:
Crie um arquivo
.envno diretório raiz:
GEMINI_API_KEY=your_api_key_here
ALLOWED_DIRECTORIES=/path/to/allowed/dir1,/path/to/allowed/dir2
- Compile o projeto:
npm run build
🔧 Configurando o Claude Desktop com o Servidor MCP
Para integrar este servidor combinado com o Claude Desktop:
-
Localize o Arquivo de Configuração:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
- Windows:
-
Adicione a seguinte configuração:
{
"mcpServers": {
"mcp-3d-cartoon-generator": {
"command": "node",
"args": [
"path/to/your/build/index.js"
],
"env": {
"GEMINI_API_KEY": "your_gemini_api_key_here",
"IS_REMOTE": "true",
"SAVE_TO_DESKTOP": "true",
"DETECT_OS_PATHS": "true",
"ALLOWED_DIRECTORIES": "C:\\Users\\YourUsername\\Desktop,C:\\Users\\YourUsername\\Documents",
"DEBUG": "false"
}
}
}
}
Script Auxiliar do PowerShell para Windows
Para usuários do Windows, você pode usar o script fix_claude_config.ps1 incluído para configurar automaticamente o Claude Desktop:
- Edite o script para atualizar o caminho para a compilação do seu servidor e sua chave da API do Gemini
- Execute o script no PowerShell:
powershell -ExecutionPolicy Bypass -File .\fix_claude_config.ps1
Isso criará ou atualizará o arquivo de configuração com codificação e configurações adequadas.
🚀 Ferramentas Disponíveis
1. Ferramenta de Geração de Imagens
{
"name": "generate_3d_cartoon",
"description": "Generates a 3D style cartoon image for kids based on the given prompt",
"inputSchema": {
"type": "object",
"properties": {
"prompt": {
"type": "string",
"description": "The prompt describing the 3D cartoon image to generate"
},
"fileName": {
"type": "string",
"description": "The name of the output file (without extension)"
}
},
"required": ["prompt", "fileName"]
}
}
2. Ferramentas de Sistema de Arquivos
Ler Arquivo
{
"name": "read_file",
"description": "Read the contents of a file",
"inputSchema": {
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "Path to the file to read"
}
},
"required": ["path"]
}
}
Escrever Arquivo
{
"name": "write_file",
"description": "Write content to a file",
"inputSchema": {
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "Path to the file to write"
},
"content": {
"type": "string",
"description": "Content to write to the file"
}
},
"required": ["path", "content"]
}
}
Listar Diretório
{
"name": "list_directory",
"description": "List the contents of a directory",
"inputSchema": {
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "Path to the directory to list"
}
},
"required": ["path"]
}
}
Criar Diretório
{
"name": "create_directory",
"description": "Create a new directory",
"inputSchema": {
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "Path to the directory to create"
}
},
"required": ["path"]
}
}
Pesquisar Arquivos
{
"name": "search_files",
"description": "Search for files matching a pattern",
"inputSchema": {
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "Base directory to search from"
},
"pattern": {
"type": "string",
"description": "Search pattern (glob format)"
},
"excludePatterns": {
"type": "array",
"items": {
"type": "string"
},
"description": "Patterns to exclude from search (glob format)"
}
},
"required": ["path", "pattern"]
}
}
📄 Exemplo de Uso
Exemplos de Geração de Imagens
// Generate a 3D cartoon
{
"name": "generate_3d_cartoon",
"arguments": {
"prompt": "A friendly robot playing with a cat",
"fileName": "robot_cat_play"
}
}
Exemplos de Sistema de Arquivos
// Read a file
{
"name": "read_file",
"arguments": {
"path": "C:/Users/YourUsername/Documents/example.txt"
}
}
// Write a file
{
"name": "write_file",
"arguments": {
"path": "C:/Users/YourUsername/Documents/new-file.txt",
"content": "This is the content of the file."
}
}
// List directory contents
{
"name": "list_directory",
"arguments": {
"path": "C:/Users/YourUsername/Documents"
}
}
// Create a directory
{
"name": "create_directory",
"arguments": {
"path": "C:/Users/YourUsername/Documents/new-folder"
}
}
// Search for files
{
"name": "search_files",
"arguments": {
"path": "C:/Users/YourUsername/Documents",
"pattern": "*.txt",
"excludePatterns": ["temp*", "*.tmp"]
}
}
🔒 Recursos de Segurança
O servidor implementa várias medidas de segurança:
- Validação de Caminho: Todos os caminhos de arquivo são validados para garantir que estejam dentro dos diretórios permitidos.
- Diretórios Permitidos: Somente diretórios explicitamente definidos na variável de ambiente
ALLOWED_DIRECTORIESpodem ser acessados. - Proteção de Symlink: Impede o acesso a diretórios fora do escopo permitido por meio de symlinks.
- Registro Controlado: Os logs de depuração são desativados por padrão para evitar vazamento de informações.
⚙️ Opções de Configuração
Variáveis de Ambiente
| Variável | Descrição | Padrão |
|---|---|---|
GEMINI_API_KEY | Chave da API do Google Gemini para geração de imagens | (Obrigatório) |
ALLOWED_DIRECTORIES | Lista separada por vírgulas de caminhos de sistema de arquivos permitidos | Diretório inicial do usuário, diretório atual |
IS_REMOTE | Executar em modo remoto sem abrir o navegador | false |
SAVE_TO_DESKTOP | Forçar salvamento no diretório da área de trabalho | false |
DETECT_OS_PATHS | Habilitar detecção de caminho específica do SO | true |
DEBUG | Habilitar registro de depuração detalhado | false |
🛠️ Solução de Problemas
Problemas Comuns:
-
Erros de Análise JSON no Claude:
- Garanta que
DEBUGesteja definido como "false" para evitar que os logs interfiram na comunicação JSON - Verifique a formatação JSON adequada na configuração do Claude
- Garanta que
-
Acesso Negado a Arquivos:
- Verifique se os caminhos que você está tentando acessar estão incluídos em
ALLOWED_DIRECTORIES - Verifique as permissões de arquivo nos arquivos/diretórios de destino
- Verifique se os caminhos que você está tentando acessar estão incluídos em
-
Imagens Não Sendo Salvas:
- Defina
SAVE_TO_DESKTOPcomo "true" para garantir que as imagens sejam salvas na área de trabalho - Verifique a detecção do caminho da área de trabalho nos logs do servidor (ative DEBUG temporariamente)
- Defina
📄 Licença
🤝 Contribuição
Contribuições são bem-vindas! Sinta-se à vontade para enviar um Pull Request.