C

Claude HuggingFace空间工具

@evalstate/mcp-hfspace
0 Stars 437 次浏览 evalstate 更新于 2026-08-23

直接从 Claude 使用 HuggingFace Spaces。支持开源图像生成、聊天、视觉任务等。支持图像、音频和文本的上传/下载。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

mcp-hfspace MCP 服务器 🤗

在此阅读介绍 llmindset.co.uk/resources/mcp-hfspace/

只需添加你的空间即可连接到 Hugging Face Spaces

默认情况下,它会连接到 evalstate/FLUX.1-schnell,为 Claude 桌面版提供图像生成能力。

默认设置

安装

NPM 包是 @llmindset/mcp-hfspsace

为您的平台安装一个较新的 NodeJS 版本,然后将以下内容添加到 claude_desktop_config.json 文件的 mcpServers 部分:

    "mcp=hfspace": {
      "command": "npx",
      "args": [
        "-y",
        "@llmindset/mcp-hfspace"
      ]
    }

请确保您使用的是 Claude Desktop 0.78 或更高版本。

这将使您开始使用图像生成器。

基本设置

在参数中提供 HuggingFace 空间的列表。mcp-hfspace 将找到最合适的端点并自动配置以供使用。下面提供了示例 claude_desktop_config.json链接

默认情况下,当前工作目录用于文件上传/下载。在 Windows 上,这是一个读写文件夹 \users\<username>\AppData\Roaming\Claude\<version.number\,而在 MacOS 上,它是只读根目录:/

建议覆盖此设置,并设置一个工作目录来处理图像和其他基于文件的内容的上传和下载。指定 --work-dir=/your_directory 参数或 MCP_HF_WORK_DIR 环境变量。

下面是使用现代图像生成器、视觉模型和文本转语音的示例配置,同时设置了工作目录:

    "mcp-hfspace": {
      "command": "npx",
      "args": [
        "-y",
        "@llmindset/mcp-hfspace",
        "--work-dir=/Users/evalstate/mcp-store",
        "shuttleai/shuttle-jaguar",
        "styletts2/styletts2",
        "Qwen/QVQ-72B-preview"
      ]
    }

要使用私有空间,请通过 --hf-token=hf_... 参数或 HF_TOKEN 环境变量提供您的 Hugging Face 令牌。

如果需要,可以运行多个服务器实例以使用不同的工作目录和令牌。

文件处理和 Claude 桌面模式

默认情况下,服务器在 Claude 桌面模式 下运行。在这种模式下,工具响应中返回图像,而其他文件保存在工作文件夹中,其文件路径作为消息返回。如果您使用 Claude 桌面作为客户端,这通常会提供最佳体验。

也可以提供 URL 作为输入:内容将传递给 Space。

有一个“可用资源”提示,该提示向 Claude 提供来自工作目录的可用文件和 MIME 类型。目前这是管理文件的最佳方式。

示例 1 - 图像生成(下载图像 / Claude 视觉)

我们将使用 Claude 来比较由 shuttleai/shuttle-3.1-aestheticFLUX.1-schnell 创建的图像。图像被保存到工作目录中,同时也包含在 Claude 的上下文窗口中——因此 Claude 可以使用其视觉功能。

图像生成比较

示例 2 - 视觉模型(上传图像)

我们将使用 merve/paligemma2-vqav2 空间链接 来查询一张图片。在这种情况下,我们指定了工作目录中可用的文件名:我们不想直接将图片上传到 Claude 的上下文窗口。因此,我们可以这样提示 Claude:

use paligemma to find out who is in "test_gemma.jpg" -> 文本输出: david bowie
视觉 - 文件上传

如果你要向 Claude 的上下文上传内容,请使用回形针附件按钮,否则请指定文件名以便服务器直接发送。

我们也可以提供一个 URL。例如:use paligemma to detect humans in https://e3.365dm.com/24/12/1600x900/skynews-taylor-swift-eras-tour_6771083.jpg?20241209000914 -> 在图像中检测到一个人 - Taylor Swift 在舞台上。

示例 3 - 文本转语音(下载音频)

Claude 桌面模式 下,音频文件保存在 WORK_DIR 中,并且会通知 Claude 文件已创建。如果不是桌面模式,则文件将以 base64 编码资源的形式返回给客户端(如果支持嵌入式音频附件则非常有用)。

语音生成

示例 4 - 语音转文本(上传音频)

这里,我们使用 hf-audio/whisper-large-v3-turbo 来转录一些音频,并使其可供 Claude 使用。

音频转写

示例 5 - 图像转图像

