NexTool MCP for GLPI

السجل الرسمي أخرى

MCP server for GLPI: tickets, ITIL, assets, knowledge base. GLPI 10/11. Not affiliated with Teclib'.

التثبيت

أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: ‏.cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).

Remote (streamable-http)
Claude Code
claude mcp add --transport http nextool-mcp-for-glpi 'https://mcp.nextoolsolutions.com/mcp'
إعداد JSON (Claude Desktop وCursor وVS Code)
{
    "mcpServers": {
        "nextool-mcp-for-glpi": {
            "type": "http",
            "url": "https://mcp.nextoolsolutions.com/mcp"
        }
    }
}
NPM package @nextoolsolutions/mcp-glpi
Claude Code
claude mcp add nextool-mcp-for-glpi -e 'GLPI_URL=<GLPI_URL>' -e 'GLPI_USER_TOKEN=<your glpi_user_token>' -e 'GLPI_APP_TOKEN=<your glpi_app_token>' -e 'GLPI_V2_URL=<GLPI_V2_URL>' -e 'GLPI_V2_CLIENT_ID=<GLPI_V2_CLIENT_ID>' -e 'GLPI_V2_CLIENT_SECRET=<your glpi_v2_client_secret>' -e 'GLPI_V2_USERNAME=<GLPI_V2_USERNAME>' -e 'GLPI_V2_PASSWORD=<your glpi_v2_password>' -e 'GLPI_V2_SCOPE=<GLPI_V2_SCOPE>' -e 'GLPI_V2_API_VERSION=<GLPI_V2_API_VERSION>' -e 'GLPI_TOOLSETS=<GLPI_TOOLSETS>' -e 'GLPI_TOOLS_INCLUDE=<GLPI_TOOLS_INCLUDE>' -e 'GLPI_TOOLS_EXCLUDE=<GLPI_TOOLS_EXCLUDE>' -e 'GLPI_READ_ONLY=<GLPI_READ_ONLY>' -e 'GLPI_ALLOW_DELETE=<GLPI_ALLOW_DELETE>' -e 'GLPI_REQUIRE_DELETE_REASON=<GLPI_REQUIRE_DELETE_REASON>' -e 'GLPI_DEFAULT_PAGE_SIZE=<GLPI_DEFAULT_PAGE_SIZE>' -e 'GLPI_MAX_PAGE_SIZE=<GLPI_MAX_PAGE_SIZE>' -e 'GLPI_IDEMPOTENCY_WINDOW=<GLPI_IDEMPOTENCY_WINDOW>' -e 'GLPI_RESOURCE_CACHE_TTL=<GLPI_RESOURCE_CACHE_TTL>' -e 'GLPI_MAX_RETRIES=<GLPI_MAX_RETRIES>' -e 'GLPI_TIMEOUT=<GLPI_TIMEOUT>' -- npx -y @nextoolsolutions/mcp-glpi@3.5.5
إعداد JSON (Claude Desktop وCursor وVS Code)
{
    "mcpServers": {
        "nextool-mcp-for-glpi": {
            "command": "npx",
            "args": [
                "-y",
                "@nextoolsolutions/mcp-glpi@3.5.5"
            ],
            "env": {
                "GLPI_URL": "<GLPI_URL>",
                "GLPI_USER_TOKEN": "<your glpi_user_token>",
                "GLPI_APP_TOKEN": "<your glpi_app_token>",
                "GLPI_V2_URL": "<GLPI_V2_URL>",
                "GLPI_V2_CLIENT_ID": "<GLPI_V2_CLIENT_ID>",
                "GLPI_V2_CLIENT_SECRET": "<your glpi_v2_client_secret>",
                "GLPI_V2_USERNAME": "<GLPI_V2_USERNAME>",
                "GLPI_V2_PASSWORD": "<your glpi_v2_password>",
                "GLPI_V2_SCOPE": "<GLPI_V2_SCOPE>",
                "GLPI_V2_API_VERSION": "<GLPI_V2_API_VERSION>",
                "GLPI_TOOLSETS": "<GLPI_TOOLSETS>",
                "GLPI_TOOLS_INCLUDE": "<GLPI_TOOLS_INCLUDE>",
                "GLPI_TOOLS_EXCLUDE": "<GLPI_TOOLS_EXCLUDE>",
                "GLPI_READ_ONLY": "<GLPI_READ_ONLY>",
                "GLPI_ALLOW_DELETE": "<GLPI_ALLOW_DELETE>",
                "GLPI_REQUIRE_DELETE_REASON": "<GLPI_REQUIRE_DELETE_REASON>",
                "GLPI_DEFAULT_PAGE_SIZE": "<GLPI_DEFAULT_PAGE_SIZE>",
                "GLPI_MAX_PAGE_SIZE": "<GLPI_MAX_PAGE_SIZE>",
                "GLPI_IDEMPOTENCY_WINDOW": "<GLPI_IDEMPOTENCY_WINDOW>",
                "GLPI_RESOURCE_CACHE_TTL": "<GLPI_RESOURCE_CACHE_TTL>",
                "GLPI_MAX_RETRIES": "<GLPI_MAX_RETRIES>",
                "GLPI_TIMEOUT": "<GLPI_TIMEOUT>"
            }
        }
    }
}

