GLPI MCP Server v2
GLPI MCP Server v2
🌐 English version · Português (Brasil)
MCP-сервер (Model Context Protocol) на TypeScript/Node для интеграции с GLPI. Использует API GLPI v2.3 (через OAuth2) для обеспечения покрытия ITIL и интегрированных инструментов (tickets, problems, changes, knowledgebase, stats, assets, administration) непосредственно для ИИ-агентов.
Этот проект объединяет множество инструментов, избегает повторения запросов и предоставляет данные в форматах, оптимизированных для потребления LLM.
🌟 Благодарности
Этот проект использует структуру и покрытие инструментов из:
GMS64260/mcp-glpi (MIT)
Адаптированы для нового API GLPI v2.3 (OAuth2). Благодарность оригинальным авторам (GMS64260 и DevSkillsIT) за архитектурное вдохновение и бизнес-логику маппинга ITIL.
Related MCP server: GLPI MCP
🚀 Возможности (Tools)
Предоставляются инструменты, ориентированные на продуктивность, включая:
Assistance: Создание, обновление, поиск (с фильтрами RSQL) и полное чтение (включая timeline в 1 запросе) Tickets, Problems и Changes. Статистика и добавление follow-ups.
Knowledgebase: Поиск и чтение статей.
Assets: Перечисление и чтение Computers (с флагом для включения подробных спецификаций).
Administration: Поиск пользователей, чтение контекста пользователя и перечисление групп.
🛠 Установка
Клонируйте репозиторий или скачайте файлы.
Установите зависимости:
npm installСкомпилируйте проект:
npm run build
⚙️ Конфигурация (.env)
Создайте файл .env в корне проекта на основе файла .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Как создать OAuth2 API-клиент в GLPI
Откройте GLPI (версия 11 / v2.3 включена).
Перейдите в Конфигурация → OAuth-клиенты (
/front/oauthclient.php).Добавьте нового клиента.
В Разрешениях добавьте
Senha(password grant — рекомендуется для скриптов/агентов).В Областях выберите как минимум
api(иuser, если будете использовать инструменты контекста пользователя).Сохраните и скопируйте Client ID (identifier) и Client Secret, отображаемые в сохранённом элементе.
🔌 Регистрация в MCP-клиенте
Сервер работает через stdio (node dist/index.js + переменные окружения), поэтому любой совместимый MCP-клиент может его зарегистрировать. Ниже приведены примеры для каждого клиента.
Claude Desktop / Claude Code
Файл claude_desktop_config.json (Desktop) или .mcp.json (Claude Code, в корне проекта):
{
"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 и CLI)
Файл ~/.gemini/config/mcp_config.json (глобально) или .agents/mcp_config.json (для 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)
Файл ~/.codex/config.toml (глобально) или .codex/config.toml (для проекта, в доверенной среде):
[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"Или через codex mcp add glpi-v2 --command node --args caminho/absoluto/para/glpi-mcp-v2/dist/index.js (интерактивно, для env vars).
Hermes Agent
hermes mcp add glpi-v2 --command "node caminho/absoluto/para/glpi-mcp-v2/dist/index.js"Переменные окружения (GLPI_BASE_URL, GLPI_CLIENT_ID и т.д.) должны быть доступны в среде, где выполняется Hermes, или настроены через .env в каталоге проекта (сервер загружает их через dotenv, если применимо — см. src/config.ts).
OpenClaw
Файл ~/.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"
}
}
}
}
}Примечание: примеры Hermes Agent и OpenClaw выше следуют публичной документации каждого проекта на момент написания, но не были протестированы напрямую с этим сервером. Проверьте подключение локально (перечислите доступные tools) перед использованием в production.
Альтернатива: HTTP-транспорт
Если клиент не поддерживает stdio, сервер также предоставляет StreamableHTTPServerTransport (см. src/httpServer.ts). Установите MCP_TRANSPORT=http и, опционально, MCP_HTTP_PORT (по умолчанию 3000) в переменных окружения процесса. Конечная точка находится по адресу http://localhost:<porta>/mcp (POST) — укажите клиенту этот URL вместо локальной команды.
📄 Спецификация OpenAPI (справочник для разработки)
Файл swagger-v2.3.json (полная OpenAPI-спецификация API v2.3, динамически генерируемая GLPI) не версионируется (git-ignored — 4.6MB, генерируется). Чтобы перегенерировать из работающего экземпляра GLPI:
curl -s "http://SEU_GLPI/api.php/doc.json" -o swagger-v2.3.json🌐 HTTP-режим (Express)
Сервер опционально поддерживает связь через HTTP, используя рекомендуемый stateless-эндпоинт (POST /mcp). Чтобы активировать этот режим, задайте переменные окружения:
MCP_TRANSPORT=http(по умолчаниюstdio)MCP_HTTP_PORT=3000(необязательно, задаёт порт Express-сервера)
Пример запроса для перечисления инструментов с помощью curl:
curl -X POST http://localhost:3000/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}'Лицензия
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