Многоуровневая архитектура сервера
Разделяйте транспорт, обработчики и бизнес-логику.
«Многоуровневая архитектура сервера» — бесплатный урок MCP Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения MCP Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс MCP Academy содержит 4 уроков всего.
Части этого урока еще не переведены и отображаются на английском.
Why One Big File Hurts
A server crammed into one file mixes transport, tool logic, and data calls. As it grows, every change risks breaking something far away.
Think in Layers
A clean server splits into layers: transport at the edge, MCP handlers in the middle, and pure business logic underneath.
The Transport Layer
The outer transport layer only moves messages, over stdio or HTTP. It should know nothing about what your tools actually do.
Handlers Are Thin Adapters
Your tool and resource handlers should be thin: parse arguments, call a service, shape the result. Keep real work out of them.
@mcp.tool()
def summarize(text: str) -> str:
return service.summarize(text)The Service Layer Does the Work
Put the actual logic in a plain service module with no MCP imports. It is just normal Python you can call from anywhere.
def summarize(text: str) -> str:
return shorten(clean(text))Why the Split Pays Off
With logic decoupled from MCP, you can test it without spinning up a server, and reuse it in a CLI or web app later.
Dependencies Point Inward
Keep the rule one-way: handlers may import services, but services must never import handlers or the transport above them.
A Folder Per Concern
Map layers to folders so the structure tells the story: server entry, handlers, services, and models each get their own place.
src/
server.py
handlers/
services/
models.pyRegister, Don't Define, in Entry
Your server.py should wire handlers to the FastMCP instance, not contain logic. It is an assembly point, not a workhorse.
from handlers import register_tools
register_tools(mcp)Cross-Cutting Helpers Stay Shared
Logging, config, and validation are shared concerns. Give them a common module so every layer uses the same helpers.
Grow Without Rewrites
Layering lets the server scale in size: add a new tool by adding a handler plus a service, leaving everything else untouched.
Quick Check
Where should the real business logic of a tool live?
Recap: Layered Design
Split your server into transport, thin handlers, and pure services, with dependencies pointing inward. Next: configuration. 🧱
Часто задаваемые вопросы
Урок «Многоуровневая архитектура сервера» бесплатный?
Да — полный текст урока «Многоуровневая архитектура сервера» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс MCP Academy, подпишись на CoddyKit PRO. Курс MCP Academy содержит 4 уроков всего.
Чему я научусь в уроке «Многоуровневая архитектура сервера»?
Разделяйте транспорт, обработчики и бизнес-логику. Ты практикуешь MCP Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать MCP Academy?
Предыдущий опыт не требуется. MCP Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «Многоуровневая архитектура сервера»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке MCP Academy?
Да. Каждый урок MCP Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Многоуровневая архитектура сервера
- Конфигурация и секреты через окружение
- Идемпотентные инструменты с учётом побочных эффектов
- Версионирование инструментов и схем