f1-mcp-server / mcp_client.py
arre99's picture
polished up the mcp client script
cf55632
raw
history blame
1.22 kB
import os
import gradio as gr
from mcp import StdioServerParameters
from smolagents import InferenceClientModel, CodeAgent, ToolCollection, MCPClient
if __name__ == "__main__":
only_list_tools = True
try:
mcp_client = MCPClient(
{"url": "https://agents-mcp-hackathon-f1-mcp-server.hf.space/gradio_api/mcp/sse", "transport": "sse"})
tools = mcp_client.get_tools()
print("### MCP tools ### ")
print("\n".join(f"{t.name}: {t.description}" for t in tools))
if only_list_tools:
mcp_client.close()
exit(0)
# Define model
model = InferenceClientModel(
model_id="Qwen/Qwen2.5-32B-Instruct",
token=os.getenv("HF_TOKEN")
)
agent = CodeAgent(tools=[*tools], model=model)
chat_interface = 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."
)
chat_interface.launch()
finally:
mcp_client.close()