mcp-image-server
Version:
Servidor MCP para geração de imagens e ícones, integrado ao Vibecoding.
107 lines (88 loc) • 4.64 kB
Markdown
<p align="center">
<img src="generated-assets/image_mascote_mcp.png" alt="Mascote MCP" width="128"/>
</p>
# MCP Image Server
## Descrição
O MCP Image Server é uma aplicação projetada para gerar imagens e ícones personalizados. Ele permite que os usuários criem imagens a partir de parâmetros fornecidos e gerem ícones com base em templates e especificações. A aplicação é integrada com serviços de inteligência artificial para melhorar a qualidade das imagens geradas.
## Estrutura do Projeto
O projeto é organizado da seguinte forma:
- **src/**: Contém o código-fonte da aplicação.
- **server.ts**: Ponto de entrada da aplicação, configura o servidor e define as rotas.
- **tools/**: Contém ferramentas para geração de imagens e ícones.
- **image-generator.ts**: Classe para geração de imagens.
- **icon-generator.ts**: Classe para criação de ícones personalizados.
- **index.ts**: Exporta as classes de ferramentas.
- **services/**: Contém serviços que suportam a geração de imagens e ícones.
- **ai-image-service.ts**: Integra serviços de IA para melhorar a geração de imagens.
- **icon-library-service.ts**: Gerencia uma biblioteca de ícones pré-existentes.
- **storage-service.ts**: Lida com o armazenamento de imagens e ícones.
- **utils/**: Contém funções utilitárias.
- **image-utils.ts**: Funções para manipulação de imagens.
- **validation.ts**: Funções para validação de entradas do usuário.
- **types/**: Contém interfaces e tipos utilizados no projeto.
- **config/**: Contém configurações padrão do servidor.
- **default.json**: Configurações como portas e caminhos de armazenamento.
- **assets/**: Contém templates de imagens e ícones.
- **generated-assets/**: (IGNORADO NO GIT) Imagens e ícones gerados automaticamente
- **.env**: (IGNORADO NO GIT) Variáveis de ambiente, incluindo OPENAI_API_KEY
- **package.json**: Configuração do npm, listando dependências e scripts.
- **tsconfig.json**: Configuração do TypeScript.
## Novidades (Jul/2025)
- Geração de ícones agora utiliza IA (OpenAI DALL-E) e não apenas SVGs simples
- Corrigido bug de sintaxe no serviço de ícones
- Testes automatizados e scripts de integração para endpoints REST
- `.env` e `generated-assets/` agora são ignorados pelo Git para segurança e organização
- Adicionado endpoint `.well-known/ai-plugin.json` e `/openapi.json` para integração automática com agentes MCP/Copilot
- Validação de entradas e saídas dos endpoints para segurança e conformidade MCP
<p align="center">
<img src="generated-assets/icon_foguete_mcp_128.png" alt="Ícone de Foguete" width="64"/>
</p>
## Instalação
Para instalar o projeto, siga os passos abaixo:
1. Clone o repositório:
```
git clone <URL_DO_REPOSITORIO>
```
2. Navegue até o diretório do projeto:
```
cd mcp-image-server
```
3. Instale as dependências:
```
npm install
```
## Uso
Para iniciar o servidor:
```
npm run build
npm start
```
Ou para desenvolvimento:
```
npm run dev
```
### Integração automática com Copilot/MCP
- O servidor expõe endpoints `.well-known/ai-plugin.json` e `/openapi.json` para descoberta automática por agentes MCP e Copilot.
- Basta apontar o agente para `http://localhost:3000/.well-known/ai-plugin.json` para integração.
Após iniciar, utilize as rotas `/generate-image` e `/generate-icon` para gerar imagens e ícones via IA. Veja exemplos em `test-generate-image.js` e `test-generate-icon.js`.
## Exemplos de Integração
### Exemplo de imagem gerada
<p align="center">
<img src="generated-assets/image_mascote_mcp.png" alt="Exemplo de imagem gerada" width="128"/>
</p>
### Exemplo de ícone gerado
<p align="center">
<img src="generated-assets/icon_foguete_mcp_128.png" alt="Exemplo de ícone gerado" width="64"/>
</p>
Scripts de exemplo para testar a API:
- `test-generate-image.js`: Gera uma imagem via endpoint REST
- `test-generate-icon.js`: Gera ícones reais via IA (OpenAI)
## Segurança
- O arquivo `.env` e a pasta `generated-assets/` agora estão corretamente ignorados pelo Git.
- Entradas dos endpoints são validadas para evitar uso indevido (conforme recomendações MCP).
- Recomenda-se não expor o servidor publicamente sem autenticação.
- Ferramentas e endpoints documentados para facilitar auditoria e integração segura.
## Contribuição
Contribuições são bem-vindas! Sinta-se à vontade para abrir issues ou pull requests para melhorias e correções.
## Licença
Este projeto está licenciado sob a MIT License. Veja o arquivo LICENSE para mais detalhes.