Context7
Up-to-date docs for AI agents
Descripción del creador (original en inglés)
MCP server for GLPI: tickets, ITIL, assets, knowledge base. GLPI 10/11. Not affiliated with Teclib'.
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
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_TIMEOUTLos valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.
Necesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Funciona en Claude para web, escritorio y móvil:
https://mcp.nextoolsolutions.com/mcpAbre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"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"
}
}
}
}Ejecuta esto en tu terminal
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-glpiCompleta los valores vacíos antes de ejecutarlo.
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"glpi": {
"url": "https://mcp.nextoolsolutions.com/mcp"
}
}
}Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"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"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"glpi": {
"type": "http",
"url": "https://mcp.nextoolsolutions.com/mcp"
}
}
}Pégalo en .vscode/mcp.json de tu proyecto
{
"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"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
ChatGPT solo se conecta a servidores en internet:
https://mcp.nextoolsolutions.com/mcpLos nombres de los menús pueden variar un poco según el plan y con el tiempo.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
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 envEsta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
El servidor pide iniciar sesión antes de mostrar sus herramientas.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 6 nov 2026
Quien lo publicó (nextoolsolutions.com) no es el dueño del repo (NexTools-Solutions); puede que otra persona lo haya listado
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Respondió en 414 ms (HTTP 401)
Declara inicio de sesión con OAuth, así que tu app de IA puede llevarte a iniciar sesión
Aún sin revisar; leemos la lista de herramientas cuando revisamos el endpoint
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 2 de 3 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
Debes completar: GLPI_USER_TOKEN, GLPI_APP_TOKEN, GLPI_V2_CLIENT_SECRET, GLPI_V2_PASSWORD
Funciona de las dos formas: instálalo en tu computadora o conéctate a la versión en la nube.
El repo de GitHub cambió por última vez –, y la última versión (3.5.7) llegó al registro anteayer.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. Se conecta por URL, así que también funcionan las apps que aceptan servidores MCP remotos, como ChatGPT en modo desarrollador.
En la misma categoría: Context7, Codebase Memory, Exa
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
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.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
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
Solo se muestra el principio; lee el resto en el repo