Подключение MCP-серверов к OpenCode: настройка и примеры
Подключение MCP-серверов к OpenCode: настройка и примеры
Подключение MCP-серверов к OpenCode превращает терминального ИИ-агента в полноценного ассистента, который умеет работать с базами данных, браузером, файлами и внешними API. В этом руководстве разберём, что такое MCP, как настроить mcp серверы в OpenCode и приведём готовые примеры конфигураций.
Что такое MCP и зачем он нужен
MCP (Model Context Protocol) — открытый протокол, созданный для связи ИИ-моделей с внешними инструментами. Вместо того чтобы описывать агенту, как работать с каждой системой, вы подключаете готовый MCP-сервер, и агент сам обнаруживает его возможности.
Преимущества MCP:
- Агент получает доступ к реальным данным и системам
- Один протокол вместо десятков интеграций
- Готовая экосистема серверов (npm, PyPI, Docker)
- Безопасность через явные разрешения
Как OpenCode работает с MCP
OpenCode автоматически обнаруживает MCP-серверы из конфигурации, запускает их и предоставляет их инструменты агенту. Агент вызывает инструменты MCP так же, как встроенные команды.
Типы MCP-серверов
| Тип | Запуск | Пример |
|---|---|---|
| stdio | Локальный процесс (npx, uvx) | filesystem, postgres |
| HTTP/SSE | Удалённый сервер по URL | браузерные сервисы, API |
| Docker | Контейнер | браузер, среда выполнения |
Настройка MCP-сервера в OpenCode
Шаг 1: создание конфигурации
Откройте файл конфигурации проекта — opencode.json в корне проекта (или глобальный ~/.config/opencode/opencode.json):
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"filesystem": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/user/Projects"]
},
"postgres": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres", "postgresql://user:pass@localhost:5432/db"]
}
}
}
Шаг 2: перезапуск OpenCode
После сохранения конфигурации перезапустите OpenCode. Серверы появятся в списке инструментов — проверьте командой opencode --help или просто задайте агенту задачу, использующую MCP.
Шаг 3: проверка подключения
opencode run "покажи список таблиц в базе данных"
Если MCP-сервер подключён, агент выполнит запрос к БД и вернёт результат.
Популярные MCP-серверы и примеры
Файловая система (filesystem)
{
"filesystem": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/user/Projects"]
}
}
Позволяет агенту читать, создавать и редактировать файлы за пределами рабочей папки.
PostgreSQL (база данных)
{
"postgres": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres", "postgresql://user:pass@localhost:5432/mydb"]
}
}
Агент выполняет SQL-запросы, анализирует схемы и данные.
Браузер (автоматизация веба)
{
"browser": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@playwright/mcp@latest"]
}
}
Агент открывает страницы, кликает, заполняет формы и делает скриншоты.
GitHub
{
"github": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github", "YOUR_GITHUB_TOKEN"]
}
}
Управление репозиториями, issues и пул-реквестами через агента.
Таблица: MCP-серверы одной строкой
| Сервер | Команда запуска | Назначение |
|---|---|---|
| Filesystem | npx @modelcontextprotocol/server-filesystem |
Файлы и папки |
| Postgres | npx @modelcontextprotocol/server-postgres |
База данных PostgreSQL |
| SQLite | npx mcp-server-sqlite |
Локальная база SQLite |
| Fetch | npx mcp-server-fetch |
Загрузка веб-страниц |
| Browser (Playwright) | npx @playwright/mcp |
Управление браузером |
| GitHub | npx @modelcontextprotocol/server-github |
GitHub API |
| Memory | npx @modelcontextprotocol/server-memory |
Постоянная память агента |
Управление MCP-серверами
Просмотр подключённых серверов
opencode run "покажи список подключённых MCP-серверов и их инструменты"
Отключение сервера
Удалите блок из конфигурации opencode.json и перезапустите OpenCode.
Локальный MCP-сервер (свой)
MCP-сервер можно написать самостоятельно на Python (fastmcp) или TypeScript (SDK). Это позволяет подключить к агенту любую вашу систему: CRM, базу, внутренний API.
Безопасность MCP
Правила безопасности при подключении MCP-серверов:
- Используйте только проверенные серверы с открытым исходным кодом
- Не передавайте токены и пароли в открытом виде в конфигурации
- Ограничивайте доступ файловых серверов только нужными папками
- Для production-систем используйте HTTP-серверы с аутентификацией
- Периодически проверяйте логи и разрешения
Частые ошибки при настройке MCP
| Ошибка | Причина | Решение |
|---|---|---|
| Server not found | npx не установлен | Установите Node.js 20+ или используйте uvx |
| Connection refused | Сервер не запустился | Проверьте команду и параметры в конфигурации |
| Permission denied | Нет доступа к ресурсу | Настройте права и пути в конфигурации |
| Server crashed | Ошибка в сервере | Проверьте версию сервера и обновите |
Что дальше
После настройки MCP-серверов ваш агент получит доступ к внешним системам. Продолжайте изучение:
- Создание агентов в OpenCode
- Управление контекстом в OpenCode
- Автономный режим OpenCode
- Документация OpenCode (рус.)
Следующие шаги
Часто задаваемые вопросы
- Что такое MCP-серверы в OpenCode? — Протокол подключения внешних инструментов и данных к агенту.
- Как настроить MCP-сервер? — Через секцию mcp в opencode.json: имя, команда, аргументы.
- Какие MCP-серверы популярны? — Filesystem, Postgres, Browser, GitHub, Fetch, Memory.
- Нужен ли MCP для БД? — Не обязателен, но упрощает работу с данными.
- Безопасно ли подключать MCP? — Да, при использовании проверенных серверов и явных разрешений.
Заключение
Подключение MCP-серверов к OpenCode расширяет возможности агента до работы с реальными системами: базами, браузером, файлами и API. Начните с простых серверов (filesystem, fetch) и постепенно подключайте более сложные. Готовы автоматизировать свой бизнес с помощью ИИ-агентов? Свяжитесь с нами.
Отчёт создан: [email protected] · refertur.net · t.me/realhikaz · WhatsApp SEO, продвижение, разработка, сайты, веб-приложения, сервисы, калькуляторы, контент-маркетинг, каталоги, отчёты, аудиты — на заказ. Напишите нам в WhatsApp — ответим в течение часа.
Нужен аудит, SEO или разработка?
Сделаем продвижение, сайт, сервис или калькулятор под вашу задачу — ответим в течение часа.
Написать в WhatsAppTelegram