Перейти к содержанию

Начало работы

Машинный перевод

Эта страница переведена с английской документации автоматически, и основной версией остаётся английская страница. Если что-то читается неправильно, на странице Переводы объясняется, как об этом сообщить.

Впервые работаете с MCP или с этим SDK? Начните здесь. Эти страницы проведут вас от нуля до работающего, протестированного сервера: установите SDK, соберите первый сервер, подключите его к настоящему хосту и протестируйте с помощью клиента в памяти.

Запуск кода

Все блоки кода можно копировать и использовать как есть: это полные, рабочие файлы.

Чтобы повторять шаги по ходу чтения, вставьте блок в файл server.py и откройте его в MCP Inspector:

uv run mcp dev server.py

Настоятельно рекомендуем писать (или копировать) код, править его и запускать локально. Именно работа в собственном редакторе показывает суть: как мало приходится писать, как помогает автодополнение, как проверка типов ловит ошибки ещё до запуска.

Гадать не придётся

Каждый пример в этой документации — полный файл в каталоге docs_src/ в репозитории самого SDK, и каждый из них прогоняется набором тестов SDK через клиент в памяти:

import pytest
from mcp import Client

from server import mcp


@pytest.mark.anyio
async def test_add() -> None:
    async with Client(mcp) as client:
        result = await client.call_tool("add", {"a": 1, "b": 2})
        assert result.structured_content == {"result": 3}

Ни подпроцесса, ни порта, ни транспорта. Client(mcp) подключается к объекту сервера напрямую.

Если изменение в SDK ломает пример на одной из этих страниц, CI краснеет раньше, чем страница. Код, который вы здесь читаете, — это код, который выполняется.

Вы и сами воспользуетесь этим приёмом на странице Тестирование: свои серверы тестируют точно так же.

Куда дальше

Как только сервер запущен, остальная документация — это справочник, а не курс. Каждая страница самодостаточна, так что переходите сразу к нужному:

  • Что сервер предоставляет (инструменты, ресурсы, промпты) — Серверы.
  • Что доступно внутри регистрируемых функций — Внутри обработчика.
  • Как донести сервер до клиентов (stdio, HTTP, существующее FastAPI-приложение) — Запуск сервера.
  • Как построить другую сторону — приложение, которое использует MCP-серверы, — Клиенты.