GLPI MCP Server v2
GLPI MCP Server v2
🌐 Englische Version · Português (Brasil)
MCP-Server (Model Context Protocol) in TypeScript/Node für die GLPI-Integration. Nutzt die GLPI-API v2.3 (über OAuth2), um ITIL-Abdeckung und integrierte Tools (Tickets, Probleme, Änderungen, Wissensdatenbank, Statistiken, Assets, Administration) direkt für KI-Agenten bereitzustellen.
Dieses Projekt konsolidiert mehrere Tools, vermeidet wiederholte Anfragen und liefert Daten in für LLMs optimierten Formaten.
🌟 Credits und Danksagungen
Dieses Projekt nutzt Struktur und Tool-Abdeckung von:
GMS64260/mcp-glpi (MIT)
Angepasst an die neue GLPI-API v2.3 (OAuth2). Dank an die ursprünglichen Autoren (GMS64260 und DevSkillsIT) für die architektonische Inspiration und die Geschäftslogik des ITIL-Mappings.
Related MCP server: GLPI MCP
🚀 Funktionen (Tools)
Es werden produktivitätsorientierte Tools bereitgestellt, darunter:
Assistance: Erstellung, Aktualisierung, Suche (mit RSQL-Filtern) und vollständiges Lesen (einschließlich Timeline in 1 Anfrage) von Tickets, Problemen und Änderungen. Statistiken und Hinzufügen von Follow-ups.
Knowledgebase: Suche und Lesen von Artikeln.
Assets: Auflistung und Lesen von Computern (mit Flag für detaillierte Spezifikationen).
Administration: Benutzersuche, Lesen des Benutzerkontexts und Auflistung von Gruppen.
🛠 Installation
Klonen Sie das Repository oder laden Sie die Dateien herunter.
Installieren Sie die Abhängigkeiten:
npm installKompilieren Sie das Projekt:
npm run build
⚙️ Konfiguration (.env)
Erstellen Sie eine .env-Datei im Projektstamm, basierend auf der Datei .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_glpiSo erstellen Sie den OAuth2-API-Client in GLPI
Greifen Sie auf GLPI zu (Version 11 / v2.3 aktiviert).
Gehen Sie zu Konfiguration → OAuth-Clients (
/front/oauthclient.php).Fügen Sie einen neuen Client hinzu.
Unter Grants fügen Sie
Passworthinzu (Password Grant – empfohlen für Skripte/Agenten).Unter Scopes wählen Sie mindestens
api(unduser, wenn Sie Tools für den Benutzerkontext verwenden möchten).Speichern Sie und kopieren Sie die Client-ID (Identifier) und das Client-Secret, die im gespeicherten Element angezeigt werden.
🔌 Registrierung im MCP-Client
Der Server läuft über stdio (node dist/index.js + Umgebungsvariablen), sodass jeder kompatible MCP-Client ihn registrieren kann. Nachfolgend Beispiele pro Client.
Claude Desktop / Claude Code
Datei claude_desktop_config.json (Desktop) oder .mcp.json (Claude Code, im Projektstamm):
{
"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 und CLI)
Datei ~/.gemini/config/mcp_config.json (global) oder .agents/mcp_config.json (pro 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)
Datei ~/.codex/config.toml (global) oder .codex/config.toml (pro Projekt, in vertrauenswürdiger Umgebung):
[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"Oder über codex mcp add glpi-v2 --command node --args caminho/absoluto/para/glpi-mcp-v2/dist/index.js (interaktiv, für die env vars).
Hermes Agent
hermes mcp add glpi-v2 --command "node caminho/absoluto/para/glpi-mcp-v2/dist/index.js"Die Umgebungsvariablen (GLPI_BASE_URL, GLPI_CLIENT_ID, etc.) müssen in der Umgebung verfügbar sein, in der Hermes ausgeführt wird, oder über .env im Projektverzeichnis konfiguriert werden (der Server lädt sie über dotenv, falls zutreffend – siehe src/config.ts).
OpenClaw
Datei ~/.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"
}
}
}
}
}Hinweis: Die obigen Beispiele für Hermes Agent und OpenClaw folgen der öffentlichen Dokumentation der jeweiligen Projekte zum Zeitpunkt der Erstellung, wurden jedoch nicht direkt gegen diesen Server getestet. Validieren Sie die Verbindung lokal (listen Sie die exponierten Tools auf), bevor Sie in der Produktion darauf vertrauen.
Alternative: HTTP-Transport
Wenn der Client kein stdio unterstützt, bietet der Server auch StreamableHTTPServerTransport (siehe src/httpServer.ts). Setzen Sie MCP_TRANSPORT=http und optional MCP_HTTP_PORT (Standard 3000) in den Umgebungsvariablen des Prozesses. Der Endpunkt liegt unter http://localhost:<Port>/mcp (POST) – weisen Sie den Client auf diese URL anstelle eines lokalen Befehls.
📄 OpenAPI-Spec (Entwicklungsreferenz)
Die Datei swagger-v2.3.json (vollständige OpenAPI-Spec der API v2.3, dynamisch vom GLPI generiert) ist nicht versioniert (git-ignoriert – 4,6 MB, generiert). Um sie aus einer laufenden GLPI-Instanz neu zu generieren:
curl -s "http://SEU_GLPI/api.php/doc.json" -o swagger-v2.3.json🌐 HTTP-Modus (Express)
Der Server unterstützt optional die Kommunikation über HTTP unter Verwendung des empfohlenen zustandslosen Endpunkts (POST /mcp).
Um diesen Modus zu aktivieren, setzen Sie die Umgebungsvariablen:
MCP_TRANSPORT=http(Standard iststdio)MCP_HTTP_PORT=3000(Optional, definiert den Port des Express-Servers)
Beispiel für eine Anfrage zum Auflisten der Tools mit curl:
curl -X POST http://localhost:3000/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}'Lizenz
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