返回市场
MCP文件空间

MCP文件空间

作者:evalstate368 星标更新:2025-06-14

项目介绍

mcp-hfspace MCP 服务器 🤗

[!TIP]

您可以直接访问和配置 Hugging Face MCP 服务,网址为 https://hf.co/mcp,包括 Gradio 空间。

该项目已被官方的 Hugging Face MCP 服务器Gradio MCP 端点 所取代。

或者您可以在本地运行 hf-mcp-server 作为标准 I/O 服务器,或者带有对 SSE、流式 HTTP 和流式 HTTP JSON 模式的强大支持。这还将运行一个本地 UI 来选择工具和端点,并支持 ToolListChangedNotifications

hf.co/mcp

image

mcp-hfspace

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

只需最少的设置即可连接到 Hugging Face 空间 —— 只需添加您的空间并开始使用!

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

默认设置

Gradio MCP 支持

[!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

    "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 模式 运行。在这种模式下,图像返回在工具响应中,而其他文件保存在工作文件夹中,其文件路径作为消息返回。这通常会给出最佳体验,如果您使用 Claude Desktop 作为客户端。

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

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

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

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

图像生成比较

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

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

使用 paligemma 查找“test_gemma.jpg”中的谁 -> 文本输出:david bowie 视觉 - 文件上传

如果您要上传一些内容到 Claude 的上下文中,请使用纸夹附件按钮,否则指定文件名让服务器直接发送。

我们还可以提供一个 URL。例如:使用 paligemma 检测 https://e3.365dm.com/24/12/1600x900/skynews-taylor-swift-eras-tour_6771083.jpg?20241209000914 中的人类 -> 图像中检测到一个人 - 舞台上的 Taylor Swift。

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

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

语音生产

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

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

音频转录

示例 5 - 图像转图像

在这个例子中,我们指定了 microsoft/OmniParser 使用的文件名,并返回了一个注释图像和两段独立的文字:描述和坐标。使用的提示是 使用 omniparser 分析 ./screenshot.png使用分析生成一个再现该屏幕的工件DawnC/Pawmatch 在这方面也很好。

OmniParser 和工件

示例 6 - 聊天

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

Qwen 推理测试

指定 API 端点

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

Claude Desktop 模式

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

推荐的空间

一些推荐的空间供尝试:

图像生成

  • shuttleai/shuttle-3.1-aesthetic
  • black-forest-labs/FLUX.1-schnell
  • yanze/PuLID-FLUX
  • gokaygokay/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 - 用于交互式狗推荐

其他功能

提示

为每个空间生成提示,并提供输入机会。请注意,通常空间并未配置特别有用的标签等。Claude 实际上非常擅长解决这个问题,工具描述相当丰富(但在 Claude Desktop 中不可见)。

资源

返回工作目录中的文件列表,并方便地返回名为“使用文件...”的文本。如果您想将某些内容添加到 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_{可选令牌}"
        "Qwen/Qwen2-72B-Instruct",
        "black-forest-labs/FLUX.1-schnell",
        "space/example/specific-endpint"
        (... 以此类推)
        ]
    }
  }
}

已知问题和限制

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 空间

  • 如果 ZeroGPU 配额或队列过长,请尝试复制空间。如果您的作业时间少于六十秒,通常可以在 app.py 中更改函数装饰器 @spaces.GPU(duration=20) 来请求较少的配额。
  • 传递 HF_TOKEN 将使 ZeroGPU 配额应用于您的(专业)HF 账户。
  • 如果您拥有私有空间,并且有专用硬件,您的 HF_TOKEN 将直接访问该空间——不适用配额。如果用于任何类型的生产任务,我建议这样做。

第三方 MCP 服务

<a href="https://glama.ai/mcp/servers/s57c80wvgq"><img width="380" height="200" src="https://glama.ai/mcp/servers/s57c80wvgq/badge" alt="mcp-hfspace MCP 服务器" /></a>