# Создание с помощью SDK

Создавайте агентов на базе MCP с помощью агентных SDK Hugging Face. Библиотеки `huggingface_hub` (Python) и `@huggingface/tiny-agents` (JavaScript) предоставляют всё необходимое для подключения LLM к инструментам MCP.

## Установка

```bash
pip install "huggingface_hub[mcp]"
```

```bash
npm install @huggingface/tiny-agents
# or
pnpm add @huggingface/tiny-agents
```

## Быстрый старт: запуск агента

Самый быстрый способ начать работу — это CLI `tiny-agents`:

```bash
tiny-agents run julien-c/flux-schnell-generator
```

```bash
npx @huggingface/tiny-agents run "julien-c/flux-schnell-generator"
```

Это загружает агента из [коллекции tiny-agents](https://huggingface.co/datasets/tiny-agents/tiny-agents), подключается к его MCP-серверам и запускает интерактивный чат.

## Использование класса Agent

Класс `Agent` управляет циклом чата и выполнением инструментов MCP. Для запуска LLM он использует [Inference Providers](https://huggingface.co/docs/inference-providers).

```python
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())
```

См. [справочник по Agent](https://huggingface.co/docs/huggingface_hub/package_reference/mcp#huggingface_hub.Agent) для всех вариантов.

```typescript
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);
        }
    }
}
```

См. [документацию tiny-agents](https://huggingface.co/docs/huggingface.js/tiny-agents/README) для всех вариантов.

## Использование MCPClient напрямую

Для более точного управления используйте `MCPClient`, чтобы напрямую управлять MCP-серверами и вызовами инструментов.

```python
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())
```

См. [справочник MCPClient](https://huggingface.co/docs/huggingface_hub/package_reference/mcp#huggingface_hub.MCPClient) для всех параметров.

JavaScript SDK использует класс `Agent` для взаимодействий с MCP. Для более низкого уровня управления см. пакет [@huggingface/mcp-client](https://huggingface.co/docs/huggingface.js/mcp-client/README).

## Поделитесь своим агентом

Внесите агентов в [коллекцию tiny-agents](https://huggingface.co/datasets/tiny-agents/tiny-agents) на Hub. Включите:

- `agent.json` — конфигурация агента (обязательно)
- `PROMPT.md` или `AGENTS.md` — системный промпт (необязательно)
- `EXAMPLES.md` — Примеры промптов и сценариев использования (необязательно)

## Подробнее

- [huggingface_hub MCP Reference](https://huggingface.co/docs/huggingface_hub/package_reference/mcp) — Справочник Python API
- [Документация tiny-agents](https://huggingface.co/docs/huggingface.js/tiny-agents/README) — Справочник JavaScript API
- [Поставщики инференса](https://huggingface.co/docs/inference-providers) - Доступные провайдеры LLM
- [Коллекция tiny-agents](https://huggingface.co/datasets/tiny-agents/tiny-agents) — Просмотр агентов сообщества
- [Руководство по MCP Server](./agents-mcp) - Подключение к MCP Server Hugging Face

