Skip to main content
Glama
Luizcc87

GLPI MCP Server v2

by Luizcc87

GLPI MCP Server v2

🌐 English version · Português (Brasil)

Servidor MCP (Model Context Protocol) en TypeScript/Node para integración con GLPI. Utiliza la API GLPI v2.3 (vía OAuth2) para proporcionar cobertura ITIL y herramientas integradas (tickets, problems, changes, knowledgebase, stats, assets, administration) directamente a agentes de IA.

Este proyecto consolida múltiples herramientas, evita la repetición de requests y aporta datos en formatos optimizados para consumo por LLMs.

🌟 Créditos y Agradecimientos

Este proyecto reutiliza estructura y cobertura de herramientas de:

Adaptados para la nueva API GLPI v2.3 (OAuth2). Agradecimiento a los autores originales (GMS64260 y DevSkillsIT) por la inspiración arquitectural y la lógica de negocio de mapeo ITIL.

Related MCP server: GLPI MCP

🚀 Funcionalidades (Tools)

Se proporcionan herramientas enfocadas en productividad, incluyendo:

  • Assistance: Creación, actualización, búsqueda (con filtros RSQL) y lectura completa (incluyendo timeline en 1 request) de Tickets, Problems y Changes. Estadísticas y adición de follow-ups.

  • Knowledgebase: Búsqueda y lectura de artículos.

  • Assets: Listado y lectura de Computers (con flag para inclusión de specs detalladas).

  • Administration: Búsqueda de usuarios, lectura de contexto de usuario y listado de grupos.

🛠 Instalación

  1. Clona el repositorio o descarga los archivos.

  2. Instala las dependencias:

    npm install
  3. Compila el proyecto:

    npm run build

⚙️ Configuración (.env)

Crea un archivo .env en la raíz del proyecto, basado en el archivo .env.example:

GLPI_BASE_URL=http://localhost:8080
GLPI_CLIENT_ID=seu_client_id_oauth2
GLPI_CLIENT_SECRET=seu_client_secret_oauth2
GLPI_USERNAME=usuario_glpi
GLPI_PASSWORD=senha_glpi

Cómo crear el Cliente API OAuth2 en GLPI

  1. Accede al GLPI (versión 11 / v2.3 habilitada).

  2. Ve a ConfiguraciónClientes OAuth (/front/oauthclient.php).

  3. Añade un nuevo cliente.

  4. En Concesiones, añade Senha (password grant — recomendado para scripts/agentes).

  5. En Alcances, selecciona al menos api (y user si vas a usar tools de contexto de usuario).

  6. Guarda y copia el Client ID (identificador) y el Client Secret mostrados en el elemento guardado.

🔌 Registro en Cliente MCP

El servidor se ejecuta vía stdio (node dist/index.js + variables de entorno), por lo que cualquier cliente MCP compatible puede registrarlo. A continuación, ejemplos por cliente.

Claude Desktop / Claude Code

Archivo claude_desktop_config.json (Desktop) o .mcp.json (Claude Code, en la raíz del proyecto):

{
  "mcpServers": {
    "glpi-v2": {
      "command": "node",
      "args": [
        "caminho/absoluto/para/glpi-mcp-v2/dist/index.js"
      ],
      "env": {
        "GLPI_BASE_URL": "http://localhost:8080",
        "GLPI_CLIENT_ID": "seu_client_id_oauth2",
        "GLPI_CLIENT_SECRET": "seu_client_secret_oauth2",
        "GLPI_USERNAME": "usuario_glpi",
        "GLPI_PASSWORD": "senha_glpi"
      }
    }
  }
}

Antigravity (IDE y CLI)

Archivo ~/.gemini/config/mcp_config.json (global) o .agents/mcp_config.json (por workspace):

{
  "mcpServers": {
    "glpi-v2": {
      "command": "node",
      "args": [
        "caminho/absoluto/para/glpi-mcp-v2/dist/index.js"
      ],
      "env": {
        "GLPI_BASE_URL": "http://localhost:8080",
        "GLPI_CLIENT_ID": "seu_client_id_oauth2",
        "GLPI_CLIENT_SECRET": "seu_client_secret_oauth2",
        "GLPI_USERNAME": "usuario_glpi",
        "GLPI_PASSWORD": "senha_glpi"
      }
    }
  }
}

Codex CLI (OpenAI)

Archivo ~/.codex/config.toml (global) o .codex/config.toml (por proyecto, en entorno confiable):

