Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| import os | |
| from mcp import StdioServerParameters | |
| from smolagents import InferenceClientModel, CodeAgent, MCPClient | |
| HF_MCP_URL = "https://alihmaou-mcp-tools.hf.space/gradio_api/mcp/sse" | |
| mcp_client = MCPClient({"url": HF_MCP_URL}) | |
| model = InferenceClientModel(token=os.getenv("HUGGINGFACE_API_TOKEN")) | |
| tools = mcp_client.get_tools() | |
| agent = CodeAgent(tools=tools, model=model) | |
| def run_agent(message, history): | |
| return str(agent.run(message)) | |
| def reload_tools(): | |
| global tools, agent | |
| tools = mcp_client.get_tools() | |
| agent = CodeAgent(tools=tools, model=model) | |
| return "\n".join(f"- **{t.name}**: {t.description}" for t in tools) | |
| with gr.Blocks() as demo: | |
| with gr.Row(): | |
| with gr.Column(scale=2): | |
| chatbot = gr.ChatInterface(fn=run_agent) | |
| with gr.Column(scale=1): | |
| tool_list = gr.Markdown(value=reload_tools()) | |
| reload_btn = gr.Button("π Recharger les outils MCP") | |
| reload_btn.click(fn=reload_tools, outputs=tool_list) | |
| demo.launch() | |
| mcp_client.disconnect() | |