Создайте MCP-сервер для Клода Кода — практическое, пошаговое руководство

CometAPI
AnnaNov 22, 2025
Создайте MCP-сервер для Клода Кода — практическое, пошаговое руководство

Протокол контекста модели (MCP) — это открытый стандарт, который позволяет использовать такие модели, как Anthropic Клод и инструменты разработчика, такие как Клод Код обращайтесь к внешним инструментам, источникам данных и подсказкам безопасным и стандартным способом.

Это руководство проведет вас через процесс создания собственного сервера MCP с нуля, что позволит Claude Code получить доступ к пользовательским функциям и, таким образом, значительно расширить его функциональность за пределы встроенных функций.

Что такое протокол контекста модели (MCP)?

MCP (протокол контекста модели) — это открытая спецификация Разработан для стандартизации подключения клиентов языковой модели (таких как Claude, Claude Code и других LLM-фронтендов) к серверам инструментов и источникам данных. MCP можно представить как «порт USB-C для LLM»: он определяет схему транспорта/JSON-RPC и общий способ публикации серверами трёх видов возможностей:

  • Ресурсы — данные в виде файла или документа, которые клиент может прочитать (например, строка базы данных, текстовый файл, полезная нагрузка JSON).
  • Инструменты — вызываемые функции, которые модель может попросить хост выполнить (с одобрения пользователя).
  • Запрашивает — многоразовые шаблоны подсказок или рабочие процессы, которые может вызывать модель/клиент.

MCP поддерживает несколько транспортных протоколов (stdio, HTTP, SSE) и предоставляет схему, SDK и примеры серверов, поэтому вам не придётся изобретать формат протокола самостоятельно. Протокол поддерживается публично (спецификация + SDK) и содержит обучающие материалы и галерею примеров серверов для ускорения внедрения.

Какова архитектура MCP?

Архитектура MCP намеренно проста и модульна: основные элементы MCP серверы, МКП клиентов и транспорты которые передают между собой сообщения в формате JSON-RPC. Ниже перечислены основные компоненты, с которыми вы будете взаимодействовать при создании сервера для Claude Code (или других клиентов MCP).

Сервер, клиент и протокол

  • МСР-сервер — Услуга, которая издает Инструменты, ресурсы и подсказки. Инструменты могут выполнять побочные эффекты или извлекать данные; ресурсы отображают контент, доступный только для чтения; подсказки представляют собой многоразовые шаблоны подсказок, которые клиент может запросить у модели для выборки.
  • Клиент MCP (хост) — Обычно является частью хоста LLM (например, Claude Code, плагина VS Code, браузерного клиента). Он обнаруживает доступные серверы, предоставляет модели описания инструментов и направляет вызовы, инициированные моделью, серверам.
  • протокол — Сообщения кодируются как JSON-RPC; спецификация определяет события жизненного цикла, обнаружение инструментов, вызов, завершение/выборку, а также то, как структурированные результаты передаются обратно клиенту и модели.

Модель коммуникации (что происходит при использовании инструмента)

  1. Клиент отправляет пользовательское сообщение модели.
  2. Модель анализирует контекст и решает вызвать инструмент, предоставленный MCP (или несколько инструментов).
  3. Клиент пересылает вызов инструмента на сервер MCP по выбранному транспорту.
  4. Сервер запускает инструмент и возвращает результаты.
  5. Модель получает выходные данные инструмента и формирует окончательный ответ для пользователя.

Примитивы реализации

  • JSON-RPC сообщения следуют схеме MCP.
  • Определения инструментов публикуются в ответах обнаружения сервера, чтобы клиенты могли представить их в пользовательском интерфейсе.
  • Ресурсы ссылаются @source:path синтаксис клиентов (например, @postgres:...), позволяя моделям ссылаться на внешний контент без встраивания больших объемов данных в подсказку.

Зачем интегрировать Claude Code с серверами MCP?

Claude Code — это предложение Anthropic, ориентированное на рабочие процессы, ориентированные на код и разработчика (интеграция редактора/IDE, понимание кода и т. д.). Доступ к внутренним инструментам (поиск исходного кода, CI-менеджер, система тикетов, приватные реестры) через серверы MCP позволяет Claude Code вызывать их как первоклассные инструменты внутренние диалоги по кодированию и потоки агентов.

Интеграция Claude Code с серверами MCP открывает практические, важные для производства возможности для программиста:

1. Пусть модель действовать на реальных системах

