Skip to content

Prefix Tools

PrefixTools is a capability that wraps another capability and prefixes all of its tool names, useful for namespacing when composing multiple capabilities that might have conflicting tool names:

prefix_tools_example.py
from pydantic_ai import Agent
from pydantic_ai.capabilities import MCP, PrefixTools

agent = Agent(
    'openai:gpt-5.2',
    capabilities=[
        PrefixTools(MCP(url='https://api1.example.com', native=True), prefix='api1'),
        PrefixTools(MCP(url='https://api2.example.com', native=True), prefix='api2'),
    ],
)

Every AbstractCapability has a convenience method prefix_tools that returns a PrefixTools wrapper:

prefix_convenience.py
MCP(url='https://mcp.example.com/api', native=True).prefix_tools('mcp')