Spaces:
Runtime error
Runtime error
""" | |
This is a Gradio MCP client that connects to my MCP server (mcp-rag-workflow). | |
This script initializes a Gradio interface for an agent that uses tools from the MCP server. | |
It connects to the MCP server, retrieves available tools, and sets up a chat interface where users can interact with the agent. | |
""" | |
import os | |
from dotenv import load_dotenv | |
load_dotenv() # Load environment variables from .env file | |
import gradio as gr | |
from smolagents import InferenceClientModel, CodeAgent, MCPClient | |
try: | |
mcp_client = MCPClient( | |
{ | |
"url": "https://agents-mcp-hackathon-mcp-rag-workflow.hf.space/gradio_api/mcp/sse", | |
"transport": "sse" | |
} | |
) | |
tools = mcp_client.get_tools() | |
model = InferenceClientModel(token=os.getenv("HUGGINGFACE_API_TOKEN")) | |
agent = CodeAgent(tools=[*tools], model=model) | |
mcp_description = """ | |
**Example Queries**: | |
- "What are the main features of fuel system of SU-35?" | |
- "What is the combat potential of SU-35?" | |
- "Write me a report on origin of the universe." | |
- "Write me a report on the impact of climate change on polar bears." | |
""" | |
demo = gr.ChatInterface( | |
fn=lambda message, history: str(agent.run(message)), | |
chatbot=gr.Chatbot(height=450, placeholder="Ask me about Sukhoi SU-35 or ask to write report on any topic."), | |
type="messages", | |
title="A Gradio MCP client that uses Tools from my Hackathon MCP server", | |
examples=[ "What are the main features of fuel system of SU-35?", "What is the combat potential of SU-35?", "Write me a report on origin of the universe."], | |
description=mcp_description, | |
) | |
demo.launch() | |
finally: | |
mcp_client.disconnect() |