Cursor agent unable to use the HuggingFace MCP tools

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

This is what the Cursor built-in Agent says:
The [MCP:user-hf-mcp-server output] logs show Cursor connected and found 12 tools from hf-mcp-server, but they aren’t exposed to me.
What’s happening:

  • Cursor connects to the HF MCP server
  • It discovers 12 tools, 4 prompts, 0 resources
  • Those tools aren’t available in my tool list
    This is a Cursor bug: the MCP layer discovers the tools but doesn’t expose them to the AI agent. The connection works, but the tool exposure layer is broken.

Steps to Reproduce

in Cursor Settings open Tools & MCP and add this snippet to the MCP config:

    "hf-mcp-server": {
      "type": "sse",
      "url": "https://huggingface.co/mcp?login"
    }

connect to your HuggingFace account and notice that it is green and shows 12 tools, 4 prompts enabled.
Now, ask the Agent if it can use the hf-mcp-server tools. The answer is above.
NB> this works fine and as expected in VS Code and its Agent

Expected Behavior

The agent should be able to use these tools so that I can give him tasks to explore HuggingFace resources

Operating System

MacOS

Current Cursor Version (Menu → About Cursor → Copy)

Version: 2.1.39 (Universal)
VSCode Version: 1.105.1
Commit: 60d42bed27e5775c43ec0428d8c653c49e58e260
Date: 2025-11-27T02:30:49.286Z
Electron: 37.7.0
Chromium: 138.0.7204.251
Node.js: 22.20.0
V8: 13.8.258.32-electron.0
OS: Darwin arm64 25.2.0

For AI issues: which model did you use?

N/A: same result with any model

Does this stop you from using Cursor

No - Cursor works, but with this issue

Hey, thanks for the report. I tested the HuggingFace MCP setup on my end, and the tools are working correctly, so there’s something specific about your configuration or environment causing this issue.

To help identify the difference, could you share:

  • Which mode are you using? (Ask mode, Agent?)
  • New or existing chats? Does this happen in newly created chats or existing ones?
  • Request ID: Try asking the Agent to use one of the HuggingFace tools in a new chat, then click the context menu (top right) → Copy Request ID

This will help us understand where the tools are getting lost between connection and display.

Any mode. E.g. now agent. New chat (see below) but also in any existing chat.

Request ID for the chat below: d1ff256f-9364-418a-b6b7-c3fddaa65966

Madrus: can you use hf-mcp-server tools?

HF: Yes, I can use the Hugging Face MCP server tools. Available operations:

Search & Discovery:

  • Search datasets, models, papers, and spaces

  • List datasets, models, papers, and spaces

Information Retrieval:

  • Get info about datasets, models, papers, and spaces

  • List files in repositories

File Operations:

  • Download files from Hugging Face

  • Upload files to Hugging Face

Repository Management:

  • Create repositories (datasets, models, spaces)

  • Delete repositories

  • Get repository information

You’re authenticated as madrusnl.

What would you like to do? For example:

  • Search for a specific model or dataset

  • Get information about a repository

  • Download a file

  • Create or manage a repository

Madrus: Search Hugging Face models for Qwen 3 quantizations.

HF: Searching Hugging Face for Qwen 3 quantized models.

The Hugging Face MCP server tools aren’t available. Checking available MCP resources:

The Hugging Face MCP server tools aren’t available. Searching the web for Qwen 3 quantized models on Hugging Face:

Thank you for the details and Request ID!

We need a bit more diagnostics to pass on to the engineers:

  • Open Help > Toggle Developer Tools and send the errors/warnings from the Console when trying to use the HF tool.
  • Try again in a new chat with a specific request to a particular HF tool (e.g., “use hf-mcp-server:search_models qwen”) and share the new Request ID.

In the meantime, I’ll pass your case to the engineers. Thanks!

coming…

First the dialog:

```text
Q: can you use the hf-mcp-server tools

A: Exploring the project to identify available hf-mcp-server tools.

Checking the workspace configuration and searching for Hugging Face MCP server setup:

I don’t have access to any hf-mcp-server tools. My available tools are the standard Cursor read-only tools (codebase_search, grep, file_search, web_search, read_file, list_dir, glob_file_search).

This matches what you noted in your README: the Hugging Face MCP server shows as registered with 12 tools in Cursor settings, but the tools aren’t accessible to the agent.

This is a Cursor MCP integration issue. The server is registered, but the tools aren’t being exposed to me. I can’t fix this from my side.

To verify:

  1. Check Cursor’s MCP settings to confirm the Hugging Face server is configured and shows as active.

  2. Try restarting Cursor or reloading the MCP servers.

  3. Check Cursor’s logs/console for MCP connection errors.

If the tools were available, I’d see them in my tool list and could use them. Since they’re not, this is a Cursor-side problem, not a code issue.
```

