|
""" |
|
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() |
|
|
|
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() |