h

hfspace连接器

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

将 Claude Desktop 与 Hugging Face Spaces 连接起来,设置简单,能够实现图像生成、视觉任务、文本转语音和与 AI 模型聊天等功能。

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

服务介绍

mcp-hfspace MCP 服务器 🤗

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

以最少的设置连接到 Hugging Face Spaces - 只需添加您的空间并开始使用!

默认情况下,它连接到 evalstate/FLUX.1-schnell,为 Claude Desktop 提供图像生成功能。

默认设置

安装

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 Token。

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

文件处理和 Claude Desktop 模式

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

也可以提供 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 Desktop 中不可见)。

资源

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

私人空间

私人空间支持通过 HuggingFace 令牌使用。此令牌用于下载和保存生成的内容。

使用 Claude Desktop

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

在 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 Desktop

  • Claude Desktop 0.75 似乎不会响应来自 MCP 服务器的错误,而是超时。对于持续存在的问题,请使用 MCP Inspector 来更好地诊断问题所在。如果某件事突然停止工作,可能是由于耗尽了你的 HuggingFace ZeroGPU 配额 - 尝试稍后再试,或设置你自己的空间来托管。
  • Claude Desktop 似乎使用了一个固定的 60 秒超时值,并且似乎没有使用进度通知来管理用户体验或保持活动状态。如果你正在使用 ZeroGPU 空间,大型/繁重的任务可能会超时。不过,请检查 WORK_DIR 中的结果;即使是在这种情况下,MCP 服务器仍然会捕获并保存结果。
  • Claude Desktop 对服务器状态、日志等的报告效果不佳 - 使用 @modelcontextprotocol/inspector 来帮助诊断问题。

HuggingFace Spaces

  • 如果 ZeroGPU 配额或队列太长,请尝试复制空间。如果您的任务耗时少于六十秒,通常可以将 app.py 中的函数装饰器 @spaces.GPU(duration=20) 更改为在运行任务时请求较少的配额。
  • 如果您有 HuggingFace Pro 账户,请注意 Gradio API 不会为您的 ZeroGPU 任务提供额外配额 - 您需要设置 X-IP-Token 头来实现这一点。
  • 如果您有一个私有空间,并且拥有专用硬件,您的 HF_TOKEN 将直接为您提供访问权限 - 不受任何配额限制。如果您将其用于任何类型的生产任务,我推荐这种方式。

第三方 MCP 服务

相关 MCP 服务