Spaces:
Sleeping
Sleeping
| 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() | |