Hub documentation
Développer avec le SDK
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
pip install "huggingface_hub[mcp]"npm install @huggingface/tiny-agents
# or
pnpm add @huggingface/tiny-agentsDémarrage rapide : Exécuter un agent
La façon la plus rapide de commencer est d'utiliser le CLI tiny-agents :
tiny-agents run julien-c/flux-schnell-generator
npx @huggingface/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.
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.
import { Agent } from "@huggingface/tiny-agents";
const agent = new Agent({
model: "Qwen/Qwen2.5-72B-Instruct",
provider: "novita",
apiKey: process.env.HF_TOKEN,
servers: [
{
type: "sse",
url: "https://evalstate-flux1-schnell.hf.space/gradio_api/mcp/sse"
}
]
});
await agent.loadTools();
for await (const chunk of agent.run("Generate an image of a sunset")) {
if ("choices" in chunk) {
const delta = chunk.choices[0]?.delta;
if (delta.content) {
console.log(delta.content);
}
}
}Consultez la documentation de tiny-agents 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.
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.
Le SDK JavaScript utilise la classe Agent pour les interactions MCP. Pour un contrôle de bas niveau, consultez le package @huggingface/mcp-client.
Partagez votre agent
Contribuez des agents à la collection tiny-agents sur le Hub. Incluez :
agent.json- Configuration de l'agent (obligatoire)PROMPT.mdouAGENTS.md- Invite système (facultatif)EXAMPLES.md- Exemples de prompts et cas d'usage (facultatif)
En savoir plus
- Référence MCP de huggingface_hub - Référence de l'API Python
- tiny-agents Documentation - Référence de l'API JavaScript
- Fournisseurs d'inférence - Fournisseurs de LLM disponibles
- Collection tiny-agents - Parcourir les agents de la communauté
- Guide du serveur MCP - Connexion au serveur MCP de Hugging Face