diff --git a/units/en/unit1/mcp-clients.mdx b/units/en/unit1/mcp-clients.mdx index 63f77ad..a622ef2 100644 --- a/units/en/unit1/mcp-clients.mdx +++ b/units/en/unit1/mcp-clients.mdx @@ -249,7 +249,7 @@ npm install -g npx Then, we will need to install the huggingface_hub package with the MCP support. This will allow us to run MCP servers and clients. ```bash -pip install "huggingface_hub[mcp]>=0.32.0" +pipx install "huggingface_hub[mcp]>=0.32.0" ``` Then, we will need to log in to the Hugging Face Hub to access the MCP servers. You can do this with the `huggingface-cli` command line tool. You will need a [login token](https://huggingface.co/docs/huggingface_hub/v0.32.3/en/quick-start#authentication) to do this. diff --git a/units/en/unit1/sdk.mdx b/units/en/unit1/sdk.mdx index be5a8a8..a0ec9b7 100644 --- a/units/en/unit1/sdk.mdx +++ b/units/en/unit1/sdk.mdx @@ -53,6 +53,35 @@ if __name__ == "__main__": Once you have your server implemented, you can start it by running the server script. +Install `uv` (recommended by the MCP ecosystem) +```bash +curl -LsSf https://astral.sh/uv/install.sh | sh +``` +Add `uv` to your PATH: +```bash +source $HOME/.local/bin/env +``` + +Verify `uv` is working: +```bash +uv --version +``` +Create a virtual environment: +```bash +python -m venv myenv && source myenv/bin/activate +``` + +Install MCP: +```bash +uv pip install mcp +``` + +Install MCP CLI: +```bash +uv pip install "mcp[cli]" +``` + +Run the server: ```bash mcp dev server.py ``` @@ -161,19 +190,4 @@ MCP is designed to be language-agnostic, and there are official SDKs available f | Language | Repository | Maintainer(s) | Status | | ---------- | -------------------------------------------------------------------------------------------------------- | ------------------- | ---------------- | -| TypeScript | [github.com/modelcontextprotocol/typescript-sdk](https://github.com/modelcontextprotocol/typescript-sdk) | Anthropic | Active | -| Python | [github.com/modelcontextprotocol/python-sdk](https://github.com/modelcontextprotocol/python-sdk) | Anthropic | Active | -| Java | [github.com/modelcontextprotocol/java-sdk](https://github.com/modelcontextprotocol/java-sdk) | Spring AI (VMware) | Active | -| Kotlin | [github.com/modelcontextprotocol/kotlin-sdk](https://github.com/modelcontextprotocol/kotlin-sdk) | JetBrains | Active | -| C# | [github.com/modelcontextprotocol/csharp-sdk](https://github.com/modelcontextprotocol/csharp-sdk) | Microsoft | Active (Preview) | -| Swift | [github.com/modelcontextprotocol/swift-sdk](https://github.com/modelcontextprotocol/swift-sdk) | loopwork-ai | Active | -| Rust | [github.com/modelcontextprotocol/rust-sdk](https://github.com/modelcontextprotocol/rust-sdk) | Anthropic/Community | Active | -| Dart | [https://github.com/leehack/mcp_dart](https://github.com/leehack/mcp_dart) | Flutter Community | Active | - -These SDKs provide language-specific abstractions that simplify working with the MCP protocol, allowing you to focus on implementing the core logic of your servers or clients rather than dealing with low-level protocol details. - -## Next Steps - -We've only scratched the surface of what you can do with the MCP but you've already got a basic server running. In fact, you've also connected to it using the MCP Client in the browser. - -In the next section, we'll look at how to connect to your server from an LLM. +| TypeScript | [github.com/modelcontextprotocol/typescript-sdk](https://github.com/modelcontextprotocol/typescript-sdk)