Where does the bug appear (feature/product)?
Cursor IDE
Describe the Bug
Having an infinite “Loading tools” for Github MCP. I am using this one: GitHub - github/github-mcp-server: GitHub's official MCP Server. Had it working properly for a long time now, but suddenly today it doesn’t work anymore.
Steps to Reproduce
- Open Cursor IDE
- Open Cursor Settings → Tools & MCP
- Observe MCP server named “github”
Expected Behavior
Github MCP should be Available and Green
Screenshots / Screen Recordings
Operating System
MacOS
Current Cursor Version (Menu → About Cursor → Copy)
Version: 2.2.36 (Universal)
VSCode Version: 1.105.1
Commit: 55c9bc11e99cedd1fb93fbb7996abf779c583150
Date: 2025-12-18T06:25:21.733Z
Electron: 37.7.0
Chromium: 138.0.7204.251
Node.js: 22.20.0
V8: 13.8.258.32-electron.0
OS: Darwin arm64 23.5.0
Additional Information
Piece of mcp.json for github MCP:
“github”: {
“url”: “https://api.githubcopilot.com/mcp/”,
“headers”: {
“Authorization”: “Bearer MY_PAT_TOKEN”,
“X-MCP-Toolsets”: “default,actions”
}
},
Logs for github MCP form the Output panel:
2025-12-18 18:36:00.912 [info] Handling CreateClient action
2025-12-18 18:36:00.912 [info] Creating streamableHttp transport
2025-12-18 18:36:00.912 [info] Connecting to streamableHttp server
2025-12-18 18:36:00.912 [info] Handling CreateClient action
2025-12-18 18:36:00.912 [info] Creating streamableHttp transport
2025-12-18 18:36:00.912 [info] Connecting to streamableHttp server
2025-12-18 18:36:00.912 [info] No stored tokens found
2025-12-18 18:36:00.912 [info] No stored tokens found
2025-12-18 18:36:00.912 [info] Handling CreateClient action
2025-12-18 18:36:00.912 [info] Creating streamableHttp transport
2025-12-18 18:36:00.912 [info] Connecting to streamableHttp server
2025-12-18 18:36:00.912 [info] No stored tokens found
2025-12-18 18:36:02.500 [info] Client closed for command
2025-12-18 18:36:02.503 [error] Error connecting to streamableHttp server, falling back to SSE: [
{
“code”: “invalid_type”,
“expected”: “string”,
“received”: “array”,
“path”: [
“serverInfo”,
“icons”,
0,
“sizes”
],
“message”: “Expected string, received array”
},
{
“code”: “invalid_type”,
“expected”: “string”,
“received”: “array”,
“path”: [
“serverInfo”,
“icons”,
1,
“sizes”
],
“message”: “Expected string, received array”
}
]
2025-12-18 18:36:02.504 [error] Error connecting to streamableHttp server, falling back to SSE: [
{
“code”: “invalid_type”,
“expected”: “string”,
“received”: “array”,
“path”: [
“serverInfo”,
“icons”,
0,
“sizes”
],
“message”: “Expected string, received array”
},
{
“code”: “invalid_type”,
“expected”: “string”,
“received”: “array”,
“path”: [
“serverInfo”,
“icons”,
1,
“sizes”
],
“message”: “Expected string, received array”
}
]
2025-12-18 18:36:02.504 [info] Connecting to SSE server
2025-12-18 18:36:02.504 [info] SSE stream disconnected, transport will reconnect automatically SSE stream disconnected: AbortError: This operation was aborted
2025-12-18 18:36:02.515 [info] No stored tokens found
2025-12-18 18:36:02.539 [info] Client closed for command
2025-12-18 18:36:02.539 [error] Error connecting to streamableHttp server, falling back to SSE: [
{
“code”: “invalid_type”,
“expected”: “string”,
“received”: “array”,
“path”: [
“serverInfo”,
“icons”,
0,
“sizes”
],
“message”: “Expected string, received array”
},
{
“code”: “invalid_type”,
“expected”: “string”,
“received”: “array”,
“path”: [
“serverInfo”,
“icons”,
1,
“sizes”
],
“message”: “Expected string, received array”
}
]
2025-12-18 18:36:02.539 [error] Error connecting to streamableHttp server, falling back to SSE: [
{
“code”: “invalid_type”,
“expected”: “string”,
“received”: “array”,
“path”: [
“serverInfo”,
“icons”,
0,
“sizes”
],
“message”: “Expected string, received array”
},
{
“code”: “invalid_type”,
“expected”: “string”,
“received”: “array”,
“path”: [
“serverInfo”,
“icons”,
1,
“sizes”
],
“message”: “Expected string, received array”
}
]
2025-12-18 18:36:02.540 [info] Connecting to SSE server
2025-12-18 18:36:02.540 [info] SSE stream disconnected, transport will reconnect automatically SSE stream disconnected: AbortError: This operation was aborted
2025-12-18 18:36:02.546 [info] No stored tokens found
2025-12-18 18:36:02.582 [info] Client closed for command
2025-12-18 18:36:02.582 [error] Error connecting to streamableHttp server, falling back to SSE: [
{
“code”: “invalid_type”,
“expected”: “string”,
“received”: “array”,
“path”: [
“serverInfo”,
“icons”,
0,
“sizes”
],
“message”: “Expected string, received array”
},
{
“code”: “invalid_type”,
“expected”: “string”,
“received”: “array”,
“path”: [
“serverInfo”,
“icons”,
1,
“sizes”
],
“message”: “Expected string, received array”
}
]
2025-12-18 18:36:02.582 [error] Error connecting to streamableHttp server, falling back to SSE: [
{
“code”: “invalid_type”,
“expected”: “string”,
“received”: “array”,
“path”: [
“serverInfo”,
“icons”,
0,
“sizes”
],
“message”: “Expected string, received array”
},
{
“code”: “invalid_type”,
“expected”: “string”,
“received”: “array”,
“path”: [
“serverInfo”,
“icons”,
1,
“sizes”
],
“message”: “Expected string, received array”
}
]
2025-12-18 18:36:02.582 [info] Connecting to SSE server
2025-12-18 18:36:02.582 [info] SSE stream disconnected, transport will reconnect automatically SSE stream disconnected: AbortError: This operation was aborted
2025-12-18 18:36:02.588 [info] No stored tokens found
2025-12-18 18:36:03.371 [error] Client error for command SSE error: Non-200 status code (405)
2025-12-18 18:36:03.371 [error] Error connecting to SSE server after fallback: SSE error: Non-200 status code (405)
2025-12-18 18:36:03.371 [info] Client closed for command
2025-12-18 18:36:03.392 [error] Client error for command SSE error: Non-200 status code (405)
2025-12-18 18:36:03.392 [error] Error connecting to SSE server after fallback: SSE error: Non-200 status code (405)
2025-12-18 18:36:03.392 [info] Client closed for command
2025-12-18 18:36:03.436 [error] Client error for command SSE error: Non-200 status code (405)
2025-12-18 18:36:03.436 [error] Error connecting to SSE server after fallback: SSE error: Non-200 status code (405)
2025-12-18 18:36:03.436 [info] Client closed for command
2025-12-18 18:36:04.389 [info] Handling ListOfferings action, server stored: false
2025-12-18 18:36:04.389 [error] No server info found
2025-12-18 18:36:07.038 [info] Handling ListOfferings action, server stored: false
2025-12-18 18:36:07.038 [error] No server info found
2025-12-18 18:36:18.587 [info] Handling ListOfferings action, server stored: false
2025-12-18 18:36:18.587 [error] No server info found
2025-12-18 18:40:58.648 [info] Handling ListOfferings action, server stored: false
2025-12-18 18:40:58.648 [error] No server info found
2025-12-18 18:41:01.464 [info] Handling ListOfferings action, server stored: false
2025-12-18 18:41:01.464 [error] No server info found
2025-12-18 18:42:00.301 [info] Handling ListOfferings action, server stored: false
2025-12-18 18:42:00.301 [error] No server info found
2025-12-18 18:46:02.194 [info] Handling ListOfferings action, server stored: false
2025-12-18 18:46:02.194 [error] No server info found
2025-12-18 18:46:22.351 [info] Handling ListOfferings action, server stored: false
2025-12-18 18:46:22.351 [error] No server info found
2025-12-18 18:46:25.216 [info] Handling ListOfferings action, server stored: false
2025-12-18 18:46:25.216 [error] No server info found
2025-12-18 18:46:29.901 [info] Handling ListOfferings action, server stored: false
2025-12-18 18:46:29.901 [error] No server info found
2025-12-18 18:46:39.981 [info] Handling ListOfferings action, server stored: false
2025-12-18 18:46:39.982 [error] No server info found
Does this stop you from using Cursor
No - Cursor works, but with this issue