Claude Code может запрашивать у MCP-сервера запросы к системам отслеживания ошибок, выполнять запросы к базе данных, читать большие документы или создавать запросы на выдачу (PR) на GitHub, обеспечивая сквозную автоматизацию прямо в процессе кодирования. Это явно поддерживается документацией Claude Code (примеры: запросы к Postgres, Sentry или создание запросов на выдачу).

2. Разгрузка больших объемов данных и специализированной логики

Вместо того, чтобы встраивать каждый источник данных в запрос (что требует использования токенов), вы публикуете данные и инструменты через MCP. Модель вызывает инструмент, получает структурированный ответ и согласовывает его — это сокращает использование токенов и позволяет серверам справляться с тяжёлой нагрузкой (запросы к базе данных, длительное чтение файлов, аутентификация).

3. Безопасность и управление

MCP централизует управление доступом и аудит на уровне сервера, позволяя организациям составлять белый список одобренных серверов, контролировать доступные инструменты и ограничивать выходные данные. Claude Code также поддерживает корпоративную конфигурацию MCP и согласование на уровне области действия.

4. Повторное использование и экосистема

Серверы MCP можно использовать повторно разными клиентами и командами. Один раз создав сервер, вы сможете использовать те же сервисы (или обмениваться реализациями) множеством клиентов Claude/LLM.

Что вам нужно перед тем, как начать?

Минимальные требования

  • Машина для разработки с Python 3.10 + (В примере мы будем использовать Python). В качестве альтернативы, Node и другие языки поддерживаются пакетами SDK MCP.
  • uv (инструмент Astral) или эквивалентный инструмент для запуска серверов MCP stdio (в руководстве MCP используется uv). Шаги установки показаны ниже.
  • Установите Claude Code или получите доступ к клиенту Claude (настольному или CLI) для регистрации и тестирования сервера; или к любому клиенту с поддержкой MCP. Claude Code поддерживает HTTP, SSE и локальные серверы stdio.
  • Примечание о безопасности: Добавляйте в Claude Code только доверенные серверы MCP в настройках группы или предприятия — MCP предоставляет серверам доступ к конфиденциальным данным, и существуют риски немедленного внедрения, если сервер возвращает вредоносный контент.

Как установить и проверить Claude Code CLI

Это Руководство по установке и использованию Claude Code.

1) Краткий обзор — рекомендуемые методы установки

Использовать собственный установщик (рекомендуется) или Homebrew на macOS/Linux. NPM доступен для установки на базе Node. Для Windows доступны установщики PowerShell/CMD. Источник: официальная документация Claude Code и GitHub.


2) Предварительные условия

  • macOS 10.15+, Ubuntu 20.04+/Debian 10+ или Windows 10+ (для Windows рекомендуется WSL).
  • Node.js 18+ только требуется для метода установки NPM.

3) Команды установки (выберите одну)

Нативный (рекомендуется — без зависимости от Node),macOS / Linux / WSL:

curl -fsSL https://claude.ai/install.sh | bash
# optional: install latest explicitly

curl -fsSL https://claude.ai/install.sh | bash -s latest
# or install a specific version

curl -fsSL https://claude.ai/install.sh | bash -s 1.0.58

Windows PowerShell:

irm https://claude.ai/install.ps1 | iex
# or for latest: & (::Create((irm https://claude.ai/install.ps1))) latest

(Это официальные собственные скрипты установщика).

NPM (если вам нужна глобальная установка на базе Node):

# requires Node.js 18+

npm install -g @anthropic-ai/claude-code

Не используют sudo npm install -g — предупредить о глобальных установках с помощью sudo (проблемы с правами доступа/безопасностью). Если возникнут ошибки с правами доступа, используйте nvm или исправьте глобальный префикс npm вместо использования sudo.

4) Убедитесь, что двоичный файл установлен (базовые проверки)

Запустите их локально сразу после установки:

# is the command on PATH?

which claude

# version (or -v)

claude --version
# or

claude -v

# help (sanity check)

claude --help

Ожидаемое: which показывает путь (например /usr/local/bin/claude or ~/.nvm/.../bin/claude) и расширение claude --version выводит строку, похожую на semver. В документации и README указано claude в качестве основной точки входа CLI.


5) Проверка работоспособности и конфигурации установки (рекомендуемые проверки)

a) claude doctor,Бегать:

claude doctor

Эта встроенная диагностика проверяет тип установки, общие проблемы (например, проблемы с правами доступа npm), зависимости, такие как ripgrep, и предлагает исправления. В документации прямо рекомендуется запустить claude doctor после установки.

б) Провести дымовой тест (неинтерактивный)

Из каталога вашего проекта:

cd /path/to/your/project
claude -p "Explain this project in 3 sentences"