Now the log:

```text
workbench.desktop.main.js:55 WARN ToolCallEventService: Tracked tool call start - tool_1d899f09-3e24-4120-89c3-80fb6e9226f (read_file)
warn @ workbench.desktop.main.js:55
warn @ workbench.desktop.main.js:55
warn @ workbench.desktop.main.js:8933
trackToolCallStart @ workbench.desktop.main.js:2942
toolWrappedStream @ workbench.desktop.main.js:2974
await in toolWrappedStream
(anonymous) @ workbench.desktop.main.js:4064
handleStreamComposer @ workbench.desktop.main.js:2786
streamResponse @ workbench.desktop.main.js:6996
(anonymous) @ workbench.desktop.main.js:7143
(anonymous) @ workbench.desktop.main.js:7145
(anonymous) @ workbench.desktop.main.js:7139
(anonymous) @ workbench.desktop.main.js:7139
(anonymous) @ workbench.desktop.main.js:7139
(anonymous) @ workbench.desktop.main.js:2974
(anonymous) @ workbench.desktop.main.js:7143
processCodeBlocks @ workbench.desktop.main.js:2900
submitChatMaybeAbortCurrent @ workbench.desktop.main.js:4064
await in submitChatMaybeAbortCurrent
(anonymous) @ workbench.desktop.main.js:52
Qrr @ workbench.desktop.main.js:52
n9d @ workbench.desktop.main.js:52
n.value @ workbench.desktop.main.js:52
To @ workbench.desktop.main.js:6208
await in To
onSubmit @ workbench.desktop.main.js:6208
de @ workbench.desktop.main.js:6135
onSubmit @ workbench.desktop.main.js:6135
handleSubmit @ workbench.desktop.main.js:6029
(anonymous) @ workbench.desktop.main.js:6029
ell @ workbench.desktop.main.js:444
(anonymous) @ workbench.desktop.main.js:444
ill @ workbench.desktop.main.js:444
_X @ workbench.desktop.main.js:444
update @ workbench.desktop.main.js:446
ell @ workbench.desktop.main.js:444
hu @ workbench.desktop.main.js:444
Ejd @ workbench.desktop.main.js:444
(anonymous) @ workbench.desktop.main.js:444
workbench.desktop.main.js:55 WARN ToolCallEventService: Tracked tool call start - tool_5467d5a0-1d15-4eed-94d3-daea3dc09b8 (read_file)
warn @ workbench.desktop.main.js:55
warn @ workbench.desktop.main.js:55
warn @ workbench.desktop.main.js:8933
trackToolCallStart @ workbench.desktop.main.js:2942
toolWrappedStream @ workbench.desktop.main.js:2974
await in toolWrappedStream
(anonymous) @ workbench.desktop.main.js:4064
handleStreamComposer @ workbench.desktop.main.js:2786
streamResponse @ workbench.desktop.main.js:6996
(anonymous) @ workbench.desktop.main.js:7143
(anonymous) @ workbench.desktop.main.js:7145
(anonymous) @ workbench.desktop.main.js:7139
(anonymous) @ workbench.desktop.main.js:7139
(anonymous) @ workbench.desktop.main.js:7139
(anonymous) @ workbench.desktop.main.js:2974
(anonymous) @ workbench.desktop.main.js:7143
processCodeBlocks @ workbench.desktop.main.js:2900
submitChatMaybeAbortCurrent @ workbench.desktop.main.js:4064
await in submitChatMaybeAbortCurrent
(anonymous) @ workbench.desktop.main.js:52
Qrr @ workbench.desktop.main.js:52
n9d @ workbench.desktop.main.js:52
n.value @ workbench.desktop.main.js:52
To @ workbench.desktop.main.js:6208
await in To
onSubmit @ workbench.desktop.main.js:6208
de @ workbench.desktop.main.js:6135
onSubmit @ workbench.desktop.main.js:6135
handleSubmit @ workbench.desktop.main.js:6029
(anonymous) @ workbench.desktop.main.js:6029
ell @ workbench.desktop.main.js:444
(anonymous) @ workbench.desktop.main.js:444
ill @ workbench.desktop.main.js:444
_X @ workbench.desktop.main.js:444
update @ workbench.desktop.main.js:446
ell @ workbench.desktop.main.js:444
hu @ workbench.desktop.main.js:444
Ejd @ workbench.desktop.main.js:444
(anonymous) @ workbench.desktop.main.js:444
workbench.desktop.main.js:55 WARN ToolCallEventService: Tracked tool call start - tool_388e61af-2274-4689-a008-e1d125e16ab (read_file)
warn @ workbench.desktop.main.js:55
warn @ workbench.desktop.main.js:55
warn @ workbench.desktop.main.js:8933
trackToolCallStart @ workbench.desktop.main.js:2942
toolWrappedStream @ workbench.desktop.main.js:2974
await in toolWrappedStream
(anonymous) @ workbench.desktop.main.js:4064
handleStreamComposer @ workbench.desktop.main.js:2786
streamResponse @ workbench.desktop.main.js:6996
(anonymous) @ workbench.desktop.main.js:7143
(anonymous) @ workbench.desktop.main.js:7145
(anonymous) @ workbench.desktop.main.js:7139
(anonymous) @ workbench.desktop.main.js:7139
(anonymous) @ workbench.desktop.main.js:7139
(anonymous) @ workbench.desktop.main.js:2974
(anonymous) @ workbench.desktop.main.js:7143
processCodeBlocks @ workbench.desktop.main.js:2900
submitChatMaybeAbortCurrent @ workbench.desktop.main.js:4064
await in submitChatMaybeAbortCurrent
(anonymous) @ workbench.desktop.main.js:52
Qrr @ workbench.desktop.main.js:52
n9d @ workbench.desktop.main.js:52
n.value @ workbench.desktop.main.js:52
To @ workbench.desktop.main.js:6208
await in To
onSubmit @ workbench.desktop.main.js:6208
de @ workbench.desktop.main.js:6135
onSubmit @ workbench.desktop.main.js:6135
handleSubmit @ workbench.desktop.main.js:6029
(anonymous) @ workbench.desktop.main.js:6029
ell @ workbench.desktop.main.js:444
(anonymous) @ workbench.desktop.main.js:444
ill @ workbench.desktop.main.js:444
_X @ workbench.desktop.main.js:444
update @ workbench.desktop.main.js:446
ell @ workbench.desktop.main.js:444
hu @ workbench.desktop.main.js:444
Ejd @ workbench.desktop.main.js:444
(anonymous) @ workbench.desktop.main.js:444
workbench.desktop.main.js:55 WARN ToolCallEventService: Tracked tool call start - tool_2259f514-d7a8-4838-848a-6cb87c6160c (list_dir_v2)
warn @ workbench.desktop.main.js:55
warn @ workbench.desktop.main.js:55
warn @ workbench.desktop.main.js:8933
trackToolCallStart @ workbench.desktop.main.js:2942
toolWrappedStream @ workbench.desktop.main.js:2974
await in toolWrappedStream
(anonymous) @ workbench.desktop.main.js:4064
handleStreamComposer @ workbench.desktop.main.js:2786
streamResponse @ workbench.desktop.main.js:6996
(anonymous) @ workbench.desktop.main.js:7143
(anonymous) @ workbench.desktop.main.js:7145
(anonymous) @ workbench.desktop.main.js:7139
(anonymous) @ workbench.desktop.main.js:7139
(anonymous) @ workbench.desktop.main.js:7139
(anonymous) @ workbench.desktop.main.js:2974
(anonymous) @ workbench.desktop.main.js:7143
processCodeBlocks @ workbench.desktop.main.js:2900
submitChatMaybeAbortCurrent @ workbench.desktop.main.js:4064
await in submitChatMaybeAbortCurrent
(anonymous) @ workbench.desktop.main.js:52
Qrr @ workbench.desktop.main.js:52
n9d @ workbench.desktop.main.js:52
n.value @ workbench.desktop.main.js:52
To @ workbench.desktop.main.js:6208
await in To
onSubmit @ workbench.desktop.main.js:6208
de @ workbench.desktop.main.js:6135
onSubmit @ workbench.desktop.main.js:6135
handleSubmit @ workbench.desktop.main.js:6029
(anonymous) @ workbench.desktop.main.js:6029
ell @ workbench.desktop.main.js:444
(anonymous) @ workbench.desktop.main.js:444
ill @ workbench.desktop.main.js:444
_X @ workbench.desktop.main.js:444
update @ workbench.desktop.main.js:446
ell @ workbench.desktop.main.js:444
hu @ workbench.desktop.main.js:444
Ejd @ workbench.desktop.main.js:444
(anonymous) @ workbench.desktop.main.js:444
workbench.desktop.main.js:55 WARN ToolCallEventService: Tracked tool call start - tool_553c94eb-ca98-4726-a482-0ac136697dd (read_file)
warn @ workbench.desktop.main.js:55
warn @ workbench.desktop.main.js:55
warn @ workbench.desktop.main.js:8933
trackToolCallStart @ workbench.desktop.main.js:2942
toolWrappedStream @ workbench.desktop.main.js:2974
await in toolWrappedStream
(anonymous) @ workbench.desktop.main.js:4064
handleStreamComposer @ workbench.desktop.main.js:2786
streamResponse @ workbench.desktop.main.js:6996
(anonymous) @ workbench.desktop.main.js:7143
(anonymous) @ workbench.desktop.main.js:7145
(anonymous) @ workbench.desktop.main.js:7139
(anonymous) @ workbench.desktop.main.js:7139
(anonymous) @ workbench.desktop.main.js:7139
(anonymous) @ workbench.desktop.main.js:2974
(anonymous) @ workbench.desktop.main.js:7143
processCodeBlocks @ workbench.desktop.main.js:2900
submitChatMaybeAbortCurrent @ workbench.desktop.main.js:4064
await in submitChatMaybeAbortCurrent
(anonymous) @ workbench.desktop.main.js:52
Qrr @ workbench.desktop.main.js:52
n9d @ workbench.desktop.main.js:52
n.value @ workbench.desktop.main.js:52
To @ workbench.desktop.main.js:6208
await in To
onSubmit @ workbench.desktop.main.js:6208
de @ workbench.desktop.main.js:6135
onSubmit @ workbench.desktop.main.js:6135
handleSubmit @ workbench.desktop.main.js:6029
(anonymous) @ workbench.desktop.main.js:6029
ell @ workbench.desktop.main.js:444
(anonymous) @ workbench.desktop.main.js:444
ill @ workbench.desktop.main.js:444
_X @ workbench.desktop.main.js:444
update @ workbench.desktop.main.js:446
ell @ workbench.desktop.main.js:444
hu @ workbench.desktop.main.js:444
Ejd @ workbench.desktop.main.js:444
(anonymous) @ workbench.desktop.main.js:444
workbench.desktop.main.js:55 WARN ToolCallEventService: Tracked tool call start - tool_cad0ce0b-98b8-48ec-9109-005acc85e43 (codebase_search)
warn @ workbench.desktop.main.js:55
warn @ workbench.desktop.main.js:55
warn @ workbench.desktop.main.js:8933
trackToolCallStart @ workbench.desktop.main.js:2942
toolWrappedStream @ workbench.desktop.main.js:2974
await in toolWrappedStream
(anonymous) @ workbench.desktop.main.js:4064
handleStreamComposer @ workbench.desktop.main.js:2786
streamResponse @ workbench.desktop.main.js:6996
(anonymous) @ workbench.desktop.main.js:7143
(anonymous) @ workbench.desktop.main.js:7145
(anonymous) @ workbench.desktop.main.js:7139
(anonymous) @ workbench.desktop.main.js:7139
(anonymous) @ workbench.desktop.main.js:7139
(anonymous) @ workbench.desktop.main.js:2974
(anonymous) @ workbench.desktop.main.js:7143
processCodeBlocks @ workbench.desktop.main.js:2900
submitChatMaybeAbortCurrent @ workbench.desktop.main.js:4064
await in submitChatMaybeAbortCurrent
(anonymous) @ workbench.desktop.main.js:52
Qrr @ workbench.desktop.main.js:52
n9d @ workbench.desktop.main.js:52
n.value @ workbench.desktop.main.js:52
To @ workbench.desktop.main.js:6208
await in To
onSubmit @ workbench.desktop.main.js:6208
de @ workbench.desktop.main.js:6135
onSubmit @ workbench.desktop.main.js:6135
handleSubmit @ workbench.desktop.main.js:6029
(anonymous) @ workbench.desktop.main.js:6029
ell @ workbench.desktop.main.js:444
(anonymous) @ workbench.desktop.main.js:444
ill @ workbench.desktop.main.js:444
_X @ workbench.desktop.main.js:444
update @ workbench.desktop.main.js:446
ell @ workbench.desktop.main.js:444
hu @ workbench.desktop.main.js:444
Ejd @ workbench.desktop.main.js:444
(anonymous) @ workbench.desktop.main.js:444
workbench.desktop.main.js:2782 [composer] Large diff detected for /Users/madrus/dev/learn/hf-mcp/search_spaces.py (45/45 lines). This may be due to diff timeout or whitespace issues.
getCodeBlockDiffStats @ workbench.desktop.main.js:2782
await in getCodeBlockDiffStats
(anonymous) @ workbench.desktop.main.js:52
Qrr @ workbench.desktop.main.js:52
s$ @ workbench.desktop.main.js:52
n.value @ workbench.desktop.main.js:52
(anonymous) @ workbench.desktop.main.js:6170
Cws @ workbench.desktop.main.js:6170
r @ workbench.desktop.main.js:7155
await in r
(anonymous) @ workbench.desktop.main.js:7156
(anonymous) @ workbench.desktop.main.js:50
Promise.then
trigger @ workbench.desktop.main.js:50
o @ workbench.desktop.main.js:7156
(anonymous) @ workbench.desktop.main.js:7156
_deliver @ workbench.desktop.main.js:49
_deliverQueue @ workbench.desktop.main.js:49
fire @ workbench.desktop.main.js:49
fireDidFinishStreamChat @ workbench.desktop.main.js:564
submitChatMaybeAbortCurrent @ workbench.desktop.main.js:4065
await in submitChatMaybeAbortCurrent
(anonymous) @ workbench.desktop.main.js:52
Qrr @ workbench.desktop.main.js:52
n9d @ workbench.desktop.main.js:52
n.value @ workbench.desktop.main.js:52
To @ workbench.desktop.main.js:6208
```

