Context7
Up-to-date docs for AI agents
Beschreibung vom Entwickler (englisches Original)
MCP server for GLPI: tickets, ITIL, assets, knowledge base. GLPI 10/11. Not affiliated with Teclib'.
Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
GLPI_URL, GLPI_USER_TOKEN, GLPI_APP_TOKEN, GLPI_V2_URL, GLPI_V2_CLIENT_ID, GLPI_V2_CLIENT_SECRET, GLPI_V2_USERNAME, GLPI_V2_PASSWORD, GLPI_V2_SCOPE, GLPI_V2_API_VERSION, GLPI_TOOLSETS, GLPI_TOOLS_INCLUDE, GLPI_TOOLS_EXCLUDE, GLPI_READ_ONLY, GLPI_ALLOW_DELETE, GLPI_REQUIRE_DELETE_REASON, GLPI_DEFAULT_PAGE_SIZE, GLPI_MAX_PAGE_SIZE, GLPI_IDEMPOTENCY_WINDOW, GLPI_RESOURCE_CACHE_TTL, GLPI_MAX_RETRIES, GLPI_TIMEOUTAls geheim markierte Werte sind Schlüssel zu deinem Konto. Gib sie nie weiter und füge sie nie in einen Chat ein.
Du brauchst
Welche App nutzt du?
Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.
Funktioniert in Claude im Web, auf dem Desktop und auf dem Handy:
https://mcp.nextoolsolutions.com/mcpÖffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein
{
"mcpServers": {
"glpi": {
"command": "npx",
"args": [
"-y",
"@nextoolsolutions/mcp-glpi"
],
"env": {
"GLPI_URL": "your-value",
"GLPI_USER_TOKEN": "your-value",
"GLPI_APP_TOKEN": "your-value",
"GLPI_V2_URL": "your-value",
"GLPI_V2_CLIENT_ID": "your-value",
"GLPI_V2_CLIENT_SECRET": "your-value",
"GLPI_V2_USERNAME": "your-value",
"GLPI_V2_PASSWORD": "your-value",
"GLPI_V2_SCOPE": "your-value",
"GLPI_V2_API_VERSION": "your-value",
"GLPI_TOOLSETS": "your-value",
"GLPI_TOOLS_INCLUDE": "your-value",
"GLPI_TOOLS_EXCLUDE": "your-value",
"GLPI_READ_ONLY": "your-value",
"GLPI_ALLOW_DELETE": "your-value",
"GLPI_REQUIRE_DELETE_REASON": "your-value",
"GLPI_DEFAULT_PAGE_SIZE": "your-value",
"GLPI_MAX_PAGE_SIZE": "your-value",
"GLPI_IDEMPOTENCY_WINDOW": "your-value",
"GLPI_RESOURCE_CACHE_TTL": "your-value",
"GLPI_MAX_RETRIES": "your-value",
"GLPI_TIMEOUT": "your-value"
}
}
}
}Führe das in deinem Terminal aus
claude mcp add --transport http glpi https://mcp.nextoolsolutions.com/mcpclaude mcp add glpi --env GLPI_URL=your-value --env GLPI_USER_TOKEN=your-value --env GLPI_APP_TOKEN=your-value --env GLPI_V2_URL=your-value --env GLPI_V2_CLIENT_ID=your-value --env GLPI_V2_CLIENT_SECRET=your-value --env GLPI_V2_USERNAME=your-value --env GLPI_V2_PASSWORD=your-value --env GLPI_V2_SCOPE=your-value --env GLPI_V2_API_VERSION=your-value --env GLPI_TOOLSETS=your-value --env GLPI_TOOLS_INCLUDE=your-value --env GLPI_TOOLS_EXCLUDE=your-value --env GLPI_READ_ONLY=your-value --env GLPI_ALLOW_DELETE=your-value --env GLPI_REQUIRE_DELETE_REASON=your-value --env GLPI_DEFAULT_PAGE_SIZE=your-value --env GLPI_MAX_PAGE_SIZE=your-value --env GLPI_IDEMPOTENCY_WINDOW=your-value --env GLPI_RESOURCE_CACHE_TTL=your-value --env GLPI_MAX_RETRIES=your-value --env GLPI_TIMEOUT=your-value -- npx -y @nextoolsolutions/mcp-glpiTrag die leeren Werte ein, bevor du ihn startest.
In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"glpi": {
"url": "https://mcp.nextoolsolutions.com/mcp"
}
}
}In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"glpi": {
"command": "npx",
"args": [
"-y",
"@nextoolsolutions/mcp-glpi"
],
"env": {
"GLPI_URL": "your-value",
"GLPI_USER_TOKEN": "your-value",
"GLPI_APP_TOKEN": "your-value",
"GLPI_V2_URL": "your-value",
"GLPI_V2_CLIENT_ID": "your-value",
"GLPI_V2_CLIENT_SECRET": "your-value",
"GLPI_V2_USERNAME": "your-value",
"GLPI_V2_PASSWORD": "your-value",
"GLPI_V2_SCOPE": "your-value",
"GLPI_V2_API_VERSION": "your-value",
"GLPI_TOOLSETS": "your-value",
"GLPI_TOOLS_INCLUDE": "your-value",
"GLPI_TOOLS_EXCLUDE": "your-value",
"GLPI_READ_ONLY": "your-value",
"GLPI_ALLOW_DELETE": "your-value",
"GLPI_REQUIRE_DELETE_REASON": "your-value",
"GLPI_DEFAULT_PAGE_SIZE": "your-value",
"GLPI_MAX_PAGE_SIZE": "your-value",
"GLPI_IDEMPOTENCY_WINDOW": "your-value",
"GLPI_RESOURCE_CACHE_TTL": "your-value",
"GLPI_MAX_RETRIES": "your-value",
"GLPI_TIMEOUT": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"glpi": {
"type": "http",
"url": "https://mcp.nextoolsolutions.com/mcp"
}
}
}In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"glpi": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@nextoolsolutions/mcp-glpi"
],
"env": {
"GLPI_URL": "your-value",
"GLPI_USER_TOKEN": "your-value",
"GLPI_APP_TOKEN": "your-value",
"GLPI_V2_URL": "your-value",
"GLPI_V2_CLIENT_ID": "your-value",
"GLPI_V2_CLIENT_SECRET": "your-value",
"GLPI_V2_USERNAME": "your-value",
"GLPI_V2_PASSWORD": "your-value",
"GLPI_V2_SCOPE": "your-value",
"GLPI_V2_API_VERSION": "your-value",
"GLPI_TOOLSETS": "your-value",
"GLPI_TOOLS_INCLUDE": "your-value",
"GLPI_TOOLS_EXCLUDE": "your-value",
"GLPI_READ_ONLY": "your-value",
"GLPI_ALLOW_DELETE": "your-value",
"GLPI_REQUIRE_DELETE_REASON": "your-value",
"GLPI_DEFAULT_PAGE_SIZE": "your-value",
"GLPI_MAX_PAGE_SIZE": "your-value",
"GLPI_IDEMPOTENCY_WINDOW": "your-value",
"GLPI_RESOURCE_CACHE_TTL": "your-value",
"GLPI_MAX_RETRIES": "your-value",
"GLPI_TIMEOUT": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
ChatGPT verbindet sich nur mit Servern im Internet:
https://mcp.nextoolsolutions.com/mcpMenünamen können sich je nach Tarif und mit der Zeit leicht unterscheiden.
Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.
GLPI_URL envGLPI_V2_URL envGLPI_V2_CLIENT_ID envGLPI_V2_USERNAME 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 envDiese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Der Server verlangt eine Anmeldung, bevor er seine Tools auflistet.
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 6. Nov. 2026
Der Herausgeber (nextoolsolutions.com) ist nicht der Repo-Inhaber (NexTools-Solutions); vielleicht hat jemand anderes ihn eingetragen
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieses Repo haben wir noch nicht von GitHub gelesen
Antwort in 414 ms (HTTP 401)
Gibt OAuth-Anmeldung an, damit deine KI-App dich zum Einloggen weiterleiten kann
Noch nicht geprüft; wir lesen die Tool-Liste, wenn wir den Endpunkt prüfen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 2 von 3 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Das musst du eintragen: GLPI_USER_TOKEN, GLPI_APP_TOKEN, GLPI_V2_CLIENT_SECRET, GLPI_V2_PASSWORD
Beides geht: Installiere ihn auf deinem Computer oder verbinde dich mit der Cloud-Version.
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (3.5.7) kam gestern in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Er verbindet sich per URL, also funktionieren auch Apps, die Remote-MCP-Server akzeptieren, zum Beispiel ChatGPT im Entwicklermodus.
In derselben Kategorie: Context7, Codebase Memory, Exa
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
Up-to-date docs for AI agents
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
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
Nur der Anfang wird gezeigt; den Rest findest du im Repo