Files
archon/original_archon/agent-resources/examples/pydantic_mcp_agent.py

33 lines
999 B
Python

from pydantic_ai.providers.openai import OpenAIProvider
from pydantic_ai.models.openai import OpenAIModel
from pydantic_ai.mcp import MCPServerStdio
from pydantic_ai import Agent
from dotenv import load_dotenv
import asyncio
import os
load_dotenv()
def get_model():
llm = os.getenv('MODEL_CHOICE', 'gpt-4o-mini')
base_url = os.getenv('BASE_URL', 'https://api.openai.com/v1')
api_key = os.getenv('LLM_API_KEY', 'no-api-key-provided')
return OpenAIModel(llm, provider=OpenAIProvider(base_url=base_url, api_key=api_key))
server = MCPServerStdio(
'npx',
['-y', '@modelcontextprotocol/server-brave-search', 'stdio'],
env={"BRAVE_API_KEY": os.getenv("BRAVE_API_KEY")}
)
agent = Agent(get_model(), mcp_servers=[server])
async def main():
async with agent.run_mcp_servers():
result = await agent.run('What is new with Gemini 2.5 Pro?')
print(result.data)
user_input = input("Press enter to quit...")
if __name__ == '__main__':
asyncio.run(main())