Context7
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
MCP server for GLPI: tickets, ITIL, assets, knowledge base. GLPI 10/11. Not affiliated with Teclib'.
Pick the AI app you use, then copy the settings.
Passed 4/5 checks · What you ask goes through the maker’s server (mcp.nextoolsolutions.com) · ✓ Commands checked Nov 14, 2026
First: which AI do you use?
Pick your app and the steps appear below.
Works with Claude · about 2 min
No key, nothing to install · Set it up once on claude.ai or the desktop app, then use it in chat · free accounts can add 1 · on Team/Enterprise an Owner adds it
CustomizeConnectors
Copy each value into the field with the same name in Claude, then click Continue
NexTool MCP for GLPIhttps://mcp.nextoolsolutions.com/mcpClick Continue past the sign-in settings Claude detected · under Authentication choose what the maker says (Sign in now, Sign in when needed or No sign in), then click Add
+ConnectorsNexTool MCP for GLPI
Use NexTool MCP for GLPI and tell me what you can do for me, then show me one thing✓ If Claude says it is using NexTool MCP for GLPI or shows a NexTool MCP for GLPI tool in the answer, you are connected
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with ChatGPT, depending on your plan
Full MCP: ChatGPT Business, Enterprise or Edu on the web · Pro: connects with read/fetch permissions, so tools that change data may not work · Plus: not confirmed in OpenAI’s docs; if you see an add-custom-MCP option on the Plugins page you can try these steps · web only
Plugins+Add custom MCP server
Enter a name, paste the address under Connection, tick the risk warning and click Create as a plugin
NexTool MCP for GLPIhttps://mcp.nextoolsolutions.com/mcpStart a new chat and pick NexTool MCP for GLPI from your plugins before typing
Use NexTool MCP for GLPI and tell me what you can do for me, then show me one thing✓ If ChatGPT says it is using NexTool MCP for GLPI or shows a NexTool MCP for GLPI tool in the answer, you are connected
Menu names checked against OpenAI’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with Claude Code · about 2 min
No key, nothing to install
Mac: press Command+Space and type Terminal · Windows: open PowerShell
claude mcp add --transport http --scope user glpi https://mcp.nextoolsolutions.com/mcpYou should see NexTool MCP for GLPI listed as connected
Use NexTool MCP for GLPI and tell me what you can do for me, then show me one thing✓ If Claude Code says it is using NexTool MCP for GLPI or shows a NexTool MCP for GLPI tool in the answer, you are connected
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with Cursor · about 2 min
No key, nothing to install
Use NexTool MCP for GLPI and tell me what you can do for me, then show me one thing✓ If Cursor says it is using NexTool MCP for GLPI or shows a NexTool MCP for GLPI tool in the answer, you are connected
Menu names checked against Cursor’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with VS Code · about 2 min
No key, nothing to install
Use NexTool MCP for GLPI and tell me what you can do for me, then show me one thing✓ If VS Code says it is using NexTool MCP for GLPI or shows a NexTool MCP for GLPI tool in the answer, you are connected
Menu names checked against VS Code’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Other apps that use MCP, such as Windsurf, Zed or Gemini CLI, each add servers differently. See how in the app list.
Address for apps that connect over the web
https://mcp.nextoolsolutions.com/mcpJSON settings are under “For developers” below
Claude Code
claude mcp add --transport http --scope user glpi https://mcp.nextoolsolutions.com/mcpCursor (~/.cursor/mcp.json)
{
"mcpServers": {
"glpi": {
"url": "https://mcp.nextoolsolutions.com/mcp"
}
}
}VS Code (mcp.json)
{
"servers": {
"glpi": {
"type": "http",
"url": "https://mcp.nextoolsolutions.com/mcp"
}
}
}Claude Code
claude mcp add --scope user glpi --env GLPI_USER_TOKEN=your-value --env GLPI_APP_TOKEN=your-value --env GLPI_V2_CLIENT_SECRET=your-value --env GLPI_V2_PASSWORD=your-value -- npx -y @nextoolsolutions/mcp-glpiClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"glpi": {
"command": "npx",
"args": [
"-y",
"@nextoolsolutions/mcp-glpi"
],
"env": {
"GLPI_USER_TOKEN": "your-value",
"GLPI_APP_TOKEN": "your-value",
"GLPI_V2_CLIENT_SECRET": "your-value",
"GLPI_V2_PASSWORD": "your-value"
}
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"glpi": {
"command": "npx",
"args": [
"-y",
"@nextoolsolutions/mcp-glpi"
],
"env": {
"GLPI_USER_TOKEN": "your-value",
"GLPI_APP_TOKEN": "your-value",
"GLPI_V2_CLIENT_SECRET": "your-value",
"GLPI_V2_PASSWORD": "your-value"
}
}
}
}VS Code (mcp.json)
{
"servers": {
"glpi": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@nextoolsolutions/mcp-glpi"
],
"env": {
"GLPI_USER_TOKEN": "your-value",
"GLPI_APP_TOKEN": "your-value",
"GLPI_V2_CLIENT_SECRET": "your-value",
"GLPI_V2_PASSWORD": "your-value"
}
}
}
}GLPI_URL envGLPI_USER_TOKEN secret required envGLPI_APP_TOKEN secret required envGLPI_V2_URL envGLPI_V2_CLIENT_ID envGLPI_V2_CLIENT_SECRET secret required envGLPI_V2_USERNAME envGLPI_V2_PASSWORD secret required envGLPI_V2_SCOPE envGLPI_V2_API_VERSION envGLPI_TOOLSETS envGLPI_TOOLS_INCLUDE envGLPI_TOOLS_EXCLUDE envGLPI_READ_ONLY envGLPI_ALLOW_DELETE envGLPI_REQUIRE_DELETE_REASON envGLPI_DEFAULT_PAGE_SIZE envGLPI_MAX_PAGE_SIZE envGLPI_IDEMPOTENCY_WINDOW envGLPI_RESOURCE_CACHE_TTL envGLPI_MAX_RETRIES envGLPI_TIMEOUT envDescriptions are as written by the maker.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
npm: @nextoolsolutions/mcp-glpiBased on how this server connects and on each app’s own docs, checked Nov 10, 2026.
Connect over the internet in
ClaudeChatGPTGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast
Run on your computer in
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
The server asks you to sign in before it lists its tools.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 14, 2026
The publisher (nextoolsolutions.com) is not the repo owner (NexTools-Solutions); someone else may have listed it
Code last changed 9 days ago
Uses MIT
Responded in 842 ms (HTTP 401)
Declares OAuth sign-in, so your AI app can take you to log in
Not checked yet; we read the tool list when we check the endpoint
Ask, share a tip or report that it does not work. Sorted by what people marked helpful.
No posts yet. Be the first to ask or share.
Posts here are written by users, not the PopNx team.
No reviews yet
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 4 of 5 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: GLPI_USER_TOKEN, GLPI_APP_TOKEN, GLPI_V2_CLIENT_SECRET, GLPI_V2_PASSWORD
Either way works: install it on your computer or connect to the cloud version.
The GitHub repo last changed 9 days ago, and the latest version (3.5.7) reached the registry 9 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT on the web (full MCP on Business and above; Pro read-only).
In the same category: Context7, Codebase Memory, OpenSEO
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Keyword research, site audits, rank tracking and AI visibility for your AI agent.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Connect Claude and other MCP clients to your GLPI. One MCP server for both GLPI APIs; each tool family turns on with its own credentials:
| Family | API | Tools | Enabled by |
|---|---|---|---|
glpi_* | classic REST (apirest.php) or api.php/v1 — GLPI 9.5, 10 and 11 | 111 | GLPI_URL + GLPI_USER_TOKEN (+ GLPI_APP_TOKEN) |
glpi_v2_* | High-level API v2 over OAuth2 — GLPI 11 | 55 | GLPI_V2_URL + GLPI_V2_CLIENT_ID/SECRET + GLPI_V2_USERNAME/PASSWORD |
Until 2.x the v2 family was a separate package (mcp-glpi-v2); since 3.0.0 it lives here, with the same tool names and schemas. Both families share the write policy, payload formatting and create idempotency below.
Not affiliated with Teclib'. GLPI is a registered trademark of Teclib'.
Tool selection. GLPI_TOOLSETS picks named presets (tickets,kb; see Toolsets); GLPI_TOOLS_INCLUDE / GLPI_TOOLS_EXCLUDE take comma-separated globs on tool names (glpi_*ticket*,glpi_search, *webhook*). Toolsets and include globs add up; exclude always wins; with neither toolsets nor include globs every tool registers. An unknown toolset name fails at startup. Fewer tools, less context per session.
Several instances can share this one binary with different env files.
| Entry | Transport | Instances | Authentication |
|---|---|---|---|
dist/index.js (mcp-glpi) | stdio | one, from the environment | none (local process) |
dist/http.js (mcp-glpi-http) | Streamable HTTP, /mcp/ | many, from MCP_INSTANCES_FILE | Authorization: Bearer , required |
The HTTP entry is the one meant to serve every NexTool environment from one place. A key opens only the instances it was granted, a session stays bound to the key and instance that opened it, GLPI sessions, OAuth tokens and catalogue caches are kept per credential, and create idempotency is shared per instance across sessions. One JSON audit line per request goes to stdout (key, instance, methods, tools; never arguments or credentials). GET /healthz answers without authentication.
Keys live in the instances file as SHA-256 hashes only (mode 600; it is re-read when it changes):
{
"instances": { "acme": { "env": { "GLPI_URL": "https://glpi.acme.example", "GLPI_USER_TOKEN": "…", "GLPI_APP_TOKEN": "…" } } }, "keys": [{ "name": "laptop", "sha256": " ", "instances": ["acme"] }] }
KEY=$(openssl rand -hex 32) # give it to the client once
printf %s "$KEY" | sha256sum | cut -d' ' -f1 # goes into "sha256" MCP_INSTANCES_FILE=instances.json MCP_HTTP_PORT=8787 npx mcp-glpi-http
A hosted, multi-tenant version with sign-in through the NexTool portal is available at https://mcp.nextoolsolutions.com/mcp.
Other variables: MCP_HTTP_HOST (default 127.0.0.1), MCP_ALLOWED_HOSTS (Host header allowlist), MCP_SESSION_IDLE_MIN (default 30). The file is re-read when it changes.
glpi://entities, glpi://itil-categories, glpi://request-types, glpi://code-maps) so catalogue lookups do not cost a tool call.GLPI_TOOLSETS=kb there is none).glpi_v2_*): entities, ITIL with team members and timeline, users, groups, knowledge base, dropdowns, documents, rules, session and health check.| Need | Tool | Defaults |
|---|---|---|
| "My tickets" (the connected user's) | glpi_list_my_tickets | open only, latest update first, any role |
| Tickets of the whole instance | glpi_list_tickets | every status, latest update first |
| Arbitrary criteria | glpi_search | GLPI search order |
glpi_list_my_tickets: role (any \| requester \| assigned \| observer), status, sort, order, range, users_id (another user; default the session user from getFullSession). Rows carry requesters / assigned / observers as {id, name}, requester_groups, assigned_groups, status_name, type_name and my_roles; the result also has total and user.glpi_list_tickets: new status, sort and order (the old range and expand_dropdowns keep working). With a status filter the result also has total. Rows carry status_name, type_name, priority_name, category_name, and requesters / assigned as {id, name} (one search per 50 tickets, not one call per ticket).status takes one name or a list: new, assigned (= processing), planned, pending, solved, closed, and open (= new + assigned + planned + pending, GLPI's "not old").sort: date_mod (default), date, id, priority, status, name, solvedate, closedate; order: desc (default) or asc.glpi_v2_list_tickets takes the same status names and sorts by date_mod:desc by default. The v2 API cannot filter on the team (GLPI 11.0.7 ignores or rejects a team filter), so "my tickets" is a v1 tool.glpi_list_changes / glpi_list_problems (and the v2 ones) also default to latest update first.Sub-items keep their IDs and gain names: glpi_list_ticket_users (user_name, type_name), glpi_list_ticket_groups (group_name, type_name), followups (user_name), tasks (user_name, tech_name, tech_group_name), validations (user_name, validator_name, status_name), glpi_list_timeline (all of these, plus solutiontype_name and user_name_approval on solutions), glpi_get_ticket (recipient_name, category_name, entity_name, requesttype_name, location_name, status_name, type_name, priority_name, urgency_name, impact_name), problems and changes (category_name, status_name, priority_name; the single item also the people and entity) and glpi_list_assets (location_name, state_name, user_name). Names are read with GET / / through a 5-minute cache per credential; a name the user cannot read stays null.
Labels of codes (*_status, type_name, priority_name...) are in the language of the GLPI session (getFullSession → glpilanguage, cached per credential), with GLPI's own texts: pt_BR, pt_PT, es_ES, fr_FR, it_IT and de_DE have tables (taken from GLPI 11's locales/*.po), a regional variant uses its family (es_MX → es_ES), anything else GLPI's English. Before 3.5.0 the v1 tools always answered in English ("Solved") while the v2 ones answered in the GLPI language ("Solucionado").
The API v2 labels the status itself but sends priority, urgency, impact and the ticket type as numbers. Since 3.5.1 the v2 ticket/change/problem tools add priority_name, urgency_name, impact_name (and type_name on tickets) beside the codes, in the language whose status table matches the status labels the API returned (the v2 session carries no language); the timeline adds status_name to validations and solutions and state_name to tasks, with the language cached per credential (or read from one ticket). English when nothing matches.
glpi_search keys its rows by search option name in the GLPI user's language ("Título", "Status", "Última atualização") by default since 3.5.0; named_columns: false returns the numeric option IDs ("1", "12", "19"). Since 3.5.1 coded columns (status, priority, urgency, impact, ticket type, approval and solution-approval status) hold the label in the session language and the code sits beside it under " (id)": "Status": "Solucionado", "Status (id)": 5. A column is labelled only when its search option points at a known table/field; the markdown table leaves the (id) columns out, and named_columns: false stays the raw search.
Full reference: docs/TOOLS.md (v1) and docs/v2/TOOLS.md (v2); OAuth2 setup in docs/v2/SETUP.md.
Named presets for GLPI_TOOLSETS (or the toolsets option of instanceFromConfig). Domain presets hold both families; a family still needs its credentials to register. A tool can be in more than one preset, and every tool is in at least one besides core (asserted by the tests). core is the lean default for hosted use: every read tool of the everyday presets (no webhook, rule or session internals) plus the non-destructive ticket operations.
Presets are self-contained (asserted by the tests): a tool named in another tool's description or parameters is in every preset that holds the tool naming it. That is why tickets carries glpi_search / glpi_list_search_options and the user/group reads that put names on people, and assets carries the generic search its list tool points to.
| Preset | Tools (v1 + v2) | What |
|---|---|---|
core | 93 (59 + 34) | reads of tickets/itil/assets/kb/documents/users/search + entity and people reads, plus create/update ticket, followup, solution, task, validation, actors |
tickets | 53 (33 + 20) | ticket lifecycle incl. my tickets, plus search and user/group reads |
itil | 46 (24 + 22) | problems and changes, shared timeline and categories, user/group reads |
assets | 15 (14 + 1) | assets, reservations, locations, generic search |
kb | 16 (10 + 6) | knowledge base |
documents | 12 (8 + 4) | documents and document links |
users | 10 (5 + 5) | user and group reads |
search | 3 (3 + 0) | generic search, counts, search options |
admin | 55 (37 + 18) | GLPI administration: create/update users and groups, entities, session/profile, rules, followup templates, webhooks (plus the user/group reads) |
v2 | 55 (0 + 55) | every glpi_v2_* tool |
Administration with writes only in `admin` (3.5.0, owner's decision): creating or changing users and groups, entities, business rules and webhooks is not in core nor in any everyday preset (tickets, itil, assets, kb, documents, users, search); the reads that help with a ticket (users, groups, entities) stay. The v2 preset is the whole family and still holds them. Asserted by the tests (ADMIN_WRITE_TOOLS, EVERYDAY_TOOLSETS).
Before 3.5.0: users 15 (7 + 8), admin 42 (31 + 11). Before 3.4.0: core 92, tickets 42, itil 38, assets 13.
Tools in each preset
Lean default: every read tool of the everyday presets plus the non-destructive ticket operations
v1: glpi_list_tickets, glpi_list_my_tickets, glpi_get_ticket, glpi_list_followups, glpi_list_timeline, glpi_list_ticket_validations, glpi_list_ticket_users, glpi_list_ticket_groups, glpi_list_ticket_tasks, glpi_get_ticket_stats, glpi_list_itil_categories, glpi_get_itil_category, glpi_list_itil_followup_templates, glpi_get_itil_followup_template, glpi_list_changes, glpi_get_change, glpi_list_change_followups, glpi_list_change_tasks, glpi_list_problems, glpi_get_problem, glpi_list_problem_followups, glpi_list_problem_tasks, glpi_list_assets, glpi_get_asset, glpi_get_asset_details, glpi_list_reservation_items, glpi_list_reservations, glpi_get_reservation, glpi_list_locations, glpi_get_location, glpi_list_knowbase_items, glpi_get_knowbase_item, glpi_list_knowbase_categories, glpi_get_knowbase_category, glpi_list_documents, glpi_get_document, glpi_list_document_items, glpi_get_document_item, glpi_get_user, glpi_search_user_by_email, glpi_list_users, glpi_list_groups, glpi_get_group, glpi_search, glpi_count_items, glpi_list_search_options, `glpi_list_entitie