File Convert MCP Server

Converta arquivos entre vários formatos, incluindo imagens, documentos, áudio, vídeo e mais.

Documentação

File Convert MCP Server

smithery badge

Um servidor Model Context Protocol (MCP) para converter arquivos entre diversos formatos.

File Convert é um servidor MCP projetado para lidar com a conversão de uma ampla variedade de formatos de arquivo, incluindo imagens, documentos de escritório, áudio, vídeo, texto e arquivos de dados. Ele visa fornecer transformação perfeita para formatos populares como PDF, JPG, MP4 e HTML, entre outros. Este servidor oferece um conjunto de ferramentas poderosas para converter diversos tipos de arquivo em formatos facilmente acessíveis e amplamente compatíveis, como PDF, JPG, PNG, TXT.

✨ Recursos

  • Detecção Inteligente de Tipo de Arquivo: Utiliza uma combinação de IA, TrID e magic bytes para identificação precisa do tipo de arquivo.
  • Conversão Versátil de Arquivos: Suporta conversão entre inúmeros tipos de arquivo e os seguintes formatos populares:
    • Imagens: Lida com uma vasta gama de formatos, incluindo muitos legados. Converte para PDF, JPG, PNG.
    • Documentos de Escritório: Converte para PDF, TXT, HTML.
    • Áudio/Vídeo: Converte para MP3, MP4.
    • Bancos de Dados: Converte para CSV.
    • Vários Arquivos: Oferece capacidades de conversão para outros tipos de arquivo também.

🛠️ Requisitos

  1. Python: Versão 3.12 ou superior é necessária.
  2. Ferramenta uv: Instale a ferramenta Python uv para gerenciamento eficiente de dependências e execução fácil do servidor MCP.
  3. Chave de API (Desenvolvimento): A partir de maio de 2025, o MCP está em fase de testes, e nenhuma chave de API é atualmente necessária para desenvolvimento. Para uso futuro em produção, entre em contato com a equipe Convert.Guru para obter uma chave de API.

🚀 Uso com Aplicativo Desktop

Para integrar este servidor ao seu aplicativo desktop, adicione a seguinte configuração às configurações de servidor do seu aplicativo. Se necessário, ajuste o caminho absoluto para os executáveis uv/uvx (ou uv.exe/uvx.exe no Windows).

Usando uvx (recomendado):

{
  "mcpServers": {
    "file-convert": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/convertguru/file-convert-mcp.git", "file-convert-mcp"],
      "env": {
        "CONVERT_GURU_API_KEY": "your_api_key_here"
      }
    }
  }
}

Se você clonou o repositório localmente (ajuste os caminhos conforme necessário):

{
  "mcpServers": {
    "file-convert": {
      "command": "/home/User/.local/bin/uv",
      "args": ["--directory", "/home/User/file-convert-mcp/src/file_convert_mcp", "run", "server.py"],
      "env": {
        "CONVERT_GURU_API_KEY": "your_api_key_here"
      }
    }
  }
}

Usando uvx local:

{
  "mcpServers": {
    "file-convert": {
      "command": "uvx",
      "args": ["--from", "/home/User/file-convert-mcp", "file-convert-mcp"],
      "env": {
        "CONVERT_GURU_API_KEY": "your_api_key_here"
      }
    }
  }
}

Variáveis de Ambiente

O servidor MCP suporta as seguintes variáveis de ambiente:

  • CONVERT_GURU_API_KEY: Sua chave de API Convert.Guru (opcional para desenvolvimento)
  • TRANSPORT: Método de transporte para o servidor MCP
    • "stdio" (padrão): Transporte de entrada/saída padrão
    • "http": Transporte HTTP (transmissível) com endpoints de API REST
  • PORT: Número da porta para transporte HTTP (padrão: 8000, usado apenas quando TRANSPORT=http)

Ao usar transporte HTTP, o servidor fornece endpoints adicionais:

  • GET /health - Endpoint de verificação de saúde
  • GET /tools - Lista de ferramentas MCP disponíveis

Consulte também este guia sobre como configurar ferramentas MCP no Claude Desktop.

Instalação via Smithery

Para instalar file-convert-mcp para Claude Desktop automaticamente via Smithery:

npx -y @smithery/cli install @convertguru/file-convert-mcp --client claude

🛠️ Desenvolvimento

Comece com o desenvolvimento local seguindo estes passos:

1. Clone o repositório:

git clone https://github.com/convertguru/file-convert-mcp.git

2. Busque e armazene em cache as dependências Python (opcional, uvx lida com isso automaticamente):

cd file-convert-mcp
uv sync
cd ..

3. Crie o arquivo .env com sua chave de API (opcional por enquanto):

echo "CONVERT_GURU_API_KEY=your_api_key_here" > file-convert-mcp/.env

4. Execute o servidor MCP localmente usando vários comandos uv:

# Using uvx with .env file from the local directory
cd file-convert-mcp
UV_ENV_FILE=.env uvx --from ./file-convert-mcp file-convert-mcp

# OR using uv directly to run the server script
uv run file-convert-mcp/src/file_convert_mcp/server.py

# OR specifying the directory for uv
uv --directory file-convert-mcp/src/file_convert_mcp run server.py

# OR navigating into the server directory
cd file-convert-mcp/src/file_convert_mcp
uv run server.py

# OR using uvx to fetch the core from the GitHub repository + local .env file
UV_ENV_FILE=.env uvx --from git+https://github.com/convertguru/file-convert-mcp.git file-convert-mcp

# OR run with HTTP transport on custom port
TRANSPORT=http PORT=9000 uv run file-convert-mcp/src/file_convert_mcp/server.py

# OR run with stdio transport (default)
TRANSPORT=stdio uv run file-convert-mcp/src/file_convert_mcp/server.py

5. Crie o arquivo .env com sua configuração (opcional por enquanto):

# Basic configuration
echo "CONVERT_GURU_API_KEY=your_api_key_here" > file-convert-mcp/.env

# OR with transport configuration
echo "CONVERT_GURU_API_KEY=your_api_key_here" > file-convert-mcp/.env
echo "TRANSPORT=http" >> file-convert-mcp/.env
echo "PORT=8000" >> file-convert-mcp/.env

6. Modifique a lógica do servidor se necessário: Edite o arquivo principal do servidor localizado em src/file_convert_mcp/server.py.

7. Limpando o Cache do uv (se necessário): Se o uv tiver armazenado em cache uma versão mais antiga do código em ~/.cache/uv, você pode precisar limpar o cache. Alternativamente, use uv com a opção -n ou --no-cache para contornar isso.

⚙️ Ferramentas Disponíveis

O servidor MCP fornece as seguintes ferramentas:

  • detect_file_type: Analisa os primeiros 200 bytes de um arquivo enviado e usa a API Convert.Guru para determinar seu tipo.
  • convert_file: Converte um arquivo fornecido para um formato de saída especificado. A extensão de arquivo desejada deve ser passada como parâmetro ext_out.

📜 Licença

Visite-nos https://convert.guru

Este projeto é licenciado sob a Licença MIT - consulte o arquivo LICENSE para detalhes completos.