File size: 1,183 Bytes
0321eee |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
"""
This is only a sample code snippet for a Gradio interface that connects to an MCP server. Server URL is set to local, it won't work on spaces.
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": "http://localhost:7860/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)
demo = gr.ChatInterface(
fn=lambda message, history: str(agent.run(message)),
type="messages",
title="Agent with MCP Tools",
description="This is a simple MCP Client build with Gradio that uses MCP tools.",
)
demo.launch()
finally:
mcp_client.disconnect() |