I have the following structure of my MCP Server projekt Folder structure project-root/ │ ├── prompts/ │ ├── resources/ │ ├── tools/ │ └── add.py │ ├── mcp_server.py │ └-- main.py mcp_server.py from fastmcp import FastMCP mcp = FastMCP( name="MCP Server", version="1.0.0" ) add.py from mcp_server import mcp @mcp.tool() async def add(a: int, b: int) -> int: """Add two numbers""" return a + b I want to create a dynamic and scalable MCP infrastructure. The goal is to have a MCP Server and add MCP Tools dynamically. I propose to run the MCP Server and each MCP Tool in an individual docker container, to have the possibility to deploy it in a Kurbenetes cluster for scaling purposes. For DevOps purpose, the developer should create their tools and commit/push the code to a special branch like mcp_tool_branch and a git action creates/updates the related docker container. But step back, the challenge is, how to deploy a MCP Server in docker and add the tools to the MCP Server? It's easy to deploy each individual, but I don't know how to register the tools on the server, if each of the components are in an own docker? Today, I use the @mcp.tools() wrapper in my tools, but the mcp is the server instance. In the described case above, how does the tool know the MCP Server for registration? How can it work? Continue reading...