متغيرات البيئة

  • GLPI_URL GLPI instance URL for the API v1 tools (apirest.php or api.php/v1)
  • GLPI_USER_TOKEN سري GLPI API User Token (API v1 tools)
  • GLPI_APP_TOKEN سري GLPI API Application Token
  • GLPI_V2_URL GLPI 11 URL for the API v2 tools (glpi_v2_*)
  • GLPI_V2_CLIENT_ID OAuth2 client ID (API v2)
  • GLPI_V2_CLIENT_SECRET سري OAuth2 client secret (API v2)
  • GLPI_V2_USERNAME GLPI user for the OAuth2 password grant (API v2)
  • GLPI_V2_PASSWORD سري Password of that user (API v2)
  • GLPI_V2_SCOPE OAuth2 scope (default api)
  • GLPI_V2_API_VERSION API version path, e.g. v2.2 (default v2)
  • GLPI_TOOLSETS Named tool presets, comma-separated: core, tickets, itil, assets, kb, documents, users, search, admin, v2
  • GLPI_TOOLS_INCLUDE Comma-separated globs: register matching tools (adds to GLPI_TOOLSETS; with neither set, every tool registers)
  • GLPI_TOOLS_EXCLUDE Comma-separated globs: drop matching tools
  • GLPI_READ_ONLY Block every write and destructive tool (default false)
  • GLPI_ALLOW_DELETE Enable destructive tools (default false)
  • GLPI_REQUIRE_DELETE_REASON Require a reason on destructive tools (default true)
  • GLPI_DEFAULT_PAGE_SIZE Items returned when no range is given (default 25)
  • GLPI_MAX_PAGE_SIZE Hard ceiling of items per call (default 200)
  • GLPI_IDEMPOTENCY_WINDOW Seconds an identical create is replayed instead of repeated (default 120, 0 disables)
  • GLPI_RESOURCE_CACHE_TTL Resource cache TTL in ms (default 300000)
  • GLPI_MAX_RETRIES Max retry attempts on 429/5xx (default 3)
  • GLPI_TIMEOUT Request timeout in ms (default 30000)

التوثيق

مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.

المحتويات
  1. NexTool MCP for GLPI
  2. 1. Prepare GLPI (both ways)
  3. 2. Local install (open source)
  4. 3. Hosted version (early access)
  5. Safety
  6. Troubleshooting
  7. Directories and release
  8. Development
  9. License

NexTool MCP for GLPI

Open-source Model Context Protocol server that connects AI assistants (Claude, ChatGPT, Cursor, VS Code, Windsurf…) to your GLPI service desk: tickets, ITIL objects (problems, changes), assets, knowledge base, users, rules and webhooks. It works with GLPI 10 and 11, and supports both the REST API v1 and the GLPI 11 API v2 in one server.

Not affiliated with Teclib'. GLPI is a registered trademark of Teclib'.

PackageWhat it is
@nextoolsolutions/mcp-glpiThe MCP server (stdio and HTTP) and a library to embed it
@nextoolsolutions/mcp-glpi-coreShared transport, write policy, idempotency and payload formatting

Two ways to use it:

  • Hosted, early access: nothing to install. Sign in with a NexTool account, then add one URL as a connector in Claude or ChatGPT. Request access at **https://nextoolsolutions.com/mcp**. How it works, step by step: **https://nextoolsolutions.com/en/mcp/como-funciona**.
  • Local, open source (this repository): runs on your machine with your GLPI credentials. It is free and also works with GLPI instances that are only reachable on your intranet.