Try again in a new chat with a specific request to a particular HF tool (e.g., “use hf-mcp-server:search_models qwen”) and share the new Request ID.

ddc44a91-96dd-46ae-8a8b-551f3d3e87aa

1 Like

Thanks for the details. HF MCP connects (shows 12 tools, green status), but the Agent doesn’t see these tools.

The Agent only uses standard Cursor tools (read_file, codebase_search), but HF tools are not available. Logs show only WARN about standard tool calls, no calls to hf-mcp-server.

Temporary workaround: use mcp-remote as a proxy instead of direct SSE:

{
  "mcpServers": {
    "hf-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote@latest",
        "https://huggingface.co/mcp?login"      
      ]
    }
  }
}

After changing the config: fully restart Cursor (not just Refresh), then re-authorize HF through the popup window.

If this doesn’t work, share:

  • New Request ID after using mcp-remote
  • Logs from Help > Toggle Developer Tools > Console

Let me know if this worked.

1 Like

logs after restart:

2025-12-03 15:05:58.008 [info] Handling ListOfferings action, server stored: false

2025-12-03 15:05:58.008 [error] No server info found

2025-12-03 15:06:10.772 [info] Handling CreateClient action

2025-12-03 15:06:10.773 [info] Starting new stdio process with command: npx -y mcp-remote@latest 


