MCP server for GLPI: tickets, ITIL, assets, knowledge base. GLPI 10/11. Not affiliated with Teclib'.
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'.
| Package | What it is |
|---|---|
@nextoolsolutions/mcp-glpi | The MCP server (stdio and HTTP) and a library to embed it |
@nextoolsolutions/mcp-glpi-core | Shared transport, write policy, idempotency and payload formatting |
Two ways to use it:
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.
| Variable | Meaning |
|---|---|
GLPI_URL | GLPI base URL, e.g. https://glpi.example.com (REST API v1) |
GLPI_USER_TOKEN | User API token (step 1.3) |
GLPI_APP_TOKEN | App-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_PASSWORD | GLPI 11 API v2 (OAuth). Optional; enables the glpi_v2_* tools |
GLPI_TOOLSETS | Tool presets: core (recommended start), tickets, itil, assets, kb, documents, users, search, admin, v2. Combine with commas. Default: every tool |
GLPI_READ_ONLY | true blocks every write before it reaches GLPI |
GLPI_ALLOW_DELETE | true enables delete tools (default off); they then require a written reason |
All options are listed in mcp-glpi/README.md.
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
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"
}
}
}
}
Use the same command/args/env block:
~/.cursor/mcp.json (or .cursor/mcp.json in a project).~/.codeium/windsurf/mcp_config.json..vscode/mcp.json. The top-level key there is "servers" instead of "mcpServers", and each entry also takes "type": "stdio".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
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.
The hosted NexTool MCP lives at https://mcp.nextoolsolutions.com/mcp. It adds:
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:
Connect your GLPI once at app.nextoolsolutions.com → My account → NexTool MCP (GLPI URL plus the tokens from step 1). Then click Test connection.
readOnlyHint, destructiveHint, idempotentHint, openWorldHint), so clients can ask before changing data.GLPI_ALLOW_DELETE=true (always refused on the hosted free plan).GLPI_READ_ONLY=true blocks every write.| Symptom | Likely cause |
|---|---|
ERROR_GLPI_LOGIN_USER_TOKEN / 401 | wrong or regenerated user token |
ERROR_WRONG_APP_TOKEN_PARAMETER | App-Token missing or wrong for that API client |
ERROR_NOT_ALLOWED_IP | the API client restricts IPs: allow the address the MCP connects from |
| HTML instead of JSON | GLPI_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 |
com.nextoolsolutions/glpi (mcp-glpi/server.json): the npm package
(stdio) and the hosted server as a remote..cursor-plugin/plugin.json + mcp.json (hosted
server, OAuth). Direct install link: cursor://anysphere.cursor-deeplink/mcp/install?name=nextool-glpi&config=eyJ1cmwiOiJodHRwczovL21jcC5uZXh0b29sc29sdXRpb25zLmNvbS9tY3AifQ==.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:
| Secret | What it is |
|---|---|
NPM_TOKEN | npm granular automation token with publish rights on the @nextoolsolutions scope |
MCP_PRIVATE_KEY | Ed25519 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 |
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.
MIT © NexTool Solutions
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
npx -y @nextoolsolutions/mcp-glpiMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"com-nextoolsolutions-glpi": {
"command": "npx",
"args": [
"-y",
"@nextoolsolutions/mcp-glpi"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup referenceNexTool MCP for GLPI works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.