1. Prepare GLPI (both ways)

  1. Enable the REST API: Setup → General → API. Turn on "Enable REST API" and "Enable login with external token".
  2. API client (optional but recommended): in the same screen, add an API client and copy its App-Token. If you restrict it by IP, allow the address the MCP connects from.
  3. User token: Administration → Users → (the user) → Remote access keys. Copy the API token. Every action runs as this user and follows their GLPI profile and entities. Use a dedicated user with only the rights the assistant needs.
  4. GLPI 11 API v2 (optional): create an OAuth client in GLPI 11 and note its client ID and secret. You also need a username and password, for the password grant.

2. Local install (open source)

Published on npm as @nextoolsolutions/mcp-glpi and listed in the official MCP Registry as com.nextoolsolutions/glpi. Requires Node.js 18+.

GLPI_URL=https://glpi.example.com GLPI_USER_TOKEN=xxx GLPI_APP_TOKEN=yyy npx -y @nextoolsolutions/mcp-glpi

From source instead: clone this repository, then npm ci && npm run build in mcp-glpi-core and in mcp-glpi, and run node mcp-glpi/dist/index.js.

Environment variables
VariableMeaning
GLPI_URLGLPI base URL, e.g. https://glpi.example.com (REST API v1)
GLPI_USER_TOKENUser API token (step 1.3)
GLPI_APP_TOKENApp-Token of the API client (step 1.2), optional
GLPI_V2_URL, GLPI_V2_CLIENT_ID, GLPI_V2_CLIENT_SECRET, GLPI_V2_USERNAME, GLPI_V2_PASSWORDGLPI 11 API v2 (OAuth). Optional; enables the glpi_v2_* tools
GLPI_TOOLSETSTool presets: core (recommended start), tickets, itil, assets, kb, documents, users, search, admin, v2. Combine with commas. Default: every tool
GLPI_READ_ONLYtrue blocks every write before it reaches GLPI
GLPI_ALLOW_DELETEtrue enables delete tools (default off); they then require a written reason

All options are listed in mcp-glpi/README.md.

Claude Code
claude mcp add glpi \
  -e GLPI_URL=https://glpi.example.com -e GLPI_USER_TOKEN=xxx -e GLPI_APP_TOKEN=yyy -e GLPI_TOOLSETS=core \
  -- npx -y @nextoolsolutions/mcp-glpi
Claude Desktop

Edit claude_desktop_config.json (Settings → Developer → Edit config) and restart Claude Desktop:

{
  "mcpServers": {
    "glpi": {
      "command": "npx",
      "args": ["-y", "@nextoolsolutions/mcp-glpi"],
      "env": {
        "GLPI_URL": "https://glpi.example.com",
        "GLPI_USER_TOKEN": "xxx",
        "GLPI_APP_TOKEN": "yyy",
        "GLPI_TOOLSETS": "core"
      }
    }
  }
}
Cursor / Windsurf / VS Code

Use the same command/args/env block:

  • Cursor: ~/.cursor/mcp.json (or .cursor/mcp.json in a project).
  • Windsurf: ~/.codeium/windsurf/mcp_config.json.
  • VS Code: .vscode/mcp.json. The top-level key there is "servers" instead of "mcpServers", and each entry also takes "type": "stdio".
Docker

The Dockerfile builds the stdio server from this repository (node:22-alpine, no credentials inside). Without GLPI_* variables it still starts and lists its tools, which is what directories that inspect servers need.

docker build -t nextool-mcp-glpi .
docker run -i --rm -e GLPI_URL=https://glpi.example.com -e GLPI_USER_TOKEN=xxx -e GLPI_TOOLSETS=core nextool-mcp-glpi
Shared HTTP server (optional)

To serve several users or GLPI instances from one machine, run mcp-glpi/dist/http.js (Streamable HTTP, Bearer keys stored as SHA-256 hashes). See "Two ways to run" in the package README.

3. Hosted version (early access)

The hosted NexTool MCP lives at https://mcp.nextoolsolutions.com/mcp. It adds:

  • sign-in through the NexTool portal (OAuth 2.1);
  • one-click connectors for Claude and ChatGPT;
  • GLPI credentials encrypted so that only the connector can use them;
  • per-user rate limits and audit logs, without storing prompts or results.