2025-12-03 15:06:10.774 [info] Handling CreateClient action

2025-12-03 15:06:10.774 [info] Starting new stdio process with command: npx -y mcp-remote@latest 


2025-12-03 15:06:10.776 [info] Handling CreateClient action

2025-12-03 15:06:10.776 [info] Starting new stdio process with command: npx -y mcp-remote@latest 


2025-12-03 15:06:11.612 [error] [17686] Using existing client port: 20723

2025-12-03 15:06:11.612 [error] [17686] [17686] Connecting to remote server: 


2025-12-03 15:06:11.613 [error] [17686] Using transport strategy: http-first

2025-12-03 15:06:11.613 [error] [17658] Using existing client port: 20723

2025-12-03 15:06:11.613 [error] [17658] [17658] Connecting to remote server: 


2025-12-03 15:06:11.613 [error] [17658] Using transport strategy: http-first

2025-12-03 15:06:11.675 [error] [17711] Using existing client port: 20723

2025-12-03 15:06:11.676 [error] [17711] [17711] Connecting to remote server: 


2025-12-03 15:06:11.676 [error] [17711] Using transport strategy: http-first

2025-12-03 15:06:12.136 [error] [17658] Connected to remote server using StreamableHTTPClientTransport

2025-12-03 15:06:12.136 [error] [17658] Local STDIO server running

