Hub Python Library documentation

Cliente MCP

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Cliente MCP

A biblioteca huggingface_hub agora inclui um MCPClient, projetado para capacitar Modelos de Linguagem de Grande Escala (LLMs) com a capacidade de interagir com Ferramentas externas por meio do Model Context Protocol (MCP). Este cliente estende um AsyncInferenceClient para integrar o uso de Ferramentas de forma transparente.

O MCPClient se conecta a servidores MCP (scripts locais stdio ou serviços remotos http/sse) que expõem ferramentas. Ele fornece essas ferramentas a um LLM (via AsyncInferenceClient). Se o LLM decidir usar uma ferramenta, o MCPClient gerencia a solicitação de execução ao servidor MCP e repassa a saída da ferramenta de volta ao LLM, frequentemente transmitindo os resultados em tempo real.

Também fornecemos uma classe de nível superior Agent. Este ‘Tiny Agent’ simplifica a criação de Agentes conversacionais ao gerenciar o loop de chat e o estado, atuando como um wrapper ao redor de MCPClient.

Cliente MCP

classe huggingface_hub.MCPClient

< >

( model: typing.Optional[str] = Noneprovider: typing.Union[typing.Literal['baseten', 'cerebras', 'cohere', 'deepinfra', 'fal-ai', 'featherless-ai', 'fireworks-ai', 'groq', 'hf-inference', 'novita', 'nscale', 'openai', 'ovhcloud', 'publicai', 'replicate', 'scaleway', 'together', 'wavespeed', 'zai-org'], typing.Literal['auto'], NoneType] = Nonebase_url: typing.Optional[str] = Noneapi_key: typing.Optional[str] = None )

Parâmetros

  • model (str, optional) — O modelo para executar a inferência. Pode ser um id de modelo hospedado no Hugging Face Hub, por exemplo meta-llama/Meta-Llama-3-8B-Instruct ou uma URL para um Inference Endpoint implantado ou outro endpoint local ou remoto.
  • provider (str, opcional) — Nome do provedor a ser usado para inferência. O padrão é “auto”, ou seja, o primeiro dos provedores disponíveis para o modelo, ordenados pela ordem do usuário em https://hf.co/settings/inference-providers. Se o modelo for uma URL ou base_url for passado, então provider não é usado.
  • base_url (str, opcional) — A URL base para executar a inferência. O padrão é None.
  • api_key (str, optional) — Token a ser usado para autenticação. Se não for fornecido, será usado o token do Hugging Face salvo localmente por padrão. Você também pode usar a chave de API do seu próprio provedor para interagir diretamente com o serviço do provedor.

Cliente para conectar a um ou mais servidores MCP e processar conclusões de chat com ferramentas.

Esta classe é experimental e pode estar sujeita a alterações que quebrem a compatibilidade no futuro, sem aviso prévio.

add_mcp_server

< >

( type: typing.Literal['stdio', 'sse', 'http']**params: typing.Any )

Parâmetros

  • type (str) — Tipo do servidor para o qual se deseja conectar. Pode ser um dos seguintes:
    • “stdio”: servidor de entrada/saída padrão (local)
    • “sse”: servidor de eventos enviados pelo servidor (SSE)
    • “http”: servidor StreamableHTTP
  • **params (dict[str, Any]) — Parâmetros do servidor que podem ser:
    • Para servidores stdio:
      • command (str): O comando para executar o servidor MCP
      • args (list[str], opcional): Argumentos para o comando
      • env (dict[str, str], opcional): Variáveis de ambiente para o comando
      • cwd (Union[str, Path, None], opcional): Diretório de trabalho para o comando
      • allowed_tools (list[str], opcional): Lista de nomes de ferramentas a serem permitidas a partir deste servidor
    • Para servidores SSE:
      • url (str): A URL do servidor SSE
      • headers (dict[str, Any], opcional): Cabeçalhos para a conexão SSE
      • timeout (float, opcional): Tempo limite de conexão
      • sse_read_timeout (float, opcional): tempo limite de leitura SSE
      • allowed_tools (list[str], opcional): Lista de nomes de ferramentas a serem permitidas a partir deste servidor
    • Para servidores StreamableHTTP:
      • url (str): A URL do servidor StreamableHTTP
      • headers (dict[str, Any], opcional): Cabeçalhos para a conexão StreamableHTTP
      • timeout (timedelta, opcional): Tempo limite de conexão
      • sse_read_timeout (timedelta, opcional): tempo limite de leitura SSE
      • terminate_on_close (bool, opcional): Se deve encerrar ao fechar
      • allowed_tools (list[str], opcional): Lista de nomes de ferramentas a serem permitidas a partir deste servidor

