Give a PydanticAI agent live UK tender and contract data with MCPServerStreamableHTTP pointed at Oro Intel's remote MCP server.
Prerequisites
An Oro Intel API key in ORO_API_KEY (create one, 250 free credits).
An LLM key (this example uses Anthropic via ANTHROPIC_API_KEY).
pip install "pydantic-ai-slim[mcp,anthropic]"
Code
agent.py
"""PydanticAI agent with live UK procurement data via the Oro Intel remote MCP server."""
import asyncio
import os
from pydantic_ai import Agent
from pydantic_ai.mcp import MCPServerStreamableHTTP
ORO_API_KEY = os.environ["ORO_API_KEY"] # https://app.oro-intel.com/dashboard/developers
server = MCPServerStreamableHTTP(
url="https://api.oro-intel.com/mcp/", # trailing slash required
headers={"Authorization": f"Bearer {ORO_API_KEY}"},
)
agent = Agent("anthropic:claude-sonnet-5", toolsets=[server])
async def main() -> None:
async with agent:
result = await agent.run(
"Look up the UK company 'Serco' and give me its full supplier profile. "
"Report how many public contracts it has won, and the credits_charged "
"and credits_remaining from the tool responses."
)
print(result.output)
asyncio.run(main())
Expected output
output (trimmed)
Serco Limited (company number 02048608) has won 132 public contracts.
Lookup: 5 credits; full profile: 12 credits (credits_remaining: 233).
The agent chains oro_lookup_company (5 credits) into oro_company_profile (12 credits); each tool response includes credits_charged/credits_remaining.