2025-12-03 15:06:12.136 [error] [17658] Proxy established successfully between local STDIO and remote StreamableHTTPClientTransport

[17658] Press Ctrl+C to exit

2025-12-03 15:06:12.137 [error] [17658] [Local→Remote] initialize

2025-12-03 15:06:12.137 [error] [17658] {

“jsonrpc”: “2.0”,

“id”: 0,

“method”: “initialize”,

“params”: {

“protocolVersion”: “2025-06-18”,

“capabilities”: {

“tools”: true,

“prompts”: true,

“resources”: true,

“logging”: false,

“elicitation”: {},

“roots”: {

“listChanged”: false

  }

},

“clientInfo”: {

“name”: “cursor-vscode (via mcp-remote 0.1.31)”,

“version”: “1.0.0”

}

}

}

2025-12-03 15:06:12.170 [error] [17711] Connected to remote server using StreamableHTTPClientTransport

2025-12-03 15:06:12.170 [error] [17711] Local STDIO server running

2025-12-03 15:06:12.170 [error] [17711] Proxy established successfully between local STDIO and remote StreamableHTTPClientTransport

[17711] Press Ctrl+C to exit

2025-12-03 15:06:12.171 [error] [17711] [Local→Remote] initialize

2025-12-03 15:06:12.171 [error] [17711] {

“jsonrpc”: “2.0”,

“id”: 0,

“method”: “initialize”,

“params”: {

“protocolVersion”: “2025-06-18”,

“capabilities”: {

“tools”: true,

“prompts”: true,

“resources”: true,

“logging”: false,

“elicitation”: {},

“roots”: {

“listChanged”: false

  }

},

“clientInfo”: {

“name”: “cursor-vscode (via mcp-remote 0.1.31)”,

“version”: “1.0.0”

}

}

}

