mcp-client / app.py
SlipknotTN's picture
Minor improvements
8be3185
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()