Hub documentation

SDKを使った構築

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

SDKを使った構築

Hugging Face のエージェント型 SDK を使用して、MCP 対応のエージェントを構築します。huggingface_hub(Python)および @huggingface/tiny-agents(JavaScript)ライブラリは、LLM を MCP ツールに接続するために必要なすべてを提供します。

インストール

Python
JavaScript
pip install "huggingface_hub[mcp]"

クイックスタート: エージェントの実行

最も素早く始めるには、tiny-agents CLI を使用します:

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

これはtiny-agents コレクションからエージェントを読み込み、その MCP サーバーに接続して、対話型チャットを開始します。

Agentクラスの使用

Agent クラスは、チャットループと MCP ツールの実行を管理します。LLM の実行には Inference Providers を使用します。

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

すべてのオプションについては、Agent リファレンスを参照してください。

MCPClientを直接使用する

より詳細な制御を行うには、MCPClientを使用してMCPサーバーとツール呼び出しを直接管理してください。

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

すべてのオプションについては、MCPClientの参照を参照してください。

エージェントを共有する

Hub上のtiny-agentsコレクションにエージェントを貢献してください。以下を含めてください:

  • agent.json - エージェント設定(必須)
  • PROMPT.mdまたはAGENTS.md - システムプロンプト(任意)
  • EXAMPLES.md - サンプルプロンプトとユースケース(任意)

詳細を見る

Update on GitHub