mirror of https://github.com/dapr/dapr-agents.git
50 lines
1.3 KiB
Python
50 lines
1.3 KiB
Python
import asyncio
|
|
import logging
|
|
import sys
|
|
from dotenv import load_dotenv
|
|
|
|
from dapr_agents import Agent
|
|
from dapr_agents.tool.mcp import MCPClient
|
|
|
|
load_dotenv()
|
|
|
|
|
|
async def main():
|
|
# Create the MCP client
|
|
client = MCPClient()
|
|
|
|
# Connect to MCP server using STDIO transport
|
|
await client.connect_stdio(
|
|
server_name="local",
|
|
command=sys.executable, # Use the current Python interpreter
|
|
args=["tools.py"], # Run tools.py directly
|
|
)
|
|
|
|
# Get available tools from the MCP instance
|
|
tools = client.get_all_tools()
|
|
print("🔧 Available tools:", [t.name for t in tools])
|
|
|
|
# Create the Weather Agent using MCP tools
|
|
weather_agent = Agent(
|
|
name="Stevie",
|
|
role="Weather Assistant",
|
|
goal="Help humans get weather and location info using MCP tools.",
|
|
instructions=[
|
|
"Respond clearly and helpfully to weather-related questions.",
|
|
"Use tools when appropriate to fetch or simulate weather data.",
|
|
"You may sometimes jump after answering the weather question.",
|
|
],
|
|
tools=tools,
|
|
)
|
|
|
|
# Run a sample query
|
|
result = await weather_agent.run("What is the weather in New York?")
|
|
print(result)
|
|
|
|
# Clean up resources
|
|
await client.close()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
asyncio.run(main())
|