mcp_client / app.py
Mohammad Zarak Shah Ji
Initial commit
08fb142
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()