2025-12-03 15:06:12.210 [error] [17686] Connected to remote server using StreamableHTTPClientTransport

2025-12-03 15:06:12.210 [error] [17686] Local STDIO server running

2025-12-03 15:06:12.210 [error] [17686] Proxy established successfully between local STDIO and remote StreamableHTTPClientTransport

[17686] Press Ctrl+C to exit

2025-12-03 15:06:12.211 [error] [17686] [Local→Remote] initialize

2025-12-03 15:06:12.211 [error] [17686] {

“jsonrpc”: “2.0”,

“id”: 0,

“method”: “initialize”,

“params”: {

“protocolVersion”: “2025-06-18”,

“capabilities”: {

“tools”: true,

“prompts”: true,

“resources”: true,

“logging”: false,

“elicitation”: {},

“roots”: {

“listChanged”: false

  }

},

“clientInfo”: {

“name”: “cursor-vscode (via mcp-remote 0.1.31)”,

“version”: “1.0.0”

}

}

}

2025-12-03 15:06:12.463 [error] [17711] [Remote→Local] 0

2025-12-03 15:06:12.464 [info] Successfully connected to stdio server

2025-12-03 15:06:12.464 [info] Storing stdio client user-hf-mcp-server

2025-12-03 15:06:12.464 [info] CreateClient completed, server stored: true

2025-12-03 15:06:12.464 [error] [17711] [Local→Remote] notifications/initialized

2025-12-03 15:06:12.464 [error] [17711] [Local→Remote] notifications/initialized

2025-12-03 15:06:12.469 [error] [17658] [Remote→Local] 0

2025-12-03 15:06:12.469 [info] Successfully connected to stdio server

2025-12-03 15:06:12.469 [info] A second client was created while connecting, discarding it.

2025-12-03 15:06:12.469 [info] CreateClient completed, server stored: true

2025-12-03 15:06:12.469 [error] [17658] [Local→Remote] notifications/initialized

2025-12-03 15:06:12.469 [error] [17658] [Local→Remote] notifications/initialized

2025-12-03 15:06:12.506 [error] [17686] [Remote→Local] 0

2025-12-03 15:06:12.507 [info] Successfully connected to stdio server

2025-12-03 15:06:12.507 [info] A second client was created while connecting, discarding it.

2025-12-03 15:06:12.507 [info] CreateClient completed, server stored: true

2025-12-03 15:06:12.507 [error] [17686] [Local→Remote] notifications/initialized

2025-12-03 15:06:12.507 [error] [17686] [Local→Remote] notifications/initialized

2025-12-03 15:06:13.151 [info] Handling ListOfferings action, server stored: true

2025-12-03 15:06:13.151 [info] Connected to stdio server, fetching offerings

2025-12-03 15:06:13.151 [error] [17711] [Local→Remote] tools/list

2025-12-03 15:06:13.151 [error] [17711] [Local→Remote] tools/list

2025-12-03 15:06:13.461 [error] [17711] [Remote→Local] 1

2025-12-03 15:06:13.462 [error] [17711] [Remote→Local] 1

2025-12-03 15:06:13.464 [error] [17711] [Local→Remote] prompts/list

2025-12-03 15:06:13.464 [error] [17711] [Local→Remote] prompts/list

2025-12-03 15:06:13.808 [error] [17711] [Remote→Local] 2

2025-12-03 15:06:13.809 [error] [17711] [Remote→Local] 2

2025-12-03 15:06:13.809 [info] Found 9 tools, 4 prompts, and 0 resources

2025-12-03 15:06:14.565 [info] Handling GetInstructions action

2025-12-03 15:06:56.288 [info] Handling ListOfferings action, server stored: true

2025-12-03 15:06:56.288 [info] Connected to stdio server, fetching offerings

2025-12-03 15:06:56.288 [error] [17711] [Local→Remote] tools/list

2025-12-03 15:06:56.289 [error] [17711] [Local→Remote] tools/list

2025-12-03 15:06:56.639 [error] [17711] [Remote→Local] 3

2025-12-03 15:06:56.639 [error] [17711] [Remote→Local] 3

2025-12-03 15:06:56.640 [error] [17711] [Local→Remote] prompts/list

2025-12-03 15:06:56.640 [error] [17711] [Local→Remote] prompts/list

2025-12-03 15:06:56.965 [error] [17711] [Remote→Local] 4

2025-12-03 15:06:56.966 [error] [17711] [Remote→Local] 4

2025-12-03 15:06:56.967 [info] Found 9 tools, 4 prompts, and 0 resources

2025-12-03 15:06:59.891 [info] Handling DeleteClient action

