docs/capabilities/prefix-tools.md
[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:
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:
MCP(url='https://mcp.example.com/api', native=True).prefix_tools('mcp')