Image

Busca e processa imagens de URLs, caminhos de arquivos locais e arrays numpy, retornando-as como strings codificadas em base64.

Documentação

Servidor MCP - Image

Um servidor Model Context Protocol (MCP) que fornece ferramentas para buscar e processar imagens de URLs, caminhos de arquivos locais e arrays numpy. O servidor inclui uma ferramenta chamada fetch_images que retorna imagens como strings codificadas em base64 junto com seus tipos MIME.

Apoie-nos

Se você acha este projeto útil e gostaria de apoiar projetos futuros, considere nos comprar um café! Seu apoio nos ajuda a continuar construindo soluções inovadoras de IA.

Suas contribuições ajudam muito a alimentar nossa paixão por criar aplicações inteligentes e fáceis de usar.

Sumário

Recursos

  • Buscar imagens de URLs (http/https)
  • Carregar imagens de caminhos de arquivos locais
  • Tratamento especializado para imagens locais grandes
  • Compressão automática de imagens para imagens grandes (>1MB)
  • Processamento paralelo de múltiplas imagens
  • Mapeamento adequado de tipos MIME para diferentes extensões de arquivo
  • Tratamento abrangente de erros e registro de logs

Pré-requisitos

  • Python 3.10+
  • Gerenciador de pacotes uv (recomendado)

Instalação

  1. Clone este repositório
  2. Crie e ative um ambiente virtual usando uv:
uv venv
# On Windows:
.venv\Scripts\activate
# On Unix/MacOS:
source .venv/bin/activate
  1. Instale as dependências usando uv:
uv pip install -r requirements.txt

Executando o Servidor

Existem duas maneiras de executar o servidor MCP:

1. Método Direto

Para iniciar o servidor MCP diretamente:

uv run python mcp_image.py

2. Configurar para Windsurf/Cursor

Windsurf

Para adicionar este servidor MCP ao Windsurf:

  1. Edite o arquivo de configuração em ~/.codeium/windsurf/mcp_config.json
  2. Adicione a seguinte configuração:
{
  "mcpServers": {
    "image": {
      "command": "uv",
        "args": ["--directory", "/path/to/mcp-image", "run", "mcp_image.py"]
    }
  }
}

Cursor

Para adicionar este servidor MCP ao Cursor:

  1. Abra o Cursor e vá para Configurações (Barra de Navegação → Configurações do Cursor)
  2. Navegue até Recursos → Servidores MCP
  3. Clique em + Adicionar Novo Servidor MCP
  4. Insira a seguinte configuração:
{
  "mcpServers": {
    "image": {
      "command": "uv",
      "args": ["--directory", "/path/to/mcp-image", "run", "mcp_image.py"]
    }
  }
}

Ferramentas Disponíveis

O servidor fornece as seguintes ferramentas:

fetch_images: Busca e processa imagens de URLs ou caminhos de arquivos locais Parâmetros: image_sources: Lista de URLs ou caminhos de arquivos para imagens Retorna: Lista de imagens processadas com codificação base64 e tipos MIME

Exemplos de Uso

Agora você pode usar comandos como:

  • "Busque estas imagens: [lista de URLs ou caminhos de arquivos]"
  • "Carregue e processe esta imagem local: [caminho_do_arquivo]"

Exemplos

# URL-only test
[
  "https://upload.wikimedia.org/wikipedia/commons/thumb/7/70/Chocolate_%28blue_background%29.jpg/400px-Chocolate_%28blue_background%29.jpg",
  "https://imgs.search.brave.com/Sz7BdlhBoOmU4wZjnUkvgestdwmzOzrfc3GsiMr27Ik/rs:fit:860:0:0:0/g:ce/aHR0cHM6Ly9pbWdj/ZG4uc3RhYmxlZGlm/ZnVzaW9ud2ViLmNv/bS8yMDI0LzEwLzE4/LzJmOTY3NTViLTM0/YmQtNDczNi1iNDRh/LWJlMTVmNGM5MDBm/My5qcGc",
  "https://shigacare.fukushi.shiga.jp/mumeixxx/img/main.png"
]

# Mixed URL and local file test
[
  "https://upload.wikimedia.org/wikipedia/commons/thumb/7/70/Chocolate_%28blue_background%29.jpg/400px-Chocolate_%28blue_background%29.jpg",
  "C:\\Users\\username\\Pictures\\image1.jpg",
  "https://imgs.search.brave.com/Sz7BdlhBoOmU4wZjnUkvgestdwmzOzrfc3GsiMr27Ik/rs:fit:860:0:0:0/g:ce/aHR0cHM6Ly9pbWdj/ZG4uc3RhYmxlZGlm/ZnVzaW9ud2ViLmNv/bS8yMDI0LzEwLzE4/LzJmOTY3NTViLTM0/YmQtNDczNi1iNDRh/LWJlMTVmNGM5MDBm/My5qcGc",
  "C:\\Users\\username\\Pictures\\image2.jpg"
]

Depuração

Se você encontrar algum problema:

  1. Verifique se todas as dependências estão instaladas corretamente
  2. Confirme se o servidor está em execução e ouvindo conexões
  3. Para problemas de carregamento de imagens locais, certifique-se de que os caminhos dos arquivos estão corretos e acessíveis
  4. Para erros de "Tipo de imagem não suportado", verifique o tratamento do tipo de conteúdo
  5. Procure por mensagens de erro na saída do servidor

Contribuição

Contribuições são bem-vindas! Sinta-se à vontade para enviar um Pull Request.

Licença

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