NHN Server MCP
NHN Server MCP
Это MCP-сервер (Model Context Protocol) для подключения к серверам и выполнения команд через SSH-шлюз.
Функции
Подключение к серверу через SSH-шлюз
Поддержка аутентификации Kerberos (kinit)
Подтверждение выполнения команд через нативный диалог macOS
Автоматическое одобрение идентичных команд с опцией «Всегда разрешать»
Получение информации о сервере (ИИ может проверять пути к логам и т.д.)
Загрузка/скачивание файлов через SCP с использованием шлюза
Предотвращение зависания процессов с помощью тайм-аута удаленных команд
Динамическая перезагрузка конфигурации
Установка
npm install
npm run buildНастройка
1. Создание config.json
{
"gatewayConnection": "user@gateway.example.com:22",
"gatewayPassword": "your-password",
"kinitPassword": "your-kerberos-password",
"allowedHosts": ["server1", "server2"],
"confirmDialog": true,
"serverInfo": {
"서버에 대한 user 정보 필수": "exec 할때 user 를 같이 보냅니다.",
"나머지는": "원하는 내용으로",
"ex - logPaths": {
"app": "/var/log/app.log",
"nginx": "/var/log/nginx/access.log"
}
}
}2. Настройка клиента
Claude Code (CLI)
Регистрация через команду CLI:
# 프로젝트 단위 (해당 프로젝트에서만 사용)
claude mcp add --scope project nhn-server -e CONFIG_FILE=/path/to/config.json -e DEBUG=false -- node /path/to/nhn-server-mcp/dist/index.js
# 글로벌 (모든 프로젝트에서 사용)
claude mcp add --scope user nhn-server -e CONFIG_FILE=/path/to/config.json -e DEBUG=false -- node /path/to/nhn-server-mcp/dist/index.jsТакже можно отредактировать файл конфигурации напрямую.
На уровне проекта — создайте .mcp.json в корне проекта:
{
"mcpServers": {
"nhn-server": {
"command": "node",
"args": ["/path/to/nhn-server-mcp/dist/index.js"],
"env": {
"CONFIG_FILE": "/path/to/config.json",
"DEBUG": "false"
}
}
}
}Глобально — добавьте в ~/.claude.json:
{
"mcpServers": {
"nhn-server": {
"command": "node",
"args": ["/path/to/nhn-server-mcp/dist/index.js"],
"env": {
"CONFIG_FILE": "/path/to/config.json",
"DEBUG": "false"
}
}
}
}
.mcp.json— используется только в данном проекте. Можно закоммитить в git для совместного использования (но будьте осторожны, так как пути кconfig.jsonмогут отличаться у разных пользователей)
~/.claude.json— используется во всех проектах. Для персональных настроек окружения
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"nhn-server": {
"command": "node",
"args": ["/path/to/nhn-server-mcp/dist/index.js"],
"env": {
"CONFIG_FILE": "/path/to/config.json",
"DEBUG": "false"
}
}
}
}Параметры конфигурации
Ключ | Описание | Значение по умолчанию |
| SSH-подключение к шлюзу (user@host:port) | - |
| Пароль SSH для шлюза | - |
| Пароль для аутентификации Kerberos | - |
| Список разрешенных хостов | [] (разрешены все) |
| Показывать диалог подтверждения перед выполнением команды | true |
| Информация о сервере, доступная ИИ | {} |
| Тайм-аут удаленной команды (сек). Обернуто в GNU timeout | 300 |
Переменные окружения
Переменная | Описание |
| Путь к файлу config.json |
| Включение отладочных логов ( |
Инструменты MCP
exec
Выполняет команду на сервере.
{
"host": "server-hostname",
"user": "appuser",
"command": "tail -100 /var/log/app.log"
}Если включен confirmDialog, отображается нативный диалог macOS:
Отмена: команда не выполняется
Подтвердить: выполнить только сейчас
Всегда разрешать: выполнить + последующие идентичные команды без подтверждения (сбрасывается при завершении сессии)
get_config
Получает информацию о конфигурации сервера (разрешенные хосты, информация о сервере).
reload_config
Перезагружает файл конфигурации.
disconnect_server
Завершает подключение к шлюзу.
connection_status
Проверяет текущий статус подключения.
scp_upload
Загружает содержимое файла на сервер. (SCP через шлюз)
{
"host": "server-hostname",
"user": "appuser",
"remotePath": "/path/to/remote/file.txt",
"content": "파일 내용"
}scp_download
Скачивает файл с сервера. (SCP через шлюз)
{
"host": "server-hostname",
"user": "appuser",
"remotePath": "/path/to/remote/file.txt",
"localPath": "/path/to/local/file.txt"
}Если указан
localPath, сохраняется в локальный файлЕсли
localPathне указан, возвращается только содержимое файла
Безопасность
Не коммитьте config.json в git, так как он содержит конфиденциальную информацию (пароли)
Пользователь подтверждает выполнение команд через
confirmDialogДоступ к серверам ограничивается через
allowedHostsАвтоматическое завершение подключения при отсутствии активности в течение 5 минут
Автоматическая очистка сессии даже при возникновении исключений
Лицензия
MIT
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/dhks77/nhn-server-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server