0Pricing
MCP Academy · Урок

Доступ к объекту контекста

Получайте доступ к контексту запроса внутри инструмента.

«Доступ к объекту контекста» — бесплатный урок MCP Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения MCP Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс MCP Academy содержит 4 уроков всего.

Познакомьтесь с объектом контекста

Объект контекста — это шлюз инструмента к запросу: он содержит общее состояние, а также помощники для ведения журнала и отображения хода выполнения.

Запросите его по типу

Добавьте параметр с типовой аннотацией Context, и FastMCP автоматически передаст его. Клиенты никогда не видят этот аргумент.

from mcp.server.fastmcp import Context

@mcp.tool()
async def greet(name: str, ctx: Context) -> str:
    return "hi " + name

Получите общее состояние

Обратитесь к ctx.request_context.lifespan_context, чтобы получить именно тот объект, который Ваш lifespan передал через yield при запуске.

app = ctx.request_context.lifespan_context
rows = await app.db.query("...")

Используйте общее соединение

Теперь Ваш инструмент работает с общим пулом, вместо того чтобы открывать совершенно новое соединение при каждом вызове.

Ведите журнал через контекст

Вызовите ctx.info, чтобы отправить строку журнала клиенту. Это гораздо полезнее, чем скрытый вывод с помощью print на сервере.

await ctx.info("loading user " + str(user_id))

Также сообщайте о ходе выполнения

Для медленных операций ctx.report_progress передаёт обновления о проценте выполнения, чтобы хост мог показать пользователю индикатор прогресса.

await ctx.report_progress(progress=3, total=10)

Он внедряется, а не передаётся вручную

Модель никогда не заполняет ctx. FastMCP распознаёт типовую аннотацию и передаёт его, поэтому он не входит в схему Вашего инструмента.

Асинхронным инструментам нужен контекст

Большинство помощников контекста являются ожидаемыми, поэтому определяйте использующие контекст инструменты как асинхронные функции, чтобы вызывать их корректно.

Назовите его как угодно

Имя параметра выбираете Вы; важно именно типовое обозначение. По соглашению его часто просто называют ctx.

Один контекст на запрос

Каждый вызов инструмента получает собственный контекст запроса, но все они указывают на одно и то же долговечное состояние lifespan.

Читайте метаданные запроса

Контекст также предоставляет метаданные запроса, поэтому инструмент может проверить сведения о конкретном обрабатываемом вызове.

Быстрая проверка

Как получить объект Context внутри инструмента FastMCP?

Итоги: объект контекста

Вы получаете доступ к общему состоянию через ctx.request_context.lifespan_context, а ctx используете для ведения журнала и отображения хода выполнения. Далее: корректное завершение работы. 🔌

Часто задаваемые вопросы

Урок «Доступ к объекту контекста» бесплатный?

Да — полный текст урока «Доступ к объекту контекста» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс MCP Academy, подпишись на CoddyKit PRO. Курс MCP Academy содержит 4 уроков всего.

Чему я научусь в уроке «Доступ к объекту контекста»?

Получайте доступ к контексту запроса внутри инструмента. Ты практикуешь MCP Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать MCP Academy?

Предыдущий опыт не требуется. MCP Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.

Сколько времени занимает урок «Доступ к объекту контекста»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке MCP Academy?

Да. Каждый урок MCP Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Обработчик запуска с учётом времени жизни
  2. Общий контекст приложения
  3. Доступ к объекту контекста
  4. Корректное завершение работы и освобождение ресурсов
← Назад к MCP Academy