在这个例子中,我们为 microsoft/OmniParser 指定文件名来使用,并得到一张带有注释的图片以及两段单独的文字:描述和坐标。使用的提示是 use omniparser to analyse ./screenshot.pnguse the analysis to produce an artifact that reproduces that screenDawnC/Pawmatch 在这方面也表现得很好。

OmniParser 和产物

示例 6 - 聊天

在这个例子中,Claude 给 Qwen 设置了一系列推理谜题,并提出了后续问题以求澄清。

Qwen 推理测试

指定 API 端点

如果需要,您可以通过将其添加到空间名称上来指定特定的 API 端点。因此,而不是传递 Qwen/Qwen2.5-72B-Instruct,您可以使用 Qwen/Qwen2.5-72B-Instruct/model_chat

Claude 桌面模式

可以通过选项 --desktop-mode=false 或环境变量 CLAUDE_DESKTOP_MODE=false 来禁用此模式。在这种情况下,内容将以嵌入式的 Base64 编码资源形式返回。

推荐的空间

一些推荐尝试的空间:

图像生成

  • shuttleai/shuttle-3.1-aesthetic
  • black-forest-labs/FLUX.1-schnell
  • yanze/PuLID-FLUX
  • Inspyrenet-Rembg (背景移除)
  • diyism/Datou1111-shou_xin - 美丽的铅笔画

聊天

  • Qwen/Qwen2.5-72B-Instruct
  • prithivMLmods/Mistral-7B-Instruct-v0.3

文本转语音 / 音频生成

  • fantaxy/Sound-AI-SFX
  • parler-tts/parler_tts

语音转文本

  • hf-audio/whisper-large-v3-turbo
  • (openai 的模型使用了未命名的参数,因此将无法工作)

文本转音乐

  • haoheliu/audioldm2-text2audio-text2music

视觉任务

  • microsoft/OmniParser
  • merve/paligemma2-vqav2
  • merve/paligemma-doc
  • DawnC/PawMatchAI
  • DawnC/PawMatchAI/on_find_match_click - 用于交互式狗狗推荐

其他功能

提示词

每个 Space 都会生成提示词,并提供输入的机会。请注意,通常 Spaces 并没有配置特别有用的标签等信息。Claude 实际上非常擅长解决这些问题,并且工具描述相当丰富(但在 Claude 桌面版中不可见)。

资源

返回 WORK_DIR 中文件列表,并方便地以“使用该文件...”文本形式显示文件名。如果你想将某些内容添加到 Claude 的上下文中,请使用回形针图标 - 否则请为 MCP 服务器指定文件名。Claude 不支持从上下文内传输资源。

私有 Space

通过 HuggingFace token 支持私有 Space。Token 用于下载和保存生成的内容。

使用 Claude 桌面版

要与 Claude 桌面版一起使用,请添加服务器配置:

在 MacOS 上: ~/Library/Application Support/Claude/claude_desktop_config.json
在 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)
        ]
    }
  }
}

已知问题和限制

mcp-hfspace

  • 当前不支持具有未命名参数的端点。
  • 从一些复杂的 Python 类型完全转换为适合的 MCP 格式。

Claude 桌面版

  • Claude 桌面版 0.75 对于来自 MCP 服务器的错误似乎没有响应,而是直接超时。对于持续的问题,请使用 MCP 检查器来更好地诊断出了什么问题。如果某项突然停止工作,可能是因为耗尽了你的 HuggingFace ZeroGPU 配额 - 稍等片刻后重试,或者设置你自己的 Space 来托管。
  • Claude 桌面版似乎使用了 60 秒的硬性超时值,并且看起来并没有使用进度通知来管理用户体验或保持活动状态。如果你正在使用 ZeroGPU 空间,大型/繁重的任务可能会超时。不过,请检查 WORK_DIR 中的结果;即使任务被中断,MCP 服务器仍然会捕获并保存结果。
  • Claude 桌面版对服务器状态、日志等方面的报告并不理想 - 使用 @modelcontextprotocol/inspector 来帮助诊断问题。

HuggingFace Spaces

  • 如果 ZeroGPU 配额或队列过长,请尝试复制空间。如果你的任务耗时少于六十秒,通常可以更改 app.py 中的函数装饰器 @spaces.GPU(duration=20) 以请求运行任务时较少的配额。
  • 传递 HF_TOKEN 将使 ZeroGPU 配额应用于你的(专业版)HF 账户
  • 如果你有一个私有空间和专用硬件,你的 HF_TOKEN 将直接访问它 - 不受配额限制。我建议在任何生产任务中使用这种方法。

第三方 MCP 服务

当然,以下是翻译后的中文内容,保持了原有的 markdown 格式,并保留了所有的代码块和链接内容:

相关 MCP 服务