HuggingFace Spaces
Servidor para usar HuggingFace Spaces, suportando Imagens, Áudio, Texto e mais. Modo Claude Desktop para facilidade de uso.
Documentação
mcp-hfspace MCP Server 🤗
[!TIP]
Você pode acessar e configurar os serviços MCP do Hugging Face diretamente em https://hf.co/mcp,, incluindo espaços Gradio.
Este projeto foi substituído pelo Hugging Face MCP Server oficial e pelos Gradio MCP Endpoints.
Alternativamente, você pode executar o hf-mcp-server localmente como um servidor STDIO, ou com suporte robusto para SSE, HTTP de Streaming e Modo JSON de HTTP de Streaming. Isso também executa uma UI local para selecionar ferramentas e endpoints e suporta
ToolListChangedNotificationstambém.
hf.co/mcp
mcp-hfspace
Leia a introdução aqui llmindset.co.uk/resources/mcp-hfspace/
Conecte-se aos Hugging Face Spaces com configuração mínima necessária - basta adicionar seus espaços e pronto!
Por padrão, ele se conecta a black-forest-labs/FLUX.1-schnell fornecendo recursos de Geração de Imagens para o Claude Desktop.

Suporte MCP do Gradio
[!TIP] O Gradio 5.28 agora tem suporte MCP integrado via SSE: https://huggingface.co/blog/gradio-mcp. Verifique se o seu Space alvo está habilitado para MCP!
Instalação
O pacote NPM é @llmindset/mcp-hfspace.
Instale uma versão recente do NodeJS para sua plataforma e adicione o seguinte à seção mcpServers do seu arquivo claude_desktop_config.json:
"mcp-hfspace": {
"command": "npx",
"args": [
"-y",
"@llmindset/mcp-hfspace"
]
}
Certifique-se de estar usando o Claude Desktop 0.78 ou superior.
Isso permitirá que você comece com um Gerador de Imagens.
Configuração básica
Forneça uma lista de espaços HuggingFace nos argumentos. O mcp-hfspace encontrará o endpoint mais apropriado e o configurará automaticamente para uso. Um exemplo de claude_desktop_config.json é fornecido abaixo.
Por padrão, o diretório de trabalho atual é usado para upload/download de arquivos. No Windows, esta é uma pasta de leitura/gravação em \users\<username>\AppData\Roaming\Claude\<version.number\, e no MacOS é a raiz somente leitura: /.
É recomendado substituir isso e definir um Diretório de Trabalho para lidar com o upload e download de imagens e outros conteúdos baseados em arquivos. Especifique o argumento --work-dir=/your_directory ou a variável de ambiente MCP_HF_WORK_DIR.
Um exemplo de configuração para usar um gerador de imagens moderno, modelo de visão e texto para fala, com um diretório de trabalho definido, está abaixo:
"mcp-hfspace": {
"command": "npx",
"args": [
"-y",
"@llmindset/mcp-hfspace",
"--work-dir=/Users/evalstate/mcp-store",
"shuttleai/shuttle-jaguar",
"styletts2/styletts2",
"Qwen/QVQ-72B-preview"
]
}
Para usar espaços privados, forneça seu Token do Hugging Face com o argumento --hf-token=hf_... ou a variável de ambiente HF_TOKEN.
É possível executar várias instâncias do servidor para usar diferentes diretórios de trabalho e tokens, se necessário.
Manipulação de Arquivos e Modo Claude Desktop
Por padrão, o Servidor opera no Modo Claude Desktop. Neste modo, as Imagens são retornadas nas respostas das ferramentas, enquanto outros arquivos são salvos na pasta de trabalho, e seu caminho de arquivo é retornado como uma mensagem. Isso geralmente proporciona a melhor experiência se você estiver usando o Claude Desktop como cliente.
URLs também podem ser fornecidas como entradas: o conteúdo é passado para o Space.
Há um prompt "Available Resources" que fornece ao Claude os arquivos disponíveis e tipos mime do seu diretório de trabalho. Esta é atualmente a melhor maneira de gerenciar arquivos.
Exemplo 1 - Geração de Imagens (Baixar Imagem / Visão do Claude)
Usaremos o Claude para comparar imagens criadas por shuttleai/shuttle-3.1-aesthetic e FLUX.1-schnell. As imagens são salvas no Diretório de Trabalho, além de serem incluídas na janela de contexto do Claude - para que o Claude possa usar seus recursos de visão.

Exemplo 2 - Modelo de Visão (Enviar Imagem)
Usaremos merve/paligemma2-vqav2 link do space para consultar uma imagem. Neste caso, especificamos o nome do arquivo que está disponível no Diretório de Trabalho: não queremos enviar a Imagem diretamente para a janela de contexto do Claude. Então, podemos solicitar ao Claude:
use paligemma to find out who is in "test_gemma.jpg" -> Text Output: david bowie

Se você estiver enviando algo para o contexto do Claude, use o botão de Anexo com Clipe de Papel; caso contrário, especifique o nome do arquivo para o Servidor enviar diretamente.
Também podemos fornecer uma URL. Por exemplo: use paligemma to detect humans in https://e3.365dm.com/24/12/1600x900/skynews-taylor-swift-eras-tour_6771083.jpg?20241209000914 -> One person is detected in the image - Taylor Swift on stage.
Exemplo 3 - Texto para Fala (Baixar Áudio)
No Modo Claude Desktop, o arquivo de áudio é salvo no WORK_DIR, e o Claude é notificado da criação. Se não estiver no modo desktop, o arquivo é retornado como um recurso codificado em base64 para o Cliente (útil se ele suportar anexos de Áudio incorporados).

