huggingface / huggingface/mcp-course
Confusing JSON Structure and Role Terminology in Unit 1 ("MCP Clients")
- Dominant language
- MDX
- Stars
- 918
- Forks
- 255
- PR merge metrics
- No merged PRs in 30d
Description
**Page:** [https://huggingface.co/learn/mcp-course/unit1/mcp-clients](https://huggingface.co/learn/mcp-course/unit1/mcp-clients)
---
### 📌 Context
I was going through this section and noticed a few things that may benefit from clarification. Hope this is helpful!
---
### 🔹 1. `mcp.json` structure — clarification needed
The page presents the following JSON structure:
```json
{
"servers": [
{
"name": "GitHub API",
"transport": {
"type": "stdio",
"command": "python",
"args": ["github_server.py"],
"env": {
"GITHUB_TOKEN": "your_github_token"
}
}
}
]
}
```
However, I’ve seen most MCP-compatible projects (like `Cursor`, `TRAE`, `Windsurf`, etc.) use a different structure — something like:
```json
{
"mcpServers": {
"github": {
"command": "python",
"args": ["github_server.py"],
"env": {
"GITHUB_TOKEN": "your_github_token"
}
}
}
}
```
Could you clarify the intent behind the structure you’ve used?
---
### 🔹 2. Hosts vs Clients — possible role confusion
The section refers to Claude Desktop, Cursor, and Continue.dev as “MCP Clients,” but from what I understand, those are better described as **MCP Hosts** — applications that embed an MCP client for connecting to MCP Servers.
It might help learners if this distinction were made clearer:
* **Host** = the main user-facing app (IDE, assistant, etc.)
* **Client** = the internal component that handles MCP communications
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the Unit 1 “MCP Clients” page at the linked URL and review its mcp.json example and terminology for Claude Desktop, Cursor, and Continue.dev. Confirm the intended configuration structure, then clarify the Host-versus-Client distinction and update the page so the examples and definitions are consistent.
Written by the indexing model from the issue text.
Assessment
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100