Это использует Распечатать Режим (-p) для отправки одного приглашения и выхода; подходит для непрерывной интеграции или быстрых функциональных проверок.

c) Проверка подлинности (убедитесь, что CLI может связаться с Anthropic)

Claude Code поддерживает несколько способов аутентификации (консольный OAuth, ключ API, интеграция с провайдерами). Распространенные проверки:

  1. При использовании ключа API (CI / headless / local env var):
export ANTHROPIC_API_KEY="sk-..."
# then

claude auth status
claude auth whoami    # or `claude auth whoami` / `claude whoami` depending on version

Вы можете использовать CometAPIAPI-ключ для использования Claude Code. Использование API Claude через CometAPI даст вам скидку 20%.

  1. Если вы использовали OAuth через консоль - бегать:
claude auth status
claude auth whoami

Вы должны увидеть информацию об учетной записи/плане или подтверждение того, что вы прошли аутентификацию.

Пошаговая подготовка среды

Ниже приведены конкретные шаги по подготовке двух распространенных стеков разработчика (TypeScript и Python), за которыми следуют быстрые проверки, чтобы убедиться, что все работает.

H3 — A. Настройка TypeScript / Node (самый быстрый путь)

  1. Создайте проект и установите SDK:
mkdir mcp-demo && cd mcp-demo
npm init -y
npm install @modelcontextprotocol/sdk express zod
npm install --save-dev typescript tsx @types/node @types/express
  1. Создавай server.ts(Мы приводим полный пример в разделе «Как быстро построить…».)
  2. Run:
npx -y tsx server.ts
  1. Протестируйте локально с помощью Инспектор МКП или добавьте в код Клода:
npx @modelcontextprotocol/inspector
# or (for Claude Code)

claude mcp add --transport http my-server http://localhost:3000/mcp

(Команды «Инспектор» и «Клод» позволяют вам проверять обнаружение и вызывать инструменты.)

Как быстро собрать MCP-сервер для Клода Кода?

быстрый контрольный список

  1. Запустите свой сервер (рекомендуется потоковый HTTP): node server.ts or uvicorn server:app.

  2. На вашем компьютере разработчика выполните одно из следующих действий:

  • Используйте Инспектор МКП для проверки (npx @modelcontextprotocol/inspector) и подтвердите tools/list и resources/list; или
  • Добавьте сервер в Клод Код: claude mcp add --transport http <name> http://<host>:<port>/mcp (или следуйте инструкциям веб-интерфейса, если ваш клиент поддерживает удаленный MCP).

Если вы планируете использовать коннектор API Messages от Anthropic для удаленного MCP (без отдельного клиента), прочтите документацию Клода — может потребоваться заголовок бета-версии (точный заголовок и текущий статус поддержки проверьте в документации).

Ниже приведены два полных, но компактных примера сервера, которые можно скопировать, запустить и подключить к Claude Code (или MCP Inspector). Пример на TypeScript использует Express и TypeScript SDK; пример на Python демонстрирует монтирование FastAPI.

Примечание: приведённый ниже код соответствует общедоступным примерам SDK и намеренно минимизирован для ясности. Для производственной среды добавьте аутентификацию, логирование, ограничение скорости и проверку входных данных сверх настроек SDK по умолчанию.


Пример 1: TypeScript + Express (потоковый HTTP)

Создавай server.ts (полный):

// server.ts
import express from "express";
import * as z from "zod/v4";
import { McpServer, ResourceTemplate } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";

const server = new McpServer({ name: "claude-code-demo", version: "0.1.0" });

// Register a simple tool: add two numbers
server.registerTool(
  "add",
  {
    title: "Add",
    description: "Add two numbers a and b",
    inputSchema: { a: z.number(), b: z.number() },
    outputSchema: { result: z.number() }
  },
  async ({ a, b }) => {
    const output = { result: a + b };
    return {
      content: ,
      structuredContent: output
    };
  }
);

// Register a resource: greet user (dynamic)
server.registerResource(
  "greeting",
  new ResourceTemplate("greeting://{name}", { list: undefined }),
  { title: "Greeting", description: "Return a greeting for the name" },
  async (uri, params) => {
    return {
      contents: 
    };
  }
);

// Express + Streamable HTTP transport
const app = express();
app.use(express.json());

app.post("/mcp", async (req, res) => {
  const transport = new StreamableHTTPServerTransport({ enableJsonResponse: true });
  // Close transport when connection closes
  res.on("close", () => transport.close());
  await server.connect(transport);
  await transport.handleRequest(req, res, req.body);
});