Your GLPI must be reachable from the internet. If it only accepts known IPs, the portal shows the address to allow when you test the connection.

Request early access: https://nextoolsolutions.com/mcp. Once you are in:

ClientHow to connect
Claude (web, desktop, mobile)Settings → Connectors → Add custom connector → URL https://mcp.nextoolsolutions.com/mcp → sign in with your NexTool account and authorize
ChatGPTAdd a connector/app with the same URL (developer mode while the app is in review)
Claude Codeclaude mcp add --transport http nextool https://mcp.nextoolsolutions.com/mcp, then /mcp to sign in. Or use an API key from My account → NexTool MCP: add --header "Authorization: Bearer nxm_…"
Cursor (server URL https://mcp.nextoolsolutions.com/mcp, sign-in by OAuth), or the same URL with header Authorization: Bearer nxm_…
VS CodeServer URL https://mcp.nextoolsolutions.com/mcp with header Authorization: Bearer nxm_…

Connect your GLPI once at app.nextoolsolutions.com → My account → NexTool MCP (GLPI URL plus the tokens from step 1). Then click Test connection.

Safety

  • Every tool carries MCP annotations (readOnlyHint, destructiveHint, idempotentHint, openWorldHint), so clients can ask before changing data.
  • Deletes are refused unless GLPI_ALLOW_DELETE=true (always refused on the hosted free plan).
  • GLPI_READ_ONLY=true blocks every write.
  • Identical create calls within a short window are replayed, not repeated.
  • Redirects are never followed. The API v2 client talks only to the configured GLPI origin.

Troubleshooting

SymptomLikely cause
ERROR_GLPI_LOGIN_USER_TOKEN / 401wrong or regenerated user token
ERROR_WRONG_APP_TOKEN_PARAMETERApp-Token missing or wrong for that API client
ERROR_NOT_ALLOWED_IPthe API client restricts IPs: allow the address the MCP connects from
HTML instead of JSONGLPI_URL points to a login page or proxy, not to the GLPI root
"redirect not followed"GLPI_URL redirects (e.g. http→https or another host): use the final URL

Directories and release

  • MCP Registry: com.nextoolsolutions/glpi (mcp-glpi/server.json): the npm package (stdio) and the hosted server as a remote.
  • Cursor plugin: .cursor-plugin/plugin.json + mcp.json (hosted server, OAuth). Direct install link: cursor://anysphere.cursor-deeplink/mcp/install?name=nextool-glpi&config=eyJ1cmwiOiJodHRwczovL21jcC5uZXh0b29sc29sdXRpb25zLmNvbS9tY3AifQ==.
  • Glama: glama.json names the maintainers; the Dockerfile is the build they run.

Pushing a tag v<mcp-glpi version> runs release.yml: tests, npm (versions already published are skipped), then the MCP Registry. Repository secrets:

SecretWhat it is
NPM_TOKENnpm granular automation token with publish rights on the @nextoolsolutions scope
MCP_PRIVATE_KEYEd25519 private key (32-byte seed, hex) for the registry DNS login on nextoolsolutions.com; its public key is the v=MCPv1; k=ed25519; p=… TXT record on the domain apex

Development

cd mcp-glpi-core && npm ci && npm run build && npm test
cd ../mcp-glpi && npm ci && npm run build && npm test

This repository is a mirror published from NexTool's internal monorepo. Issues and pull requests are welcome here. Security reports: see SECURITY.md.

License

MIT © NexTool Solutions

الأسئلة الشائعة

ما هو NexTool MCP for GLPI؟

MCP server for GLPI: tickets, ITIL, assets, knowledge base. GLPI 10/11. Not affiliated with Teclib'.

كيف أثبّت NexTool MCP for GLPI؟

يعمل كخادم بعيد. في Claude Code: claude mcp add --transport http nextool-mcp-for-glpi 'https://mcp.nextoolsolutions.com/mcp'. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.

هل يحتاج NexTool MCP for GLPI إلى مفتاح API؟

نعم. يتطلب GLPI_USER_TOKEN, GLPI_APP_TOKEN, GLPI_V2_CLIENT_SECRET, GLPI_V2_PASSWORD، وتضبطها في إعداداته.

هل NexTool MCP for GLPI مفتوح المصدر؟

نعم. شيفرته متاحة على GitHub بترخيص MIT.

من يصون NexTool MCP for GLPI؟

ينشره NexTools-Solutions. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.

من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.