File size: 1,219 Bytes
febfdb0 cf55632 febfdb0 cf55632 febfdb0 d4991e4 febfdb0 d4991e4 febfdb0 cf55632 febfdb0 cf55632 febfdb0 |
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 38 39 40 41 42 43 44 |
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() |