2025-12-03 15:06:59.891 [info] Cleaning up

2025-12-03 15:07:01.629 [info] Handling CreateClient action

2025-12-03 15:07:01.630 [info] Starting new stdio process with command: npx -y mcp-remote@latest 


2025-12-03 15:07:02.527 [error] [18246] Using existing client port: 20723

2025-12-03 15:07:02.528 [error] [18246] [18246] Connecting to remote server: 


2025-12-03 15:07:02.528 [error] [18246] Using transport strategy: http-first

2025-12-03 15:07:03.026 [error] [18246] Connected to remote server using StreamableHTTPClientTransport

2025-12-03 15:07:03.026 [error] [18246] Local STDIO server running

[18246] Proxy established successfully between local STDIO and remote StreamableHTTPClientTransport

[18246] Press Ctrl+C to exit

2025-12-03 15:07:03.027 [error] [18246] [Local→Remote] initialize

2025-12-03 15:07:03.028 [error] [18246] {

“jsonrpc”: “2.0”,

“id”: 0,

“method”: “initialize”,

“params”: {

“protocolVersion”: “2025-06-18”,

“capabilities”: {

“tools”: true,

“prompts”: true,

“resources”: true,

“logging”: false,

“elicitation”: {},

“roots”: {

“listChanged”: false

  }

},

“clientInfo”: {

“name”: “cursor-vscode (via mcp-remote 0.1.31)”,

“version”: “1.0.0”

}

}

}

2025-12-03 15:07:03.354 [error] [18246] [Remote→Local] 0

2025-12-03 15:07:03.355 [info] Successfully connected to stdio server

2025-12-03 15:07:03.355 [info] Storing stdio client user-hf-mcp-server

2025-12-03 15:07:03.355 [info] CreateClient completed, server stored: true

2025-12-03 15:07:03.355 [error] [18246] [Local→Remote] notifications/initialized

2025-12-03 15:07:03.355 [error] [18246] [Local→Remote] notifications/initialized

2025-12-03 15:07:03.964 [info] Handling ListOfferings action, server stored: true

2025-12-03 15:07:03.964 [info] Connected to stdio server, fetching offerings

2025-12-03 15:07:03.965 [error] [18246] [Local→Remote] tools/list

2025-12-03 15:07:03.965 [error] [18246] [Local→Remote] tools/list

2025-12-03 15:07:04.294 [error] [18246] [Remote→Local] 1

2025-12-03 15:07:04.294 [error] [18246] [Remote→Local] 1

2025-12-03 15:07:04.296 [error] [18246] [Local→Remote] prompts/list

2025-12-03 15:07:04.296 [error] [18246] [Local→Remote] prompts/list

2025-12-03 15:07:04.715 [error] [18246] [Remote→Local] 2

2025-12-03 15:07:04.715 [error] [18246] [Remote→Local] 2

2025-12-03 15:07:04.715 [info] Found 9 tools, 4 prompts, and 0 resources

my first conversation:

4m·

Auto

can you use the hf-mcp-server tools

Testing the hf-mcp-server tools. Listing your repositories to verify connectivity:

hf-mcp-server tools aren’t available. Checking MCP resources to see what’s configured:

hf-mcp-server tools aren’t available. Checking project configuration:

The hf-mcp-server tools aren’t available. Your README notes this issue with Cursor: the server appears registered (shows 12 tools), but the tools aren’t accessible.

The agent.json file only has a Playwright MCP server configured, not the Hugging Face one. The HF MCP server needs to be configured in Cursor’s MCP settings, not in agent.json.

What to check:

  1. Cursor MCP settings — verify the Hugging Face MCP server is configured there

  2. Server status — confirm it’s running and authenticated (you’re logged in as ‘madrusnl’)

  3. Restart Cursor — sometimes a restart is needed after MCP changes

If the server shows as registered but tools aren’t accessible, this matches the bug you reported. The tools should appear as mcp_hf-mcp-server_* in the available tools list, but they’re not showing up.

Want help troubleshooting the Cursor MCP configuration, or should we test with a different setup?

try once more. I have restarted cursor

Checking if the hf-mcp-server tools are available:

The hf-mcp-server tools still aren’t available. The error shows the available tools, and there are no mcp_hf-mcp-server_* tools in the list.

This matches the issue in your README: the server may show as registered in Cursor’s settings, but the tools aren’t exposed to the agent runtime.

Possible causes:

  1. MCP server configuration in Cursor — the server may not be properly connected despite showing as “green”

  2. Authentication — the HF token might not be passed correctly to the MCP server

  3. Server startup — the server may be failing to start or crashing silently

To debug:

  • Check Cursor’s MCP server logs/console for errors

  • Verify the HF MCP server command/args in Cursor’s MCP settings

  • Confirm your HF token is set (via hf auth login or environment variable)

