import gradio as gr import os from smolagents import InferenceClientModel, CodeAgent, MCPClient mcp_client = None try: mcp_client = MCPClient( { "url": "https://abidlabs-mcp-tool-http.hf.space/gradio_api/mcp/sse", "transport": "sse" } ) tools = mcp_client.get_tools() tools_description = "\n".join(f"{t.name}: {t.description}" for t in tools) print(tools_description) model = InferenceClientModel() agent = CodeAgent(tools=[*tools], model=model, additional_authorized_imports=["json", "ast", "urllib", "base64"]) demo = gr.ChatInterface( fn=lambda message, history: str(agent.run(message)), type="messages", examples=[ "Prime factorization of 68", "Analyze the sentiment of the following text 'This is awesome'", # No tool for this one ], title="Agent with MCP Tools", description="This is a simple agent that uses MCP tools to answer questions. The available tools are: \n" + tools_description, ) demo.launch() except Exception as e: print(f"Error: '{e}'") finally: if mcp_client: mcp_client.disconnect()