Hub documentation

Développer avec le SDK

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Développer avec le SDK

Créez des agents alimentés par MCP avec les SDK agentiques de Hugging Face. Les bibliothèques huggingface_hub (Python) et @huggingface/tiny-agents (JavaScript) fournissent tout ce dont vous avez besoin pour connecter des LLM aux outils MCP.

Installation

Python
JavaScript
pip install "huggingface_hub[mcp]"

Démarrage rapide : Exécuter un agent

La façon la plus rapide de commencer est d'utiliser le CLI tiny-agents :

Python
JavaScript
tiny-agents run julien-c/flux-schnell-generator

Cela charge un agent à partir de la collection tiny-agents, se connecte à ses serveurs MCP et démarre un chat interactif.

Utilisation de la classe Agent

La classe Agent gère la boucle de discussion et l'exécution des outils MCP. Elle utilise Inference Providers pour exécuter le LLM.

Python
JavaScript
from huggingface_hub import Agent
import asyncio

agent = Agent(
    model="Qwen/Qwen2.5-72B-Instruct",
    provider="novita",
    servers=[
        {
            "type": "sse",
            "url": "https://evalstate-flux1-schnell.hf.space/gradio_api/mcp/sse"
        }
    ]
)

async def main():
    async for chunk in agent.run("Generate an image of a sunset"):
        if hasattr(chunk, 'choices'):
            delta = chunk.choices[0].delta
            if delta.content:
                print(delta.content, end="")

asyncio.run(main())

Consultez la référence de l’Agent pour toutes les options.

Utilisation directe de MCPClient

Pour un contrôle plus fin, utilisez MCPClient pour gérer directement les serveurs MCP et les appels d'outils.

Python
JavaScript
import asyncio
from huggingface_hub import MCPClient

async def main():
    async with MCPClient(
        model="Qwen/Qwen2.5-72B-Instruct",
        provider="novita",
    ) as client:
        # Connect to an MCP server
        await client.add_mcp_server(
            type="sse", 
            url="https://evalstate-flux1-schnell.hf.space/gradio_api/mcp/sse"
        )
        
        # Process a request with tools
        messages = [{"role": "user", "content": "Generate an image of a sunset"}]
        
        async for chunk in client.process_single_turn_with_tools(messages):
            if hasattr(chunk, 'choices'):
                delta = chunk.choices[0].delta
                if delta.content:
                    print(delta.content, end="")

asyncio.run(main())

Consultez la référence de MCPClient pour toutes les options.

Partagez votre agent

Contribuez des agents à la collection tiny-agents sur le Hub. Incluez :

  • agent.json - Configuration de l'agent (obligatoire)
  • PROMPT.md ou AGENTS.md - Invite système (facultatif)
  • EXAMPLES.md - Exemples de prompts et cas d'usage (facultatif)

En savoir plus

Update on GitHub