Back to Pydantic Ai

Prefix Tools

docs/capabilities/prefix-tools.md

2.14.11.0 KB
Original Source

Prefix Tools

[PrefixTools][pydantic_ai.capabilities.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:

python
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][pydantic_ai.capabilities.AbstractCapability] has a convenience method [prefix_tools][pydantic_ai.capabilities.AbstractCapability.prefix_tools] that returns a [PrefixTools][pydantic_ai.capabilities.PrefixTools] wrapper:

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