Conectar a um servidor MCP

limpeza

< >

( )

Limpar recursos

process_single_turn_with_tools

< >

( messages: listexit_loop_tools: typing.Optional[list[huggingface_hub.inference._generated.types.chat_completion.ChatCompletionInputTool]] = Noneexit_if_first_chunk_no_tool: bool = False )

Parâmetros

  • messages (list[dict]) — Lista de objetos de mensagem representando o histórico da conversa
  • exit_loop_tools (list[ChatCompletionInputTool], opcional) — Lista de ferramentas que devem encerrar o gerador quando chamadas
  • exit_if_first_chunk_no_tool (bool, opcional) — Encerra se não houver nenhuma ferramenta nos primeiros chunks. O valor padrão é False.

Processa uma consulta usando self.model e as ferramentas disponíveis, gerando blocos e saídas de ferramentas.

Agente

classe huggingface_hub.Agent

< >

( model: Optional[str] = Noneservers: Iterable[ServerConfig]provider: Optional[PROVIDER_OR_POLICY_T] = Nonebase_url: Optional[str] = Noneapi_key: Optional[str] = Noneprompt: Optional[str] = None )

Parâmetros

  • model (str, opcional) — O modelo para executar inferência. Pode ser um id de modelo hospedado no Hugging Face Hub, por exemplo meta-llama/Meta-Llama-3-8B-Instruct ou uma URL para um Inference Endpoint implantado ou outro endpoint local ou remoto.
  • servers (Iterable[dict]) — Servidores MCP para conectar. Cada servidor é um dicionário contendo uma chave type e uma chave config. A chave type pode ser "stdio" ou "sse", e a chave config é um dicionário de argumentos para o servidor.
  • provider (str, opcional) — Nome do provedor a ser usado para inferência. O padrão é “auto”, ou seja, o primeiro dos provedores disponíveis para o modelo, ordenados pela ordem do usuário em https://hf.co/settings/inference-providers. Se o modelo for uma URL ou base_url for passado, então provider não é usado.
  • base_url (str, opcional) — A URL base para executar a inferência. O padrão é None.
  • api_key (str, opcional) — Token a ser usado para autenticação. Se não for fornecido, será usado o token do Hugging Face salvo localmente por padrão. Você também pode usar a chave de API do seu próprio provedor para interagir diretamente com o serviço do provedor.
  • prompt (str, opcional) — O prompt de sistema a ser usado para o agente. O padrão é o prompt de sistema padrão em constants.py.

Implementação de um Agente Simples, que é um simples laço while construído diretamente sobre um MCPClient.

Esta classe é experimental e pode estar sujeita a alterações que quebrem a compatibilidade no futuro, sem aviso prévio.

executar

< >

( user_input: strabort_event: Optional[asyncio.Event] = None )

Parâmetros

  • user_input (str) — A entrada do usuário para executar o agente.
  • abort_event (asyncio.Event, opcional) — Um evento que pode ser usado para interromper o agente. Se o evento for definido, o agente deixará de executar.

Execute o agente com a entrada do usuário fornecida.

Update on GitHub