[mcp_servers.glpi-v2]
command = "node"
args = ["caminho/absoluto/para/glpi-mcp-v2/dist/index.js"]

[mcp_servers.glpi-v2.env]
GLPI_BASE_URL = "http://localhost:8080"
GLPI_CLIENT_ID = "seu_client_id_oauth2"
GLPI_CLIENT_SECRET = "seu_client_secret_oauth2"
GLPI_USERNAME = "usuario_glpi"
GLPI_PASSWORD = "senha_glpi"

O vía codex mcp add glpi-v2 --command node --args caminho/absoluto/para/glpi-mcp-v2/dist/index.js (interactivo, para las env vars).

Hermes Agent

hermes mcp add glpi-v2 --command "node caminho/absoluto/para/glpi-mcp-v2/dist/index.js"

Las variables de entorno (GLPI_BASE_URL, GLPI_CLIENT_ID, etc.) deben estar disponibles en el entorno donde se ejecuta Hermes, o configuradas vía .env en el directorio del proyecto (el servidor las carga vía dotenv, si aplica — consulta src/config.ts).

OpenClaw

Archivo ~/.openclaw/openclaw.json:

{
  "mcp": {
    "servers": {
      "glpi-v2": {
        "command": "node",
        "args": [
          "caminho/absoluto/para/glpi-mcp-v2/dist/index.js"
        ],
        "transport": "stdio",
        "env": {
          "GLPI_BASE_URL": "http://localhost:8080",
          "GLPI_CLIENT_ID": "seu_client_id_oauth2",
          "GLPI_CLIENT_SECRET": "seu_client_secret_oauth2",
          "GLPI_USERNAME": "usuario_glpi",
          "GLPI_PASSWORD": "senha_glpi"
        }
      }
    }
  }
}

Nota: los ejemplos de Hermes Agent y OpenClaw anteriores siguen la documentación pública de cada proyecto en el momento de la escritura, pero no fueron probados directamente contra este servidor. Valida la conexión localmente (lista las tools expuestas) antes de depender en producción.

Alternativa: transporte HTTP

Si el cliente no soporta stdio, el servidor también expone StreamableHTTPServerTransport (ver src/httpServer.ts). Define MCP_TRANSPORT=http y, opcionalmente, MCP_HTTP_PORT (por defecto 3000) en las variables de entorno del proceso. El endpoint queda en http://localhost:<porta>/mcp (POST) — apunta el cliente a esa URL en lugar de un comando local.

📄 Spec OpenAPI (referencia de desarrollo)

El archivo swagger-v2.3.json (spec OpenAPI completa de la API v2.3, generada dinámicamente por GLPI) no está versionado (git-ignorado — 4.6MB, generado). Para regenerar a partir de una instancia GLPI en ejecución:

curl -s "http://SEU_GLPI/api.php/doc.json" -o swagger-v2.3.json

🌐 Modo HTTP (Express)

El servidor soporta opcionalmente comunicación vía HTTP, usando el endpoint stateless recomendado (POST /mcp). Para activar este modo, define las variables de entorno:

  • MCP_TRANSPORT=http (El valor por defecto es stdio)

  • MCP_HTTP_PORT=3000 (Opcional, define el puerto del servidor Express)

Ejemplo de solicitud para listar las herramientas usando curl:

curl -X POST http://localhost:3000/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}'

Licencia

MIT

Install Server
A
license - permissive license
C
quality
A
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
6Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for interacting with GitLab API, supporting both self-hosted instances and gitlab.com. Provides tools for managing issues, merge requests, code review, pipelines, milestones, releases, search, and file access.
    514
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    MCP server allowing an AI assistant to interact directly with your GLPI instance via its REST API, enabling ticket management, knowledge base operations, and statistics.
    40
    4
    The Unlicense
  • F
    license
    Not graded
    quality
    C
    maintenance
    MCP server for iTop ITSM that provides 19 tools for analytics, ticket management, comments, knowledge base, and CI impact analysis, enabling AI assistants to interact with iTop.
    1

View all related MCP servers

Related MCP Connectors

  • An MCP server that let you interact with Cycloid.io Internal Development Portal and Platform

  • MCP server for Pentest-Tools.com: run scans, manage findings and reports via your preffered LLM.

  • MCP server for the PDFGate API. Generate PDFs, manage documents and handle e-signatures.

View all MCP Connectors

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/Luizcc87/glpi-mcp-v2'

If you have feedback or need assistance with the MCP directory API, please join our Discord server