1. Обзор протокола MCP: универсальный протокол инструментов в эпоху ИИ
Этот абзац демонстрирует жирный strong, курсив em, жирный тег b, встроенный код mcp-server, клавиатурное сочетание Cmd+Shift+P, устаревшие прямые вызовы JSON-RPC 2.0 и выделенные ключевые выводы. Если вы уже арендовали узел Mac mini M4 в консоли vmzig, следуйте этому руководству для немедленного развёртывания изолированного MCP-сервера.
Model Context Protocol (MCP) был выпущен Anthropic в конце 2024 года для решения проблемы интеграции N×M между ИИ-хостами (Cursor, Claude Desktop и др.) и внешними инструментами. MCP сводит это к одному стандартному протокольному уровню. К 2026 году он широко принят OpenAI, Google, Microsoft и другими крупными экосистемами.
Заметка архитектора: Ключевая ценность MCP — не «ещё один API-стандарт», а стандартизация трёх вещей: обнаружение инструментов (Discovery), вызов (Invocation) и внедрение контекста (Context Injection). Запуск MCP-сервера на изолированном удалённом Mac предотвращает загрязнение локальной среды разработки и учётных данных.
2. Трёхуровневая модель Host-Client-Server
Детальное описание трёх ролей MCP
Обязанности каждой роли
| Роль | Обязанность | Типичные продукты |
|---|---|---|
| MCP Host | ИИ-приложение, инициирующее обнаружение и вызов инструментов | Cursor, Claude Desktop |
| MCP Client | Протокольный адаптер внутри Host, поддерживает соединение 1:1 с Server | Встроен в Host |
| MCP Server | Независимый процесс, предоставляющий инструменты, ресурсы и промпты | filesystem, git, sqlite и др. |
Принцип минимальных привилегий
Удалённые узлы должны следовать принципу минимальных привилегий: каждый проект MCP использует выделенного пользователя Unix, SSH-ключи изолируются по проектам, логи пишутся в отдельные директории. В production-окружениях никогда не запускайте MCP Server от имени root.
Чеклист инструментов (ul)
- Использовать vmzig Mac mini M4 как изолированную песочницу (24 ГБ выделенная физическая машина)
- Открывать MCP-порт через проброс портов SSH — без прямого внешнего доступа
- Зарегистрировать эндпоинт сервера в
~/.cursor/mcp.json - Регулярно ротировать SSH-ключи (рекомендуется каждые 90 дней)
Шаги развёртывания (ol)
- Арендовать узел Mac mini M4 в консоли vmzig и получить SSH-учётные данные
- Создать выделенного пользователя
mcp-isolated - Установить Node.js LTS и MCP SDK
- Написать
server.tsс объявлением определений инструментов - Запустить сервер и проверить список инструментов с помощью
mcp-cli
3. Сравнение локального и удалённого Mac MCP
Таблица сравнения сценариев
| Измерение | Локальный MCP | Удалённый Mac MCP (vmzig M4) |
|---|---|---|
| Изоляция | Низкая — общий основной аккаунт | Высокая — выделенный пользователь Unix |
| Предел вычислений | Ограничен нагрузкой локальной машины | M4 24 ГБ выделенная физическая машина |
| Безопасность ключей | Легко смешивается с ежедневной разработкой | SSH-ключи изолированы по проектам |
| Параллелизм мульти-агентов | Серьёзная конкуренция за ресурсы | Несколько SSH-сессий без взаимных помех |
| Лучший сценарий | Быстрое прототипирование | Соответствие команды, production-развёртывание |
4. Практика удалённого развёртывания: настройка SSH-изоляции
Блок кода: Создание изолированного пользователя
# Создание изолированного пользователя на удалённом Mac и настройка прав директории
sudo sysadminctl -addUser mcp-isolated -password -
sudo mkdir -p /Users/mcp-isolated/mcp-workspace
sudo chown mcp-isolated:staff /Users/mcp-isolated/mcp-workspace
Блок кода: Запуск MCP-сервера
// server.ts — пример с Filesystem MCP Server
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
const server = new Server({ name: "vmzig-fs", version: "1.0.0" }, {
capabilities: { tools: {} }
});
const transport = new StdioServerTransport();
await server.connect(transport);
Список определений (dl): Распространённые переменные окружения
- MCP_HOST
- Адрес прослушивания MCP-сервера, по умолчанию
127.0.0.1; при удалённом развёртывании оставить localhost и пробросить через SSH - MCP_PORT
- Порт прослушивания, по умолчанию
3000; настраивается по проекту для избежания конфликтов - NODE_ENV
- Среда выполнения; установить
productionпри развёртывании для включения оптимизации - SSH_KEY_PATH
- Путь к приватному SSH-ключу, рекомендуемое расположение
~/.ssh/project-name_ed25519
Сворачиваемый блок (details): Команды проброса портов SSH
Нажмите для развёртывания: Полная команда проброса портов SSH
Маппинг порта 3000 удалённого Mac на локальный для подключения Cursor MCP Client:# Установить SSH-туннель (запуск в фоне)
ssh -N -f -L 3000:127.0.0.1:3000 \
-i ~/.ssh/vmzig_ed25519 \
mcp-isolated@your-vmzig-node.com
5. Демонстрация изображений и медиа
6. Примеры цитат и разделителей
Предупреждение безопасности: Никогда не открывайте MCP-сервер напрямую в публичный интернет (например, устанавливая
MCP_HOST=0.0.0.0). Проброс портов SSH — самый безопасный метод удалённого доступа.
7. Вложенные списки и смешанные элементы
После развёртывания проверьте по этому чеклисту:
- Сетевой уровень
- Порт доступен:
curl http://localhost:3000/healthвозвращает{"status":"ok"} - Брандмауэр: Ctrl+C мгновенно закрывает порт после остановки
- Уровень инструментов
- Список инструментов непуст:
mcp-cli list-tools --server 3000
Упорядоченные шаги приёмки:
- Запустить MCP-сервер
- Установить SSH-туннель
- Зарегистрировать эндпоинт в
mcp.jsonCursor - Перезапустить Cursor и подтвердить отображение инструмента
- Выполнить реальный вызов инструмента и проверить вывод логов
Резюме: Эта пробная статья намеренно охватывает все голые теги Prose, требуемые BLOG_WRITER_CHECKLIST §1. Изолированный запуск MCP-сервера на удалённом узле vmzig M4 обеспечивает оптимальную безопасность и производительность в production-среде.
Частые вопросы
Зачем пробной статье покрывать все элементы Prose?
Markdown рендерит голые HTML-теги; CSS-селекторы должны напрямую попадать в h2, table, kbd и т.д.
Как изолировать MCP Server на удалённом Mac vmzig?
Создайте отдельного пользователя Unix для каждого проекта MCP и подключайтесь через SSH port forwarding.
Читать также
Удалённый узел vmzig M4
Изолированное развёртывание MCP на удалённом узле vmzig M4
Аренда Mac mini M4 посуточно, прямой SSH, доставка за 24 часа