MCP Сервер
MCP Сервер
Заголовок раздела «MCP Сервер»Notifly MCP Server — это реализация Model Context Protocol (MCP), позволяющая AI-ассистентам (Claude, GitHub Copilot и другим) управлять Notifly через набор готовых инструментов.
С помощью MCP-сервера AI-ассистент может:
- отправлять уведомления в каналы;
- читать, фильтровать и удалять сообщения;
- создавать и управлять каналами и клиентами;
- администрировать пользователей сервера.
Установка
Заголовок раздела «Установка»Требования
Заголовок раздела «Требования»- Go 1.21 или новее
Сборка из исходников
Заголовок раздела «Сборка из исходников»git clone https://github.com/notifly/mcp.gitcd mcpgo mod tidygo build -o notifly-mcp .Готовый бинарный файл notifly-mcp запускается через stdio-транспорт — MCP-клиент запускает его как дочерний процесс.
Конфигурация
Заголовок раздела «Конфигурация»Сервер настраивается исключительно через переменные окружения:
| Переменная | Обязательная | Описание |
|---|---|---|
NOTIFLY_URL | ✓ | Базовый URL сервера Notifly, например https://your-domain.com |
NOTIFLY_APP_TOKEN | App-токен (префикс A) — для инструмента send_message | |
NOTIFLY_CLIENT_TOKEN | MCP-код (префикс M) или client-токен (префикс C) — для управления ресурсами | |
NOTIFLY_USER | Логин для Basic Auth (альтернатива MCP-коду) | |
NOTIFLY_PASS | Пароль для Basic Auth |
Подключение к Claude Desktop
Заголовок раздела «Подключение к Claude Desktop»Откройте файл конфигурации Claude Desktop:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Добавьте секцию mcpServers:
{ "mcpServers": { "notifly": { "command": "/usr/local/bin/notifly-mcp", "env": { "NOTIFLY_URL": "https://your-notifly-domain.com", "NOTIFLY_APP_TOKEN": "AGdjfk_L.dKe8q", "NOTIFLY_CLIENT_TOKEN": "CaQw5lL_L.yiRbN" } } }}После перезапуска Claude Desktop инструменты Notifly появятся в интерфейсе.
Подключение к VS Code (GitHub Copilot)
Заголовок раздела «Подключение к VS Code (GitHub Copilot)»Добавьте в .vscode/mcp.json в корне проекта или в пользовательские настройки VS Code:
{ "servers": { "notifly": { "type": "stdio", "command": "/usr/local/bin/notifly-mcp", "env": { "NOTIFLY_URL": "https://your-notifly-domain.com", "NOTIFLY_APP_TOKEN": "AGdjfk_L.dKe8q", "NOTIFLY_CLIENT_TOKEN": "CaQw5lL_L.yiRbN" } } }}Подключение к Cursor
Заголовок раздела «Подключение к Cursor»Добавьте файл .cursor/mcp.json в корень проекта (project-scope) или ~/.cursor/mcp.json глобально:
{ "mcpServers": { "notifly": { "command": "/usr/local/bin/notifly-mcp", "env": { "NOTIFLY_URL": "https://your-notifly-domain.com", "NOTIFLY_APP_TOKEN": "AGdjfk_L.dKe8q", "NOTIFLY_CLIENT_TOKEN": "CaQw5lL_L.yiRbN" } } }}После сохранения файла Cursor подхватит сервер автоматически. Убедитесь, что notifly-mcp доступен в PATH.
Подключение к Windsurf
Заголовок раздела «Подключение к Windsurf»Откройте или создайте файл ~/.codeium/windsurf/mcp_config.json и добавьте секцию mcpServers:
{ "mcpServers": { "notifly": { "command": "/usr/local/bin/notifly-mcp", "env": { "NOTIFLY_URL": "https://your-notifly-domain.com", "NOTIFLY_APP_TOKEN": "AGdjfk_L.dKe8q", "NOTIFLY_CLIENT_TOKEN": "CaQw5lL_L.yiRbN" } } }}После сохранения перезапустите Windsurf — инструменты Notifly появятся в Cascade.
Подключение к Claude Code (CLI)
Заголовок раздела «Подключение к Claude Code (CLI)»Используйте команду claude mcp add для регистрации сервера:
claude mcp add notifly /usr/local/bin/notifly-mcp \ -e NOTIFLY_URL=https://your-notifly-domain.com \ -e NOTIFLY_CLIENT_TOKEN=CaQw5lL_L.yiRbNФлаг --scope user добавляет сервер глобально для всех проектов (по умолчанию — project-scope). Проверить список добавленных серверов: claude mcp list.
Подключение к Codex CLI
Заголовок раздела «Подключение к Codex CLI»Откройте или создайте файл ~/.codex/config.toml и добавьте секцию:
[[mcp_servers]]name = "notifly"command = "/usr/local/bin/notifly-mcp"env = { NOTIFLY_URL = "https://your-notifly-domain.com", NOTIFLY_CLIENT_TOKEN = "CaQw5lL_L.yiRbN" }После сохранения Codex подхватит сервер при следующем запуске. Убедитесь, что notifly-mcp доступен в PATH.
Подключение к Zed
Заголовок раздела «Подключение к Zed»Откройте файл настроек Zed (~/.config/zed/settings.json) и добавьте секцию context_servers:
{ "context_servers": { "notifly": { "command": { "path": "/usr/local/bin/notifly-mcp", "args": [], "env": { "NOTIFLY_URL": "https://your-notifly-domain.com", "NOTIFLY_CLIENT_TOKEN": "CaQw5lL_L.yiRbN" } } } }}Zed подхватит сервер без перезапуска.
Подключение к Continue
Заголовок раздела «Подключение к Continue»Добавьте секцию mcpServers в файл конфигурации Continue (~/.continue/config.json):
{ "mcpServers": [ { "name": "notifly", "command": "/usr/local/bin/notifly-mcp", "env": { "NOTIFLY_URL": "https://your-notifly-domain.com", "NOTIFLY_CLIENT_TOKEN": "CaQw5lL_L.yiRbN" } } ]}Continue поддерживается как расширение для VS Code и JetBrains IDE.
Доступные инструменты
Заголовок раздела «Доступные инструменты»Информация о сервере
Заголовок раздела «Информация о сервере»| Инструмент | Описание |
|---|---|
get_health | Проверить работоспособность сервера и базы данных |
get_version | Получить версию, commit и дату сборки |
get_server_info | Получить флаги сервера (регистрация, OIDC) |
Сообщения
Заголовок раздела «Сообщения»| Инструмент | Параметры | Описание |
|---|---|---|
send_message | message*, title, priority | Отправить уведомление (требует NOTIFLY_APP_TOKEN) |
list_messages | limit, since | Список всех сообщений с пагинацией |
list_application_messages | app_id*, limit, since | Сообщения конкретного канала |
delete_message | id* | Удалить сообщение по ID |
delete_all_messages | — | Удалить все сообщения |
delete_application_messages | app_id* | Удалить все сообщения канала |
| Инструмент | Параметры | Описание |
|---|---|---|
list_applications | — | Список всех каналов |
create_application | name*, description, default_priority | Создать канал |
update_application | id*, name, description, default_priority | Обновить канал |
delete_application | id* | Удалить канал |
Клиенты
Заголовок раздела «Клиенты»| Инструмент | Параметры | Описание |
|---|---|---|
list_clients | — | Список всех клиентов (устройств/токенов) |
create_client | name* | Создать клиента, получить client-токен |
update_client | id, name | Переименовать клиента |
delete_client | id* | Удалить клиента (отозвать токен) |
Пользователи
Заголовок раздела «Пользователи»| Инструмент | Параметры | Описание |
|---|---|---|
get_current_user | — | Информация о текущем пользователе |
list_users | — | Список всех пользователей (требует admin) |
get_user | id* | Получить пользователя по ID (admin) |
create_user | name, pass, admin | Создать пользователя (admin) |
delete_user | id* | Удалить пользователя (admin) |
* — обязательный параметр
Примеры использования
Заголовок раздела «Примеры использования»Отправить уведомление через Claude
Заголовок раздела «Отправить уведомление через Claude»Отправь уведомление в Notifly с заголовком "Деплой завершён"и текстом "Версия 2.1.0 успешно развёрнута на prod" с приоритетом 7.Claude вызовет инструмент send_message автоматически.
Управление каналами
Заголовок раздела «Управление каналами»Покажи список всех каналов в Notifly и последние 10 сообщенийиз канала с ID 3.Claude последовательно вызовет list_applications и list_application_messages.
Администрирование
Заголовок раздела «Администрирование»Создай нового пользователя в Notifly с именем "devops"и паролем "securepass", без прав администратора.Claude вызовет create_user с нужными параметрами.
Безопасность
Заголовок раздела «Безопасность»- MCP-сервер работает локально через stdio — сетевой порт не открывается.
- Токены хранятся только в переменных окружения процесса.
- Инструменты
delete_all_messagesиdelete_userвыполняют необратимые операции — AI-ассистент должен запросить подтверждение перед их вызовом.