Skip to main content
Glama
dhks77
by dhks77

NHN Server MCP

Un servidor MCP (Model Context Protocol) para conectarse a servidores y ejecutar comandos a través de un SSH Gateway.

Funcionalidades

  • Conexión al servidor a través de SSH Gateway

  • Soporte para autenticación Kerberos (kinit)

  • Confirmación de ejecución de comandos mediante diálogo nativo de macOS

  • Opción "Permitir siempre" para la aprobación automática de comandos idénticos

  • Consulta de información del servidor (la IA puede verificar rutas de registro, etc.)

  • Carga/descarga de archivos SCP a través de Gateway

  • Prevención de bloqueo de procesos mediante tiempo de espera (timeout) en comandos remotos

  • Recarga dinámica de configuración

Instalación

npm install
npm run build

Configuración

1. Crear 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. Configuración del cliente

Claude Code (CLI)

Registrar mediante comando 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

O también puede editar el archivo de configuración directamente.

Por proyecto — Crear .mcp.json en la raíz del proyecto:

{
  "mcpServers": {
    "nhn-server": {
      "command": "node",
      "args": ["/path/to/nhn-server-mcp/dist/index.js"],
      "env": {
        "CONFIG_FILE": "/path/to/config.json",
        "DEBUG": "false"
      }
    }
  }
}

Global — Añadir a ~/.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 — Se utiliza solo en ese proyecto. Se puede compartir con el equipo si se confirma en git (tenga en cuenta que la ruta de config.json puede variar para cada usuario)

~/.claude.json — Se utiliza en todos los proyectos. Para configuraciones de entorno personal

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"
      }
    }
  }
}

Opciones de configuración

Clave

Descripción

Valor predeterminado

gatewayConnection

Conexión SSH del Gateway (usuario@host:puerto)

-

gatewayPassword

Contraseña SSH del Gateway

-

kinitPassword

Contraseña de autenticación Kerberos

-

allowedHosts

Lista de hosts permitidos para conexión

[] (todos permitidos)

confirmDialog

Mostrar diálogo de confirmación antes de ejecutar comandos

true

serverInfo

Información del servidor expuesta a la IA

{}

commandTimeoutSec

Tiempo de espera de comando remoto (segundos). Envuelto con GNU timeout

300

Variables de entorno

Variable

Descripción

CONFIG_FILE

Ruta del archivo config.json

DEBUG

Activar registros de depuración (true/false)

Herramientas MCP

exec

Ejecuta un comando en el servidor.

{
  "host": "server-hostname",
  "user": "appuser",
  "command": "tail -100 /var/log/app.log"
}

Si confirmDialog está activado, se mostrará un diálogo nativo de macOS:

  • Cancelar: No ejecutar el comando

  • Confirmar: Ejecutar solo esta vez

  • Permitir siempre: Ejecutar + ejecutar comandos idénticos futuros sin confirmación (se reinicia al finalizar la sesión)

get_config

Consulta la información de configuración del servidor. (Hosts permitidos, información del servidor)

reload_config

Recarga el archivo de configuración.

disconnect_server

Finaliza la conexión al Gateway.

connection_status

Verifica el estado actual de la conexión.

scp_upload

Sube el contenido de un archivo al servidor. (SCP a través de Gateway)

{
  "host": "server-hostname",
  "user": "appuser",
  "remotePath": "/path/to/remote/file.txt",
  "content": "파일 내용"
}

scp_download

Descarga un archivo desde el servidor. (SCP a través de Gateway)

{
  "host": "server-hostname",
  "user": "appuser",
  "remotePath": "/path/to/remote/file.txt",
  "localPath": "/path/to/local/file.txt"
}
  • Si se especifica localPath, se guarda como archivo local

  • Si no se especifica localPath, solo se devuelve el contenido del archivo

Seguridad

  • No confirme config.json en git, ya que contiene información sensible (contraseñas)

  • Se solicita confirmación del usuario antes de ejecutar comandos mediante confirmDialog

  • Se restringen los servidores conectables mediante allowedHosts

  • Desconexión automática tras 5 minutos de inactividad

  • Limpieza automática de sesiones incluso en caso de excepciones

Licencia

MIT

Install Server
A
security – no known vulnerabilities
F
license - not found
A
quality - A tier

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