Spaces:
Sleeping
Sleeping
| 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"}, | |
| structured_output=True | |
| ) | |
| 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"]) | |
| def chat_with_agent(message, history): | |
| try: | |
| result = agent.run(message) | |
| return str(result) | |
| except Exception as e: | |
| return f"Error: {str(e)}" | |
| demo = gr.ChatInterface( | |
| fn=chat_with_agent, | |
| 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() | |
| except Exception as e: | |
| print(f"Error initializing: {e}") | |
| finally: | |
| if mcp_client: | |
| mcp_client.disconnect() |