Spaces:
Sleeping
Sleeping
import gradio as gr | |
from smolagents import InferenceClientModel, CodeAgent | |
from smolagents.mcp_client import MCPClient | |
from dotenv import load_dotenv | |
import os | |
load_dotenv() | |
try: | |
print("Connecting to MCP server...") | |
hf_token = os.getenv("HF_TOKEN") | |
if not hf_token: | |
raise ValueError("HF_TOKEN is not set") | |
mcp_client = MCPClient( | |
## Try this working example on the hub: | |
# {"url": "https://abidlabs-mcp-tools.hf.space/gradio_api/mcp/sse"} | |
{"url": "http://localhost:7860/gradio_api/mcp/sse"} | |
) | |
tools = mcp_client.get_tools() | |
model = InferenceClientModel(token=hf_token) | |
agent = CodeAgent(tools=[*tools], model=model) | |
demo = gr.ChatInterface( | |
fn=lambda message, history: str(agent.run(message)), | |
type="messages", | |
examples=["Prime factorization of 68", "Count the number of times the letter 'r' appears in the text 'Strawberry'"], | |
title="Agent with MCP Tools", | |
description="This is a simple agent that uses MCP tools to answer questions.", | |
) | |
demo.launch() | |
finally: | |
mcp_client.disconnect() |