Claude HuggingFace空间工具添加福利群:解决AI开发者的「MCP实战痛点」阅读介绍请访问 llmindset.co.uk/resources/mcp-hfspace/
通过最少的设置连接到 Hugging Face Spaces - 只需添加你的空间即可开始!
默认情况下,它连接到 black-forest-labs/FLUX.1-schnell,为 Claude Desktop 提供图像生成功能。

[!TIP] Gradio 5.28 现在通过 SSE 集成了 MCP 支持:https://huggingface.co/blog/gradio-mcp。检查你的目标空间是否启用了 MCP!
NPM 包为 @llmindset/mcp-hfspace。
为你的平台安装最新版本的 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"
]
}

要使用私有空间,请提供你的 Hugging Face Token,使用 --hf-token=hf_... 参数或 HF_TOKEN 环境变量。
如果需要,可以运行多个服务器实例以使用不同的工作目录和令牌。
默认情况下,服务器在 Claude Desktop 模式 下运行。在此模式下,图像在工具响应中返回,而其他文件保存在工作文件夹中,它们的文件路径作为消息返回。如果使用 Claude Desktop 作为客户端,这通常会提供最佳体验。
URL 也可以作为输入提供:内容会被传递到空间。
有一个“可用资源”提示,它向 Claude 提供工作目录中可用的文件和 MIME 类型。这是目前管理文件的最佳方式。
我们将使用 Claude 比较由 shuttleai/shuttle-3.1-aesthetic 和 FLUX.1-schnell 创建的图像。图像会保存到工作目录,并包含在 Claude 的上下文窗口中 - 因此 Claude 可以使用其视觉功能。

我们将使用 merve/paligemma2-vqav2 空间链接 来查询图像。在这种情况下,我们指定了工作目录中可用的文件名:我们不希望直接将图像上传到 Claude 的上下文窗口。因此,我们可以提示 Claude:
使用 paligemma 找出 "test_gemma.jpg" 中的人是谁 -> 文本输出:大卫·鲍伊

如果你要将某些内容上传到 Claude 的上下文中,请使用回形针附件按钮,否则指定文件名以供服务器直接发送。
我们也可以提供 URL。例如:使用 paligemma 检测 https://e3.365dm.com/24/12/1600x900/skynews-taylor-swift-eras-tour_6771083.jpg?20241209000914 中的人 -> 检测到图像中有一个人 - 舞台上的泰勒·斯威夫特。
在 Claude Desktop 模式 下,音频文件保存在 WORK_DIR 中,并通知 Claude 文件的创建。如果不在桌面模式下,文件会作为 base64 编码的资源返回给客户端(如果客户端支持嵌入式音频附件,则很有用)。

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

在此示例中,我们为 microsoft/OmniParser 指定了文件名,并返回了一个带注释的图像和 2 个单独的文本:描述和坐标。使用的提示是 使用 omniparser 分析 ./screenshot.png 和 使用分析生成一个复制该屏幕的工件。DawnC/Pawmatch 也很擅长这一点。

在此示例中,Claude 为 Qwen 设置了一些推理谜题,并要求后续问题以澄清。

如果需要,你可以通过将其添加到空间名称中来指定特定的 API 端点。因此,与其传入 Qwen/Qwen2.5-72B-Instruct,不如使用 Qwen/Qwen2.5-72B-Instruct/model_chat。
可以使用选项 --desktop-mode=false 或环境变量 CLAUDE_DESKTOP_MODE=false 禁用此模式。在这种情况下,内容作为嵌入的 Base64 编码资源返回。
一些推荐的空间:
为每个空间生成提示,并提供输入机会。请记住,通常空间没有配置特别有用的标签等。Claude 实际上非常擅长解决这个问题,工具描述非常丰富(但在 Claude Desktop 中不可见)。
返回 WORK_DIR 中的文件列表,并为了方便返回名称作为“使用文件...”文本。如果你想将某些内容添加到 Claude 的上下文中,请使用回形针 - 否则为 MCP 服务器指定文件名。Claude 不支持从上下文中传输资源。
私有空间支持使用 HuggingFace 令牌。令牌用于下载和保存生成的内容。
要与 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"
(... 等等)
]
}
}
}

app.py 中将函数装饰器 @spaces.GPU(duration=20) 更改为请求更少的配额来运行任务。