GLPI MCP Server v2
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:
GMS64260/mcp-glpi (MIT)
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
Clona el repositorio o descarga los archivos.
Instala las dependencias:
npm installCompila 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_glpiCómo crear el Cliente API OAuth2 en GLPI
Accede al GLPI (versión 11 / v2.3 habilitada).
Ve a Configuración → Clientes OAuth (
/front/oauthclient.php).Añade un nuevo cliente.
En Concesiones, añade
Senha(password grant — recomendado para scripts/agentes).En Alcances, selecciona al menos
api(yusersi vas a usar tools de contexto de usuario).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 esstdio)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
Maintenance
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
- AlicenseNot gradedqualityDmaintenanceMCP 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.514MIT
- AlicenseBqualityCmaintenanceMCP server allowing an AI assistant to interact directly with your GLPI instance via its REST API, enabling ticket management, knowledge base operations, and statistics.404The Unlicense
- FlicenseNot gradedqualityCmaintenanceMCP 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
- AlicenseAqualityBmaintenanceMCP server to manage GestSup tickets via an LLM, with tools for creating, reading, commenting, and searching tickets.13MIT
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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