---
title: "MCP-сервер блога: как подключить статьи к Claude Code, Cursor и другим ассистентам"
url: "https://romankryvolapov.com/ru/mcp-server/"
description: "У блога есть свой MCP-сервер: ИИ-ассистент ищет по всем статьям на трёх языках и читает нужную целиком. Адрес, инструменты и настройка для Claude Code, Claude, Cursor, VS Code, Codex и Gemini CLI."
language: ru
published: 2026-11-03
updated: 2026-11-03
---
**Привет!**

У этого блога есть свой MCP-сервер. [MCP](https://modelcontextprotocol.io) (Model Context Protocol) — общий протокол, по которому ИИ-ассистент подключает внешние инструменты и данные; его понимают почти все современные ассистенты и агенты для программирования ([сравнение ИИ-агентов](/ru/ai-agent-harnesses/)). Подключив сервер, ассистент сам находит статью под ваш вопрос и читает её целиком вместе с листингами кода — без поиска ссылки, копирования текста и вставки его в чат.

## Адрес и что умеет сервер

- **Адрес:** `https://mcp.romankryvolapov.com/`
- **Транспорт:** Streamable HTTP. Авторизации нет — ни регистрации, ни ключа.
- **Только чтение:** сервер отдаёт опубликованные статьи и больше ничего не умеет; к вашим файлам и данным доступа у него нет.

| Инструмент | Что делает |
|---|---|
| `search` | ищет по всем статьям на английском, русском и украинском, запрос можно писать на любом из трёх языков; возвращает до 20 статей с заголовком, адресом и фрагментом текста |
| `get_page` | возвращает статью целиком в markdown по её адресу, например `https://romankryvolapov.com/ru/ktor-manual/`; листинги кода совпадают с сайтом байт в байт |

Сервер берёт текст с самого сайта и обновляет свой индекс примерно раз в час, поэтому новая статья находится через час-другой после публикации.

## Как подключить

Имя сервера в примерах ниже — `romankryvolapov`; оно может быть любым, ассистент видит его в списке инструментов.

### Claude Code

Одна команда в терминале, затем проверка связи:

```bash
claude mcp add --transport http --scope user romankryvolapov https://mcp.romankryvolapov.com/
claude mcp list
```

С `--scope user` сервер доступен во всех проектах; без этого флага — только в текущем. В выводе `claude mcp list` у сервера должно стоять «✔ Connected», внутри сессии то же показывает команда `/mcp`. Подробнее о командах и настройках — в [справочнике по Claude Code](/ru/claude-code-commands-and-settings/).

### Claude (сайт и приложение)

В Claude сервер подключается как свой коннектор — один раз для аккаунта, после чего работает и на сайте, и в приложении:

1. Customize → Connectors → «+ Add» → «Add custom connector».
2. Имя — любое, адрес — `https://mcp.romankryvolapov.com/`, затем «Continue».
3. В разделе Authentication выбрать «No sign in» и нажать «Add».
4. В чате: «+» слева внизу → Connectors → включить коннектор.

На бесплатном тарифе можно добавить один свой коннектор. Обращается к серверу облако Anthropic, а не ваш компьютер, — этому серверу так и нужно: он публичный.

### Cursor

Файл `~/.cursor/mcp.json` подключает сервер ко всем проектам, `.cursor/mcp.json` в корне проекта — только к нему:

```json
{
  "mcpServers": {
    "romankryvolapov": {
      "url": "https://mcp.romankryvolapov.com/"
    }
  }
}
```

Транспорт указывать не нужно: запись с полем `url` Cursor сам считает удалённым сервером.

### VS Code (GitHub Copilot)

Проще всего — командой MCP: Add Server из палитры команд: тип HTTP, затем адрес и имя. Вручную — в файле `.vscode/mcp.json` проекта:

```json
{
  "servers": {
    "romankryvolapov": {
      "type": "http",
      "url": "https://mcp.romankryvolapov.com/"
    }
  }
}
```

Здесь поле `type` обязательно, а корневой ключ называется `servers`, а не `mcpServers`, как у Cursor и Gemini CLI.

### Codex

```bash
codex mcp add romankryvolapov --url https://mcp.romankryvolapov.com/
```

Та же запись вручную, в `~/.codex/config.toml`:

```toml
[mcp_servers.romankryvolapov]
url = "https://mcp.romankryvolapov.com/"
```

Проверка — `codex mcp list` в терминале или `/mcp` внутри сессии.

### Gemini CLI

```bash
gemini mcp add --transport http --scope user romankryvolapov https://mcp.romankryvolapov.com/
```

Без `--scope user` сервер запишется в настройки текущего проекта, `.gemini/settings.json`. Вручную это выглядит так:

```json
{
  "mcpServers": {
    "romankryvolapov": {
      "httpUrl": "https://mcp.romankryvolapov.com/"
    }
  }
}
```

Ключ именно `httpUrl`: поле `url` в Gemini CLI означает старый транспорт SSE, и с ним сервер не подключится.

### Другие клиенты

Подойдёт любой клиент, который умеет подключать удалённые MCP-серверы. Нужны три вещи: адрес `https://mcp.romankryvolapov.com/`, транспорт Streamable HTTP (в настройках его называют HTTP или streamable-http) и отсутствие авторизации. Та же информация в машиночитаемом виде лежит в карточке сервера: `https://romankryvolapov.com/.well-known/mcp.json`.

## Как пользоваться

Когда вызывать инструмент, ассистент решает сам — по тому, о чём вы спрашиваете. Надёжнее всего назвать блог прямо:

- «Найди в блоге romankryvolapov.com, как в Ktor подключить Exposed и Koin».
- «Прочитай статью про хуки Claude Code и составь по ней чек-лист для моего проекта».
- «Что в блоге написано про LoRA и чем дообучение отличается от RAG?»

Ассистент сначала вызовет `search`, получит список статей с адресами, а потом заберёт нужную через `get_page` — целиком, а не пересказ из выдачи поисковика.

## Проверить сервер без клиента

Сервер отвечает на обычные JSON-RPC-запросы, поэтому проверить его можно и без ассистента — одним запросом из терминала:

```bash
curl -s https://mcp.romankryvolapov.com/ \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search","arguments":{"query":"Project Loom","limit":3}}}'
```

В ответ придёт JSON с найденными статьями: заголовок, адрес и фрагмент текста вокруг совпадения.

## Как он устроен

Сервер — небольшой Cloudflare Worker без базы данных. При первом обращении он скачивает с сайта `llms-full.txt` — полный текст всех статей в markdown, — делит его на статьи и строит в памяти поисковый индекс BM25: слово тем весомее, чем реже оно встречается на сайте в целом и чем чаще в конкретной статье. Отдельная поисковая библиотека для этого не нужна, а сервер отдаёт ровно то, что опубликовано на сайте, с теми же листингами.
