HDFS MCP Server

Acesse e gerencie arquivos em clusters HDFS usando o protocolo MCP, com suporte a operações como upload, download, mover e copiar.

Documentação

Servidor MCP HDFS

O Servidor MCP HDFS é um controlador baseado em MCP (Model Context Protocol) que fornece acesso a clusters HDFS por meio do protocolo MCP. O servidor suporta operações básicas de HDFS, como upload de arquivos, download, movimentação, cópia, e fornece tratamento amigável de erros e recursos de teste de conexão.

Requisitos

  • Python 3.11 ou superior
  • Cliente Hadoop instalado e configurado
  • Gerenciador de pacotes uv

Instalação

  1. Clone o repositório:

    git clone https://github.com/will-sh/hdfs-mcp.git
    cd hdfs-mcp
    
  2. Garanta que o Python 3.11 esteja ativo: O projeto especifica Python 3.11 no arquivo .python-version. Se você usar pyenv, ele usará automaticamente esta versão ao entrar no diretório. Se você não tiver o Python 3.11 instalado, pode instalá-lo usando:

    # Example using pyenv
    pyenv install 3.11
    
  3. Crie e ative o ambiente virtual usando uv:

    uv venv
    source .venv/bin/activate  # macOS/Linux
    # .\.venv\Scripts\activate  # Windows
    
  4. Instale as dependências usando uv:

    uv pip sync
    

Configuração do MCP

{
  "mcpServers": {
    "hdfs-controller": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/your/hdfsmcp",
        "run",
        "hdfs.py"
      ],
      "env": {
        "HDFS_NAMENODE": "your_namenode_hostname",
        "NAMENODE_PORT": "your_namenode_port"
      }
    }
  }
}

Substitua os seguintes itens pela sua configuração real:

  • /path/to/your/hdfs-mcp: Substitua pelo caminho real do seu projeto
  • your_namenode_hostname: Substitua pelo hostname do seu NameNode HDFS
  • your_namenode_port: Substitua pela porta do seu NameNode HDFS (se não for especificada, a porta padrão é 8020)

Recursos

O MCP HDFS fornece as seguintes operações de HDFS:

  • Listar conteúdo de diretórios
  • Ler conteúdo de arquivos
  • Criar diretórios
  • Excluir arquivos/diretórios
  • Enviar arquivos para o HDFS
  • Baixar arquivos do HDFS
  • Obter informações de arquivos/diretórios
  • Obter uso de disco
  • Obter status do cluster
  • Copiar/mover arquivos dentro do HDFS

Uso

  1. Garanta que o cliente Hadoop esteja instalado e configurado corretamente
  2. Garanta que a variável de ambiente HADOOP_HOME esteja definida
  3. Garanta que o comando hdfs esteja no PATH do seu sistema

Solução de Problemas

Se você encontrar problemas de conexão, verifique:

  1. Acessibilidade do NameNode HDFS
  2. Configuração da porta
  3. Conectividade de rede
  4. Configuração do cliente Hadoop
  5. Se o ticket Kerberos é válido

Observações

  • Garanta que você tenha permissões suficientes para acessar o cluster HDFS
  • Operações com arquivos grandes podem demorar mais, por favor, seja paciente
  • É recomendado testar a conexão antes das operações