Перейти к содержимому

Быстрый старт

Запустите первый MCP сервер за 5 минут — пошаговое руководство для начинающих

Это руководство поможет вам создать и запустить первый MCP сервер за 5 минут. Выберите ваш язык программирования и следуйте инструкциям.

Простой MCP сервер с двумя инструментами:

  • add — сложение двух чисел
  • greet — приветствие по имени
  1. Создайте папку проекта

    Окно терминала
    mkdir my-mcp-server && cd my-mcp-server
  2. Установите зависимости

    Окно терминала
    pip install mcp
  3. Создайте файл server.py

    from mcp.server.fastmcp import FastMCP
    # Создаём сервер
    mcp = FastMCP("my-first-server")
    @mcp.tool()
    def add(a: int, b: int) -> int:
    """Сложить два числа"""
    return a + b
    @mcp.tool()
    def greet(name: str) -> str:
    """Поприветствовать по имени"""
    return f"Привет, {name}!"
    @mcp.resource("info://about")
    def get_about() -> str:
    """Информация о сервере"""
    return "Мой первый MCP сервер!"
    if __name__ == "__main__":
    mcp.run(transport="stdio")
  4. Запустите сервер

    Окно терминала
    python server.py
  5. Протестируйте с MCP Inspector

    Окно терминала
    npx @modelcontextprotocol/inspector python server.py

    Откройте http://localhost:6274 в браузере.

После запуска MCP Inspector:

  1. Откройте http://localhost:6274
  2. Нажмите Connect
  3. Перейдите в раздел Tools
  4. Выберите инструмент add
  5. Введите параметры: a = 5, b = 3
  6. Нажмите Call Tool
  7. Результат: 8

Stdio (standard input/output) — способ коммуникации через stdin/stdout. Клиент запускает ваш сервер как subprocess и общается через потоки ввода/вывода. Это самый простой и надёжный способ для локальной разработки.

npx @modelcontextprotocol/inspector запускает MCP Inspector без установки. Inspector — это веб-интерфейс для тестирования вашего сервера.

В Python (FastMCP):

@mcp.tool()
def my_tool(param1: str, param2: int = 10) -> str:
"""Описание инструмента (будет видно в Claude)"""
return f"Результат: {param1}, {param2}"

Описание в docstring автоматически становится description инструмента.

См. раздел Настройка клиентов — там пошаговые инструкции для всех платформ.