mcp-client / app.py
liztan
Initial commit
f6f3ca8
Raw
History Blame Contribute Delete
1.13 kB
import gradio as gr
import os
from mcp import StdioServerParameters
from smolagents import InferenceClientModel, CodeAgent, ToolCollection, MCPClient
# from smolagents.mcp_client import MCPClient
# with MCPClient(
# {"url": "https://abidlabs-mcp-tool-http.hf.space/gradio_api/mcp/sse"}
# ) as tools:
# # Tools from the remote server are available
# print("\n".join(f"{t.name}: {t.description}" for t in tools))
try:
mcp_client = MCPClient(
{"url": "https://abidlabs-mcp-tool-http.hf.space/gradio_api/mcp/sse"}
)
tools = mcp_client.get_tools()
model = InferenceClientModel(token=os.getenv("HUGGINGFACE_API_TOKEN"))
agent = CodeAgent(tools=[*tools], model=model, additional_authorized_imports=["json", "ast", "urllib", "base64"])
demo = 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."
)
demo.launch()
finally:
mcp_client.disconnect()