MCP Python SDK
Машинний переклад
Цю сторінку перекладено автоматично з англомовної документації, і основною версією є англомовна сторінка. Якщо щось читається неправильно, на сторінці Переклади пояснено, як про це повідомити.
Це документація до v2, поточної стабільної лінійки випусків
Уперше працюєте з v2 або переходите з v1? Що нового у v2 — п'ятихвилинний огляд змін, а Посібник з міграції описує кожну несумісну зміну. Досі на v1.x? Її документація — на сторінці документації v1.x. Щось незручне чи незрозуміле? Розкажіть нам.
Model Context Protocol (MCP) дає застосункам змогу надавати контекст LLM у стандартизований спосіб, відокремлюючи надання контексту від самої взаємодії з LLM.
Це офіційний Python SDK для нього. З ним можна:
- Створювати MCP-сервери, що надають інструменти, ресурси та промпти будь-якому MCP-хосту.
- Створювати MCP-клієнти, що під'єднуються до будь-якого MCP-сервера.
- Працювати з усіма стандартними транспортами: stdio, Streamable HTTP і SSE.
Вимоги
Python 3.10+.
Встановлення
uv add "mcp[cli]"
pip install "mcp[cli]"
Додатковий набір [cli] дає команду mcp — вона знадобиться для розробки.
Для чого потрібна кожна залежність, описано на сторінці Встановлення.
Приклад
Створення
Створіть файл server.py:
from mcp.server import MCPServer
mcp = MCPServer("Demo")
@mcp.tool()
def add(a: int, b: int) -> int:
"""Add two numbers."""
return a + b
@mcp.resource("greeting://{name}")
def greeting(name: str) -> str:
"""Greet someone by name."""
return f"Hello, {name}!"
Це вже готовий MCP-сервер.
Він надає один інструмент, add, і один шаблонний ресурс, greeting://{name}.
Запуск
uv run mcp dev server.py
Ця команда запускає сервер і відкриває MCP Inspector — інтерактивний інтерфейс, щоб його дослідити. Відкрийте URL, який вона надрукує.
Note
Inspector — це застосунок на Node.js, тому mcp dev потребує npx у вашому PATH.
Спробуйте самі
В Inspector перейдіть на вкладку Tools і викличте add з a=1, b=2.
У відповідь приходить 3. ✨
Цю форму (обов'язкове цілочислове поле для a та ще одне для b) Inspector побудував з ваших анотацій типів. Так само зробить Claude і будь-який інший MCP-хост.
Тепер перейдіть на вкладку Resources і прочитайте greeting://World:
Hello, World!
Підсумки
Погляньте ще раз на те, чого ви не писали:
- Жодної JSON Schema.
a: int, b: int— це і є схема. - Жодного розбору запитів, серіалізації чи коду валідації.
- Жодної обробки протоколу взагалі.
Ви написали дві функції Python з анотаціями типів і рядком документації. Решту робить SDK.
Що далі
- Початок роботи проведе від встановлення до робочого, протестованого сервера.
- Створюєте застосунок, що використовує MCP-сервери? Почніть із розділу Клієнти.
- Уже маєте застосунок на FastAPI чи Starlette? Сторінка Додавання до наявного застосунку показує, як змонтувати в нього MCP-сервер.
- Шукаєте точне повідомлення про помилку? Усунення неполадок упорядковано за дослівним текстом.
- Цікаво, що змінилося у v2? Що нового у v2 — п'ятихвилинний огляд.
- Переходите з v1? Почніть із Посібника з міграції.
- Шукаєте точну сигнатуру? Довідник API згенеровано з вихідного коду.
- Читаєте разом з LLM? Цю документацію також опубліковано у форматі llms.txt: llms.txt — це покажчик сторінок, а llms-full.txt містить усі сторінки в одному файлі.