> ## Documentation Index

> Fetch the complete documentation index at: /llms.txt

> Use this file to discover all available pages before exploring further.

Skip to main content
Working with Tools

# Namespace Transform

Prefix component names to prevent conflicts

New in version `3.0.0` The `Namespace` transform prefixes all component names, preventing conflicts when composing multiple servers. Tools and prompts receive an underscore-separated prefix. Resources and templates receive a path-segment prefix in their URIs.

Component | Original | With `Namespace("api")`
--- | --- | ---
Tool | `my_tool` | `api_my_tool`
Prompt | `my_prompt` | `api_my_prompt`
Resource | `data://info` | `data://api/info`
Template | `data://{id}` | `data://api/{id}`

The most common use is through the `mount()` method’s `namespace` parameter.

    from fastmcp import FastMCP

    weather = FastMCP("Weather")
    calendar = FastMCP("Calendar")

    @weather.tool
    def get_data() -> str:
        return "Weather data"

    @calendar.tool
    def get_data() -> str:
        return "Calendar data"

    # Without namespacing, these would conflict
    main = FastMCP("Main")
    main.mount(weather, namespace="weather")
    main.mount(calendar, namespace="calendar")

    # Clients see: weather_get_data, calendar_get_data

You can also apply namespacing directly using the `Namespace` transform.

    from fastmcp import FastMCP
    from fastmcp.server.transforms import Namespace

    mcp = FastMCP("Server")

    @mcp.tool
    def greet(name: str) -> str:
        return f"Hello, {name}!"

    # Namespace all components
    mcp.add_transform(Namespace("api"))

    # Tool is now: api_greet

Tool Search
Previous
Component Visibility
Next
Ctrl+I
Assistant
Responses are generated using AI and may contain mistakes.
\n\n
\n
\n \n
\n
","contacts":" \n
\n\n Prefab\n \n \n \n \n\n
\n
\n \n
\n
","dashboard":" \n
\n\n Prefab\n \n \n \n \n\n
\n
\n \n
\n
","data-table":" \n
\n\n Prefab\n \n \n \n \n\n
\n
\n \n
\n
","hitchhikers":" \n
\n\n Prefab Showcase\n \n \n \n \n\n
\n
\n \n
\n
","pie-chart":" \n
\n\n Prefab\n \n \n \n \n\n
\n
\n \n
\n
","reactive":" \n
\n\n Prefab\n \n \n \n \n\n
\n
\n \n
\n
","team-directory-reactive":" \n
\n\n Prefab\n \n \n \n \n\n
\n
\n \n
\n
","team-directory":" \n
\n\n Prefab\n \n \n \n \n\n
\n
\n \n
\n
"};