const port = parseInt(process.env.PORT || "3000", 10);
app.listen(port, () => console.log(`MCP server listening: http://localhost:${port}/mcp`));

Run:

npm install
npx -y tsx server.ts

Затем подключите Claude Code (пример):

# Add the remote server to your Claude Code MCP list (local dev)

claude mcp add --transport http my-demo http://localhost:3000/mcp

Этот пример адаптирован из официального краткого руководства по TypeScript SDK и демонстрирует, как регистрировать инструменты и ресурсы, а затем предоставлять их через потоковый HTTP.


Пример 2: Python + FastAPI (FastMCP + потоковый HTTP)

Создавай server.py (полный):

# server.py

from fastapi import FastAPI
from mcp.server.fastmcp import FastMCP

app = FastAPI()
mcp = FastMCP("claude-python-demo", stateless_http=True)

# tool: simple sum

@mcp.tool()
def add(a: int, b: int) -> dict:
    """Add two integers"""
    return {"result": a + b}

# resource: simple greeting resource template

@mcp.resource("greeting://{name}")
def greeting(name: str):
    return {"contents": }

# mount the streamable-http MCP endpoint (FastMCP exposes an ASGI app)

app.mount("/mcp", mcp.streamable_http_app())

# optional endpoint to demonstrate other API routes

@app.get("/")
async def root():
    return {"status": "OK"}

Run:

uvicorn server:app --reload --port 8000

Связаться с инспектором:

npx @modelcontextprotocol/inspector
# In Inspector select Streamable HTTP and enter http://localhost:8000/mcp

Примеры Python SDK и утилиты FastMCP упрощают регистрацию @mcp.tool() и @mcp.resource() декорированные функции, которые LLM может обнаружить и вызвать.


Как на самом деле Клод Код называет ваши инструменты?

Когда LLM решает использовать инструмент, клиент отправляет вызов JSON-RPC на сервер MCP. Сервер выполняет запрошенный инструмент (например, выполняет запрос к базе данных, запускает тесты или вызывает внешний API) и возвращает структурированный контент и презентабельный контентКлиент (Клод Код) может затем включить структурированный вывод в контекст модели, чтобы модель могла продолжать рассуждения, используя эти достоверные данные, а не только текстовый вывод сервера. TypeScript SDK поддерживает регистрацию inputSchema и outputSchema (zod) поэтому аргументы и выходные данные проверяются и типизируются машиной.


Какие инструменты тестирования и отладки следует использовать?

Инспектор МКП

The Инспектор МКП — официальный визуальный инструмент разработчика для тестирования серверов MCP. Он позволяет подключаться к серверу (stdio, SSE или streamable-HTTP), получать список инструментов, вызывать их вручную и отслеживать жизненный цикл сообщений JSON-RPC — незаменимый инструмент при разработке. Запустить его можно через npx @modelcontextprotocol/inspector.

Локальное и удаленное тестирование

  • Локальный (stdio) — быстрый итерационный цикл для настольных приложений и автономной отладки.
  • Потоковый HTTP — протестируйте с помощью Inspector или подключитесь к Claude Code с помощью claude mcp add CLI или коннектор MCP в API Messages для удалённого тестирования. Обязательно предоставьте все необходимые заголовки аутентификации для вашего сервера.

Заключение

MCP — это практичный мост между современными LLM-программами и системами, которые фактически хранят данные и выполняют действия. Для рабочих процессов кода интеграция Claude Code с сервером MCP обеспечивает структурированный, контролируемый доступ к репозиториям, непрерывной интеграции (CI), системам отслеживания ошибок и специализированным инструментам, что обеспечивает более точную автоматизацию и более безопасные побочные эффекты. Благодаря официальным SDK на TypeScript и Python, потоковому HTTP для удалённого хостинга и таким инструментам, как MCP Inspector, вы можете создать минимальный сервер за считанные минуты и перейти к его развертыванию в рабочей среде.

Разработчики могут получить доступ Клод Соннет 4.5 API и Клод Опус 4.1 API и т.д. через CometAPI, последняя версия модели Всегда обновляется на официальном сайте. Для начала изучите возможности модели в Детская Площадка и проконсультируйтесь с API-руководство для получения подробных инструкций. Перед доступом убедитесь, что вы вошли в CometAPI и получили ключ API. CometAPI предложить цену намного ниже официальной, чтобы помочь вам интегрироваться.

Готовы к работе?→ Зарегистрируйтесь в CometAPI сегодня !

Если вы хотите узнать больше советов, руководств и новостей об искусственном интеллекте, подпишитесь на нас VKX и Discord!

Читать далее

500+ моделей в одном API

Скидка до 20%