mcp-client / app.py
elliemci's picture
initial commit
8631647
import gradio as gr
import os
from mcp import StdioServerParameters
from smolagents import InferenceClientModel, CodeAgent, ToolCollection, MCPClient
# MCP Clinet in Gradio to be deplayed to Hugging Face Spaces
try:
# connect to the MCP server and get the tools that can be used by the agent
mcp_client = MCPClient(
{
"url": "https://abidlabs-mcp-tool-http.hf.space/gradio_api/mcp/sse" # the mcp client previously created
}
)
tools = mcp_client.get_tools()
# create a simple agent that uses the tools to answer questions
model = InferenceClientModel(token=os.getenv("HF_TOKEN"))
agent = CodeAgent(tools=[*tools], model=model)
# gradio interface that uses the MCP client to connect to the MCP server and ansers questions
# using the agent with the tools
demo = 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.",
)
demo.launch() # for public link launch with share=True
finally:
mcp_client.dusconnect()