Skip to main content
Glama
Luizcc87

GLPI MCP Server v2

by Luizcc87

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.

🌟 Благодарности

Этот проект использует структуру и покрытие инструментов из:

Адаптированы для нового 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: Поиск пользователей, чтение контекста пользователя и перечисление групп.

🛠 Установка

  1. Клонируйте репозиторий или скачайте файлы.

  2. Установите зависимости:

    npm install
  3. Скомпилируйте проект:

    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

  1. Откройте GLPI (версия 11 / v2.3 включена).

  2. Перейдите в КонфигурацияOAuth-клиенты (/front/oauthclient.php).

  3. Добавьте нового клиента.

  4. В Разрешениях добавьте Senha (password grant — рекомендуется для скриптов/агентов).

  5. В Областях выберите как минимум apiuser, если будете использовать инструменты контекста пользователя).

  6. Сохраните и скопируйте 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"}'

Лицензия

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