Exemplo 4 - Fala para Texto (Enviar Áudio)
Aqui, usamos hf-audio/whisper-large-v3-turbo para transcrever algum áudio e disponibilizá-lo para o Claude.

Exemplo 5 - Imagem para Imagem
Neste exemplo, especificamos o nome do arquivo para microsoft/OmniParser usar, e recebemos de volta uma Imagem anotada e 2 textos separados: descrições e coordenadas. O prompt usado foi use omniparser to analyse ./screenshot.png e use the analysis to produce an artifact that reproduces that screen. DawnC/Pawmatch também é bom nisso.

Exemplo 6 - Chat
Neste exemplo, o Claude define uma série de quebra-cabeças de raciocínio para o Qwen e faz perguntas de acompanhamento para esclarecimento.

Especificando o Endpoint da API
Se necessário, você pode especificar um Endpoint de API específico adicionando-o ao nome do space. Então, em vez de passar Qwen/Qwen2.5-72B-Instruct, você usaria Qwen/Qwen2.5-72B-Instruct/model_chat.
Modo Claude Desktop
Isso pode ser desabilitado com a opção --desktop-mode=false ou a variável de ambiente CLAUDE_DESKTOP_MODE=false. Neste caso, o conteúdo é retornado como um Recurso incorporado codificado em Base64.
Spaces Recomendados
Alguns spaces recomendados para experimentar:
Geração de Imagens
- shuttleai/shuttle-3.1-aesthetic
- black-forest-labs/FLUX.1-schnell
- yanze/PuLID-FLUX
- gokaygokay/Inspyrenet-Rembg (Remoção de Fundo)
- diyism/Datou1111-shou_xin - Lindos Desenhos a Lápis
Chat
- Qwen/Qwen2.5-72B-Instruct
- prithivMLmods/Mistral-7B-Instruct-v0.3
Texto para fala / Geração de Áudio
- fantaxy/Sound-AI-SFX
- parler-tts/parler_tts
Fala para texto
- hf-audio/whisper-large-v3-turbo
- (os modelos openai usam parâmetros sem nome, então não funcionarão)
Texto para música
- haoheliu/audioldm2-text2audio-text2music
Tarefas de Visão
- microsoft/OmniParser
- merve/paligemma2-vqav2
- merve/paligemma-doc
- DawnC/PawMatchAI
- DawnC/PawMatchAI/on_find_match_click - para recomendações interativas de cães
Outros Recursos
Prompts
Prompts para cada Space são gerados e fornecem uma oportunidade de entrada. Tenha em mente que, muitas vezes, os Spaces não são configurados com rótulos particularmente úteis, etc. O Claude é na verdade muito bom em descobrir isso, e a descrição da Ferramenta é bastante rica (mas não visível no Claude Desktop).
Recursos
Uma lista de arquivos no WORK_DIR é retornada e, por conveniência, retorna o nome como texto "Use o arquivo...". Se você quiser adicionar algo ao contexto do Claude, use o clipe de papel - caso contrário, especifique o nome do arquivo para o Servidor MCP. O Claude não suporta transmitir recursos de dentro do Contexto.
Spaces Privados
Spaces Privados são suportados com um token do HuggingFace. O Token é usado para baixar e salvar conteúdo gerado.
Usando o Claude Desktop
Para usar com o Claude Desktop, adicione a configuração do servidor:
No MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
No Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"mcp-hfspace": {
"command": "npx"
"args": [
"-y",
"@llmindset/mcp-hfspace",
"--work-dir=~/mcp-files/ or x:/temp/mcp-files/",
"--HF_TOKEN=HF_{optional token}"
"Qwen/Qwen2-72B-Instruct",
"black-forest-labs/FLUX.1-schnell",
"space/example/specific-endpint"
(... and so on)
]
}
}
}
Problemas Conhecidos e Limitações
mcp-hfspace
- Endpoints com parâmetros sem nome não são suportados no momento.
- Tradução completa de alguns tipos complexos de Python para formatos MCP adequados.
Claude Desktop
- O Claude Desktop 0.75 parece não responder a erros do Servidor MCP, expirando em vez disso. Para problemas persistentes, use o MCP Inspector para ter uma visão melhor do diagnóstico do que está dando errado. Se algo parar de funcionar de repente, provavelmente é devido ao esgotamento da sua cota ZeroGPU do HuggingFace - tente novamente após um curto período, ou configure seu próprio Space para hospedagem.
- O Claude Desktop parece usar um valor de timeout fixo de 60s e não parece usar Notificações de Progresso para gerenciar UX ou keep-alive. Se você estiver usando spaces ZeroGPU, trabalhos grandes/pesados podem expirar. Verifique o WORK_DIR para resultados; o Servidor MCP ainda capturará e salvará o resultado se ele foi produzido.
- O relatório do Claude Desktop sobre Status do Servidor, logs, etc. não é ótimo - use @modelcontextprotocol/inspector para ajudar a diagnosticar problemas.
HuggingFace Spaces
- Se as cotas ou filas do ZeroGPU estiverem muito longas, tente duplicar o space. Se o seu trabalho levar menos de sessenta segundos, você geralmente pode alterar o decorador de função
@spaces.GPU(duration=20)emapp.pypara solicitar menos cota ao executar o trabalho. - Passar HF_TOKEN fará com que as cotas ZeroGPU se apliquem à sua conta HF (Pro)
- Se você tiver um space privado e hardware dedicado, seu HF_TOKEN dará acesso direto a isso - nenhuma cota se aplica. Recomendo isso se você estiver usando para qualquer tipo de tarefa de Produção.