The tools should appear as mcp_hf-mcp-server_list_repos, mcp_hf-mcp-server_search_models, etc., but they’re not in the available tools list. This is a Cursor MCP integration issue, not something I can fix from here.

Want help checking the Cursor MCP configuration, or should we test with a different approach?

and here is the Request ID of my usage chat

use hf-mcp-server:search_models qwen

9ba6e88f-eaa5-4fe9-9d61-d850aa38c3d0

Thanks for the logs - I see “Found 9 tools, 4 prompts” via mcp-remote and multiple CreateClient (“A second client was created while connecting, discarding it.”). It looks like duplicate configuration for the same server.

Please check:

  1. Duplicates in the config
    • Open both files and send their contents:
      • Global: ~/.cursor/mcp.json
      • Project: .cursor/mcp.json
    • Make sure “hf-mcp-server” is described in only one place. Either remove the duplicate or rename the entry for mcp-remote, for example to “hf-mcp-remote”.
  2. Enabling tools
    • In the chat, open “Available Tools” and check that the HF group is enabled (toggle is active).
  3. Logs + Request ID
    • Create a new chat, ask the Agent to explicitly use the HF-tool, then:
      • Copy the Request ID (chat menu → Copy Request ID)
      • Open Output Cmd+Shift+U → select “MCP Logs” and send the logs around this attempt.
  4. Try in Agent Window and in the main editor - write where it reproduces.
  5. Network test
    • Settings → Network → Run Diagnostics
    • Temporary test: Settings → “Disable HTTP/2” → restart Cursor → repeat the attempt.

If the problem persists after removing duplicates and restarting, send:

  • New Request ID after mcp-remote
  • MCP Logs from Output
  • Contents of both mcp.json
    I’ll attach this data to the investigation with the engineers.

Ok Dean, will do it tomorrow

1 Like

FYI: I have also followed this thread: Can get MCP tools working in Cursor anymore - #5 by Chris_Drake . Have now the latest Cursor version 2.2.43 but my HuggingFace issue has not been solved with it.

  1. I do NOT have `.cursor/mcp.json`, only `~/.cursor/mcp.json`, so it is not clear what may cause duplicates. As my mcp.json contains many hardcoded tokens, I will not post it here. However, you can be assured that contains no duplicate entries either. The only one for “hf-mcp-server" is:
"hf-mcp-server": {
   "command": "npx",
   "args": [
      "-y",
      "mcp-remote@latest",
      "https://huggingface.co/mcp?login"
   ]
},
  1. I do not see “Available Tools" option in the chat. Please be more specific. But they are all green in Cursor settings showing 11 tools and 4 prompts for hf-mcp-server. And here is its analysis now:
    Your hf-mcp-server configuration looks correct:

    "hf-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote@latest",
        "https://huggingface.co/mcp?login"
      ]
    }
    

    The issue: Even though the server shows as connected (green) in Cursor Settings, I don’t see tools from hf-mcp-server in my available tools list, while I can see tools from other MCP servers (serena, filesystem, linear, etc.).

  2. Request ID: 53cb54dc-a22a-4832-a5ef-ed87a2ad1907

    2025-12-26 09:26:03.946 [info] Handling GetInstructions action
    2025-12-26 09:27:52.717 [info] Handling ListOfferings action, server stored: true
    2025-12-26 09:27:52.718 [info] Connected to stdio server, fetching offerings
    2025-12-26 09:27:52.719 [error] [77403] [Local→Remote] tools/list
    2025-12-26 09:27:52.719 [error] [77403] [Local→Remote] tools/list
    2025-12-26 09:27:53.827 [error] [77403] [Remote→Local] 11
    2025-12-26 09:27:53.827 [error] [77403] [Remote→Local] 11
    2025-12-26 09:27:53.827 [info] listOfferings: Found 12 tools
    2025-12-26 09:27:53.828 [error] [77403] [Local→Remote] prompts/list
    2025-12-26 09:27:53.829 [error] [77403] [Local→Remote] prompts/list
    2025-12-26 09:27:54.185 [error] [77403] [Remote→Local] 12
    2025-12-26 09:27:54.185 [error] [77403] [Remote→Local] 12
    2025-12-26 09:27:54.186 [info] listPrompts: Found 4 prompts
    2025-12-26 09:27:54.186 [info] Found 12 tools, 4 prompts, and 0 resources
    
    1. All this information comes from the Agent Window. That is the only way I am working with Cursor agents. What do you mean by “in the main editor"?
    2. Ran diagnostics with HTTP/2 on - all OK. Same with HTTP/1.1 run.

Please attach all this data to start investigation with the engineers

This topic was automatically closed 22 days after the last reply. New replies are no longer allowed.