import os import gradio as gr from mcp import StdioServerParameters from smolagents import InferenceClientModel, CodeAgent, ToolCollection, MCPClient if __name__ == "__main__": only_list_tools = True try: mcp_client = MCPClient( {"url": "https://agents-mcp-hackathon-f1-mcp-server.hf.space/gradio_api/mcp/sse", "transport": "sse"}) tools = mcp_client.get_tools() print("### MCP tools ### ") print("\n".join(f"{t.name}: {t.description}" for t in tools)) if only_list_tools: mcp_client.close() exit(0) # Define model model = InferenceClientModel( model_id="Qwen/Qwen2.5-32B-Instruct", token=os.getenv("HF_TOKEN") ) agent = CodeAgent(tools=[*tools], model=model) chat_interface = gr.ChatInterface( fn=lambda message, history: str(agent.run(message)), type="messages", examples=["Prime factorization of 68"], title="Agent with MCP Tools", description="This is a simple agent that uses MCP tools to answer questions." ) chat_interface.launch() finally: mcp_client.close()