PoC: `InferenceClient` is also a `MCPClient` (#2986)
* Add extra dependency
* PoC: `InferenceClient` is also a `MCPClient`
* [using Claude] change the code to make MCPClient inherit from AsyncInferenceClient
* Update mcp_client.py
Co-authored-by: Mishig <dmishig@gmail.com>
* mcp_client: Support multiple servers (#2987)
cc @mishig25
* Revert "[using Claude] change the code to make MCPClient inherit from AsyncInferenceClient"
This reverts commit 2c7329c8559224f750e28fc963c42f2f1d637b08.
* `add_mcp_server`: the env should not be hardcoded here
cc @Wauplin
* Handle the "no tool call" case
* Update setup.py
* Async mcp client + example + code quality
* docstring
* accept ChatCompletionInputMessage as input
* lazy loading
* style
* better type
* no need mcp for dev
* code quality on Python 3.8
* address feedback
* address feedback
* do not close client inside of [200~process_single_turn_with_tools~
* docstring, no more warning, garbage collection
* docs
---------
Co-authored-by: Mishig <dmishig@gmail.com>
Co-authored-by: Lucain Pouget <lucainp@gmail.com>
Co-authored-by: Lucain <lucain@huggingface.co>