# import gradio as gr # from mcp.client.stdio import StdioServerParameters # from smolagents import InferenceClientModel, CodeAgent # from smolagents.mcp_client import MCPClient # from transformers import pipeline # from transformers import AutoModelForCausalLM, AutoTokenizer # import torch # # Initialize the MCP client correctly # try: # mcp_client = MCPClient( # ## Try this working example on the hub: # # {"url": "https://abidlabs-mcp-tools.hf.space/gradio_api/mcp/sse"} # {"url": "https://captain-awesome-alquranchapters.hf.space/gradio_api/mcp/sse"} # ) # tools = mcp_client.get_tools() # # model = InferenceClientModel() # # model = TransformersModel( # # model_id="Qwen/Qwen2.5-Coder-32B-Instruct", # # device="cuda", # # max_new_tokens=5000, # # ) # model_id = "unsloth/Llama-3.2-1B" # model = AutoModelForCausalLM.from_pretrained( # model_id, # torch_dtype=torch.bfloat16, # device_map="auto" # ) # agent = CodeAgent(tools=[*tools], model=model) # # Define Gradio ChatInterface # demo = gr.ChatInterface( # fn=lambda message, history: str(agent.run(message)), # type="messages", # title="Agent with MCP Tools", # description="This is a simple agent that uses MCP tools to get chapters of the Quran.", # ) # demo.launch(share=True) # finally: # # Properly close the MCP client connection # # if 'mcp_client' in locals(): # # mcp_client.disconnect() # mcp_client.disconnect() import gradio as gr import asyncio from smolagents.mcp_client import MCPClient from transformers import AutoModelForCausalLM import torch from mcp.client.stdio import StdioServerParameters from smolagents import InferenceClientModel, CodeAgent, ToolCollection import os try: mcp_client = MCPClient( ## Try this working example on the hub: # {"url": "https://abidlabs-mcp-tools.hf.space/gradio_api/mcp/sse"} {"url": "https://captain-awesome-alquranchapters.hf.space/gradio_api/mcp/sse"} ) tools = mcp_client.get_tools() model = InferenceClientModel(token=os.getenv("HUGGINGFACE_API_TOKEN")) agent = CodeAgent(tools=[*tools], model=model, additional_authorized_imports=["json", "ast", "urllib", "base64"]) # model_id = "unsloth/Llama-3.2-1B" # model = AutoModelForCausalLM.from_pretrained( # model_id, # torch_dtype=torch.bfloat16, # device_map="auto" # ) # agent = CodeAgent(tools=tools, model=model) demo = gr.ChatInterface( fn=lambda message, history: str(agent.run(message)), type="messages", title="Agent with MCP Tools", description="This is a simple agent that uses MCP tools to get chapters of the Quran.", ) demo.launch() # demo.launch(share=True) finally: mcp_client.disconnect() # import gradio as gr # import os # from smolagents import InferenceClientModel, CodeAgent, MCPClient # try: # mcp_client = MCPClient( # # {"url": "https://abidlabs-mcp-tool-http.hf.space/gradio_api/mcp/sse"} # {"url":"https://captain-awesome-alquranchapters.hf.space/gradio_api/mcp/sse"} # ) # tools = mcp_client.get_tools() # model = InferenceClientModel(token=os.getenv("HUGGINGFACE_API_TOKEN")) # 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=["Analyze the sentiment of the following text 'This is awesome'"], # title="Agent with MCP Tools", # description="This is a simple agent that uses MCP tools to answer questions.", # ) # demo.launch() # finally: # mcp_client.disconnect()