import asyncio
from pydantic import BaseModel, Field
from langchain_openai import ChatOpenAI
from mcp_use import MCPAgent, MCPClient
class WeatherInfo(BaseModel):
"""Weather information for a location"""
city: str = Field(description="City name")
temperature: float = Field(description="Temperature in Celsius")
condition: str = Field(description="Weather condition")
humidity: int = Field(description="Humidity percentage")
async def main():
# Setup client and agent
client = MCPClient(config={"mcpServers": {...}})
llm = ChatOpenAI(model="gpt-4o")
agent = MCPAgent(llm=llm, client=client)
# Get structured output
weather: WeatherInfo = await agent.run(
"Get the current weather in San Francisco",
output_schema=WeatherInfo
)
print(f"Temperature in {weather.city}: {weather.temperature}°C")
print(f"Condition: {weather.condition}")
print(f"Humidity: {weather.humidity}%")
asyncio.run(main())