# NexTool MCP for GLPI (npm · @nextoolsolutions/mcp-glpi)

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

- Trust score: 86/100 (high trust)
- Change this week: +4
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-16

## Components

- remote · `mcp.nextoolsolutions.com`: 34/100, [markdown](https://verifymcp.io/servers/com-nextoolsolutions-glpi/mcp.md), [page](https://verifymcp.io/servers/com-nextoolsolutions-glpi/mcp)
- npm · `@nextoolsolutions/mcp-glpi`: 86/100 (this document), [markdown](https://verifymcp.io/servers/com-nextoolsolutions-glpi/nextoolsolutions-mcp-glpi.md), [page](https://verifymcp.io/servers/com-nextoolsolutions-glpi/nextoolsolutions-mcp-glpi)

## Channel facts

- Registry: `npm`
- Package: `@nextoolsolutions/mcp-glpi`
- Version: `3.5.5`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-10-16.

- **Supply Chain Security**: 98/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - No install/post-install scripts declared.
  - 31 of 94 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 100/100
  - Source repository is publicly reachable at the declared URL.
  - Cryptographically verified build provenance (signed, bound to NexTools-Solutions/nextool-mcp-glpi).
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 10 days ago).
  - Publishes a security disclosure policy (SECURITY.md).
- **Schema Quality & AI Usability**: 87/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Tool/resource definitions use about 11213 tokens (~97/item across 115 items; 111 tools + 4 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 33/100
  - Stability observed for 10 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Tool Safety**: 75/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - All 9 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.
  - Manipulation not yet verified: none of the 113 captured unit(s) of tool text has been judged yet, so we will not certify text no model has read as clean.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the NexTool MCP for GLPI server?

NexTool MCP for GLPI runs locally as an npm package, launched with npx -y @nextoolsolutions/mcp-glpi. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add com-nextoolsolutions-glpi -- npx -y @nextoolsolutions/mcp-glpi
```

### Cursor

```json
{
  "mcpServers": {
    "com-nextoolsolutions-glpi": {
      "command": "npx",
      "args": [
        "-y",
        "@nextoolsolutions/mcp-glpi"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "com-nextoolsolutions-glpi": {
      "command": "npx",
      "args": [
        "-y",
        "@nextoolsolutions/mcp-glpi"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add com-nextoolsolutions-glpi -- npx -y @nextoolsolutions/mcp-glpi
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-nextoolsolutions-glpi": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@nextoolsolutions/mcp-glpi"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-nextoolsolutions-glpi --command npx --arg -y --arg @nextoolsolutions/mcp-glpi
```

### Hermes

```yaml
mcp_servers:
  com-nextoolsolutions-glpi:
    command: "npx"
    args: ["-y", "@nextoolsolutions/mcp-glpi"]
```

### Netclaw

```json
{
  "McpServers": {
    "com-nextoolsolutions-glpi": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "@nextoolsolutions/mcp-glpi"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add com-nextoolsolutions-glpi -t stdio -c npx -a -y @nextoolsolutions/mcp-glpi
```

### Other

```json
{
  "mcpServers": {
    "com-nextoolsolutions-glpi": {
      "command": "npx",
      "args": [
        "-y",
        "@nextoolsolutions/mcp-glpi"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-10-15 (score 86, +1)

No change was recorded against any check on this day. Stability & Change Management went from 27 to 30. That category is still filling its 30-day observation window: 8 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-13 (score 85, +1)

- [functional improvement] Security disclosure: unverified → pass

### 2026-10-12 (score 84, +2)

- [functional regression] Security disclosure: pass → unverified
- [functional improvement] Stability: unverified → 0.20

### 2026-10-07 (score 82, +48)

- [security improvement] Malware scan: unverified → pass
- [security improvement] Injection markers: unverified → pass
- [security] First check of Judged manipulation: unverified
- [security] Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window).
- [functional improvement] Tool coverage: unverified → 100
- [functional improvement] Schema quality: unverified → 100
- [functional improvement] MCP protocol: unverified → pass
- [functional] First check of Schema quality: fail
- [functional] First check of Schema quality: excellent
- [functional] First check of Destructive annotations: 100
- [functional] First check of Schema quality: pass
- [functional] First check of Tool coverage: 100
- [functional] First check of Tool coverage: 100
- [functional] Package version: 3.5.2 → 3.5.5

### 2026-10-05 (score 34)

First indexed and scored.

## MCP tools (111)

### `glpi_list_tickets` (~290 tokens)

List tickets

List GLPI tickets of the whole instance (every ticket the connected user may see), most recently updated first by default. Filter by status (e.g. status: 'open' = not solved nor closed) and choose the sort column and direction. Each row carries status_name, type_name, priority_name (in the GLPI user's language), category_name, and requesters and assigned technicians as {id, name}. For the connected user's OWN tickets ("my tickets") use glpi_list_my_tickets instead.

Input parameters:

- `expand_dropdowns` (boolean): Expand dropdown IDs to names
- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)
- `order` (string): Sort direction (default desc = most recent first)
- `range` (string): Pagination range, e.g. 0-49
- `sort` (string): Sort column (default date_mod = last update)
- `status`: Only tickets in these statuses: new, assigned (= processing), planned, pending, solved, closed, or open (= new + assigned + planned + pending). One name or a list. Default: every status.

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page
- `total` (number): Total matching items in GLPI (all pages)

### `glpi_list_my_tickets` (~295 tokens)

List my tickets

"My tickets": tickets of the connected GLPI user (or of users_id) where they are requester, assigned technician or observer. Defaults: open tickets only (not solved nor closed), most recently updated first. Each row names the people: requesters, assigned and observers as {id, name}, plus status_name and my_roles. Use this for "meus chamados", "my open tickets", "tickets assigned to me".

Input parameters:

- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)
- `order` (string): Sort direction (default desc = most recent first)
- `range` (string): Pagination range, e.g. 0-49
- `role` (string): Which link to the user: requester, assigned (technician), observer, or any (default)
- `sort` (string): Sort column (default date_mod = last update)
- `status`: Statuses to include (default open = not solved nor closed): new, assigned (= processing), planned, pending, solved, closed, open. One name or a list.
- `users_id`: Another user's ID (default: the connected user)

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page
- `role` (string)
- `status` (array)
- `total` (number): Total matching tickets (all pages)
- `user` (object): Whose tickets these are

### `glpi_get_ticket` (~182 tokens)

Get ticket

Retrieve a single ticket by ID. IDs come with names beside them (recipient_name, category_name, entity_name; status_name, type_name, priority_name in the GLPI user's language). Requesters, technicians and observers are not ticket fields: list them with glpi_list_ticket_users (and groups with glpi_list_ticket_groups).

Input parameters:

- `expand_dropdowns` (boolean): Replace dropdown IDs with their names in place (loses the IDs; by default names are added beside them)
- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)
- `ticketId` (required): Item ID

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_create_ticket` (~63 tokens)

Create ticket

Create a new ticket. Common fields: name (title), content (description), entities_id, users_id_requester, itilcategories_id, type (1=Incident, 2=Request), urgency, impact, priority.

Input parameters:

- `input` (object, required): Ticket fields

Output parameters:

- `data`
- `replayed` (boolean): True when an identical recent create was returned instead of repeated

### `glpi_update_ticket` (~35 tokens)

Update ticket

Update an existing ticket by ID.

Input parameters:

- `input` (object, required): Fields to update
- `ticketId` (required): Item ID

Output parameters:

- `data`

### `glpi_list_changes` (~170 tokens)

List changes

List change management items, most recently updated first by default, with status_name and priority_name (in the GLPI user's language) and category_name.

Input parameters:

- `expand_dropdowns` (boolean): Expand dropdown IDs to names
- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)
- `order` (string): Sort direction (default desc = most recent first)
- `range` (string): Pagination range, e.g. 0-49
- `sort` (string): Sort column (default date_mod = last update)

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_get_change` (~122 tokens)

Get change

Retrieve a change by ID, with names beside the IDs and status/priority labels in the GLPI user's language.

Input parameters:

- `changeId` (required): Item ID
- `expand_dropdowns` (boolean): Expand dropdown IDs to names
- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_create_change` (~39 tokens)

Create change

Create a new change. Common fields: name, content, entities_id, users_id_requester.

Input parameters:

- `input` (object, required): Change fields

Output parameters:

- `data`
- `replayed` (boolean): True when an identical recent create was returned instead of repeated

### `glpi_update_change` (~35 tokens)

Update change

Update an existing change by ID.

Input parameters:

- `changeId` (required): Item ID
- `input` (object, required): Fields to update

Output parameters:

- `data`

### `glpi_list_change_followups` (~136 tokens)

List change followups

List followups (comments) of a change, with the author's name (user_name).

Input parameters:

- `changeId` (required): Item ID
- `expand_dropdowns` (boolean): Expand dropdown IDs to names
- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)
- `range` (string): Pagination range, e.g. 0-49

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_list_problems` (~171 tokens)

List problems

List problem management items, most recently updated first by default, with status_name and priority_name (in the GLPI user's language) and category_name.

Input parameters:

- `expand_dropdowns` (boolean): Expand dropdown IDs to names
- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)
- `order` (string): Sort direction (default desc = most recent first)
- `range` (string): Pagination range, e.g. 0-49
- `sort` (string): Sort column (default date_mod = last update)

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_get_problem` (~122 tokens)

Get problem

Retrieve a problem by ID, with names beside the IDs and status/priority labels in the GLPI user's language.

Input parameters:

- `expand_dropdowns` (boolean): Expand dropdown IDs to names
- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)
- `problemId` (required): Item ID

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_create_problem` (~39 tokens)

Create problem

Create a new problem. Common fields: name, content, entities_id, users_id_requester.

Input parameters:

- `input` (object, required): Problem fields

Output parameters:

- `data`
- `replayed` (boolean): True when an identical recent create was returned instead of repeated

### `glpi_update_problem` (~35 tokens)

Update problem

Update an existing problem by ID.

Input parameters:

- `input` (object, required): Fields to update
- `problemId` (required): Item ID

Output parameters:

- `data`

### `glpi_list_problem_followups` (~136 tokens)

List problem followups

List followups (comments) of a problem, with the author's name (user_name).

Input parameters:

- `expand_dropdowns` (boolean): Expand dropdown IDs to names
- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)
- `problemId` (required): Item ID
- `range` (string): Pagination range, e.g. 0-49

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_search` (~420 tokens)

Search items

Search GLPI items with criteria. itemtype: Ticket, User, Change, Problem, Computer, etc. Each criterion is {field, searchtype, value, link}: field = search option ID, searchtype = contains | equals | notequals | lessthan | morethan | under, link = AND | OR (omit on the first). Rows come keyed by the search option names in the GLPI user's language ('Título', 'ID', 'Status'...); coded columns (status, priority, urgency, impact, type, approval) hold the GLPI label and the code sits beside it as '<name> (id)' (e.g. 'Status': 'Solucionado', 'Status (id)': 5). named_columns=false returns the raw search keyed by option ID ('1', '2'...). Use glpi_list_search_options to discover the option IDs for criteria, forcedisplay and sort.

Input parameters:

- `criteria` (array): Array of {field, searchtype, value, link}; a group is {link, criteria: [...]} (e.g. requester OR technician)
- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `forcedisplay` (array): Search option IDs to add as columns
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)
- `itemtype` (string, required): Item type, e.g. Ticket, User, Change, Problem
- `named_columns` (boolean): Key each row by search option name, coded values labelled (default true); false = raw, by numeric option ID
- `order` (string): Sort direction (default asc)
- `range` (string): Pagination range, e.g. 0-49
- `sort` (integer): Search option ID to sort by (e.g. 19 = last update on Ticket)

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page
- `total` (number): Total matching items in GLPI (all pages)

### `glpi_add_followup` (~78 tokens)

Add followup to ticket

Add a comment/followup to a ticket.

Input parameters:

- `content` (string, required): Followup text content
- `is_private` (number): 1 for private, 0 for public (default: 0)
- `ticketId` (required): Item ID
- `users_id` (integer): Author user ID (default: session user)

Output parameters:

- `data`
- `replayed` (boolean): True when an identical recent create was returned instead of repeated

### `glpi_list_followups` (~124 tokens)

List ticket followups

List followups (comments) of a ticket, oldest first, with the author's name (user_name).

Input parameters:

- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)
- `range` (string): Pagination range, e.g. 0-49
- `ticketId` (required): Item ID

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_add_solution` (~41 tokens)

Add solution to ticket

Add a solution to a ticket (status changes to Solved).

Input parameters:

- `content` (string, required): Solution text content
- `ticketId` (required): Item ID

Output parameters:

- `data`
- `replayed` (boolean): True when an identical recent create was returned instead of repeated

### `glpi_list_ticket_validations` (~161 tokens)

List ticket validations

List approval/validation requests for a ticket, with requester and approver names (user_name, validator_name) and status_name in the GLPI user's language (status: 1 = not subject to approval, 2 = waiting, 3 = granted, 4 = refused).

Input parameters:

- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)
- `range` (string): Pagination range, e.g. 0-49
- `ticketId` (required): Item ID

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_create_ticket_validation` (~55 tokens)

Create ticket validation

Create an approval request assigning a validator (users_id_validate).

Input parameters:

- `comment_submission` (string): Comment for the approval request
- `ticketId` (required): Item ID
- `users_id_validate` (required): Approver user ID

Output parameters:

- `data`
- `replayed` (boolean): True when an identical recent create was returned instead of repeated

### `glpi_update_ticket_validation` (~62 tokens)

Update ticket validation

Approve/refuse a validation (status: accepted/refused) or change the approver.

Input parameters:

- `input` (object, required): e.g. {status: 'accepted'} or {users_id_validate: 2}
- `validationId` (required): Item ID

Output parameters:

- `data`

### `glpi_delete_ticket_validation` (~44 tokens)

Delete ticket validation

Remove a validation request by ID.

Input parameters:

- `reason` (string, required): Why this item is being deleted (audit trail, required)
- `validationId` (required): Item ID

Output parameters:

- `data`

### `glpi_get_user` (~91 tokens)

Get user

Retrieve a user by ID.

Input parameters:

- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)
- `userId` (required): Item ID

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_search_user_by_email` (~128 tokens)

Search user by email

Find users by exact email address (returns the user items: id, login, real name, first name...).

Input parameters:

- `email` (string, required): Email address
- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)
- `range` (string): Pagination range, e.g. 0-49

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_list_users` (~118 tokens)

List users

List all users with optional pagination and dropdown expansion.

Input parameters:

- `expand_dropdowns` (boolean): Expand dropdown IDs to names
- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)
- `range` (string): Pagination range, e.g. 0-49

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_create_user` (~49 tokens)

Create user

Create a new GLPI user. Required: name (login). Common: realname, firstname, password, email (via _useremails array).

Input parameters:

- `input` (object, required): User fields

Output parameters:

- `data`
- `replayed` (boolean): True when an identical recent create was returned instead of repeated

### `glpi_update_user` (~35 tokens)

Update user

Update an existing user by ID.

Input parameters:

- `input` (object, required): Fields to update
- `userId` (required): Item ID

Output parameters:

- `data`

### `glpi_list_documents` (~100 tokens)

List documents

List documents with optional pagination.

Input parameters:

- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)
- `range` (string): Pagination range, e.g. 0-49

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_get_document` (~91 tokens)

Get document

Retrieve a document by ID.

Input parameters:

- `documentId` (required): Item ID
- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_create_document` (~36 tokens)

Create document

Create a document (metadata). Fields: name, entities_id, comment, etc.

Input parameters:

- `input` (object, required): Document fields

Output parameters:

- `data`
- `replayed` (boolean): True when an identical recent create was returned instead of repeated

### `glpi_delete_document` (~44 tokens)

Delete document

Permanently delete a document by ID.

Input parameters:

- `documentId` (required): Item ID
- `reason` (string, required): Why this item is being deleted (audit trail, required)

Output parameters:

- `data`

### `glpi_list_document_items` (~103 tokens)

List document-item links

List links between documents and other items.

Input parameters:

- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)
- `range` (string): Pagination range, e.g. 0-49

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_get_document_item` (~95 tokens)

Get document-item link

Retrieve a Document_Item link by ID.

Input parameters:

- `documentItemId` (required): Item ID
- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_create_document_item` (~66 tokens)

Link document to item

Create a link between a document and an item (Ticket, KnowbaseItem, etc.).

Input parameters:

- `documents_id` (required): Document ID
- `items_id` (required): Target item ID
- `itemtype` (string, required): Target item type, e.g. Ticket, KnowbaseItem

Output parameters:

- `data`
- `replayed` (boolean): True when an identical recent create was returned instead of repeated

### `glpi_delete_document_item` (~46 tokens)

Delete document-item link

Remove a Document_Item link by ID.

Input parameters:

- `documentItemId` (required): Item ID
- `reason` (string, required): Why this item is being deleted (audit trail, required)

Output parameters:

- `data`

### `glpi_list_knowbase_items` (~105 tokens)

List knowledge base items

List knowledge base articles with optional pagination.

Input parameters:

- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)
- `range` (string): Pagination range, e.g. 0-49

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_get_knowbase_item` (~97 tokens)

Get knowledge base item

Retrieve a knowledge base article by ID.

Input parameters:

- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)
- `knowbaseId` (required): Item ID

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_create_knowbase_item` (~48 tokens)

Create knowledge base item

Create a new knowledge base article. Fields: name, answer (HTML content), knowbaseitemcategories_id, etc.

Input parameters:

- `input` (object, required): Knowledge base item fields

Output parameters:

- `data`
- `replayed` (boolean): True when an identical recent create was returned instead of repeated

### `glpi_update_knowbase_item` (~40 tokens)

Update knowledge base item

Update a knowledge base article by ID.

Input parameters:

- `input` (object, required): Fields to update
- `knowbaseId` (required): Item ID

Output parameters:

- `data`

### `glpi_delete_knowbase_item` (~48 tokens)

Delete knowledge base item

Permanently delete a knowledge base article.

Input parameters:

- `knowbaseId` (required): Item ID
- `reason` (string, required): Why this item is being deleted (audit trail, required)

Output parameters:

- `data`

### `glpi_list_knowbase_categories` (~105 tokens)

List knowledge base categories

List knowledge base categories with optional pagination.

Input parameters:

- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)
- `range` (string): Pagination range, e.g. 0-49

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_get_knowbase_category` (~96 tokens)

Get knowledge base category

Retrieve a knowledge base category by ID.

Input parameters:

- `categoryId` (required): Item ID
- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_create_knowbase_category` (~41 tokens)

Create knowledge base category

Create a new knowledge base category.

Input parameters:

- `input` (object, required): Category fields (name, knowbaseitemcategories_id for parent, comment)

Output parameters:

- `data`
- `replayed` (boolean): True when an identical recent create was returned instead of repeated

### `glpi_update_knowbase_category` (~39 tokens)

Update knowledge base category

Update a knowledge base category by ID.

Input parameters:

- `categoryId` (required): Item ID
- `input` (object, required): Fields to update

Output parameters:

- `data`

### `glpi_delete_knowbase_category` (~47 tokens)

Delete knowledge base category

Permanently delete a knowledge base category.

Input parameters:

- `categoryId` (required): Item ID
- `reason` (string, required): Why this item is being deleted (audit trail, required)

Output parameters:

- `data`

### `glpi_list_entities` (~121 tokens)

List entities

List GLPI entities (organizational units) with optional pagination.

Input parameters:

- `expand_dropdowns` (boolean): Expand dropdown IDs to names
- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)
- `range` (string): Pagination range, e.g. 0-49

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_get_entity` (~91 tokens)

Get entity

Retrieve an entity by ID.

Input parameters:

- `entityId` (required): Entity ID
- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_create_entity` (~46 tokens)

Create entity

Create a new entity. Fields: name (required), entities_id (parent, 0=Root), comment, address, etc.

Input parameters:

- `input` (object, required): Entity fields

Output parameters:

- `data`
- `replayed` (boolean): True when an identical recent create was returned instead of repeated

### `glpi_update_entity` (~35 tokens)

Update entity

Update an existing entity by ID.

Input parameters:

- `entityId` (required): Entity ID
- `input` (object, required): Fields to update

Output parameters:

- `data`

### `glpi_delete_entity` (~49 tokens)

Delete entity

Permanently delete an entity by ID. WARNING: irreversible action.

Input parameters:

- `entityId` (required): Entity ID
- `reason` (string, required): Why this item is being deleted (audit trail, required)

Output parameters:

- `data`

### `glpi_get_rule_ticket` (~112 tokens)

Get ticket rule

Retrieve a ticket business rule (RuleTicket) by ID.

Input parameters:

- `expand_dropdowns` (boolean): Expand dropdown IDs to names
- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)
- `ruleId` (required): Item ID

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_list_rule_ticket_criteria` (~136 tokens)

List ticket rule criteria

List criteria (conditions) of a specific ticket rule (sub-items of RuleTicket).

Input parameters:

- `expand_dropdowns` (boolean): Expand dropdown IDs to names
- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)
- `range` (string): Pagination range, e.g. 0-49
- `ruleId` (required): Item ID

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_list_rule_ticket_actions` (~132 tokens)

List ticket rule actions

List actions of a specific ticket rule (sub-items of RuleTicket).

Input parameters:

- `expand_dropdowns` (boolean): Expand dropdown IDs to names
- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)
- `range` (string): Pagination range, e.g. 0-49
- `ruleId` (required): Item ID

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_list_rule_criteria` (~153 tokens)

List rule criteria (global)

List rule criteria via GET /RuleCriteria. Optionally filter by rules_id (works for any rule type: RuleTicket, RuleChange, RuleMailCollector).

Input parameters:

- `expand_dropdowns` (boolean): Expand dropdown IDs to names
- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)
- `range` (string): Pagination range, e.g. 0-49
- `rules_id`: Rule ID to filter by

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_list_rule_actions` (~152 tokens)

List rule actions (global)

List rule actions via GET /RuleAction. Optionally filter by rules_id (works for any rule type: RuleTicket, RuleChange, RuleMailCollector).

Input parameters:

- `expand_dropdowns` (boolean): Expand dropdown IDs to names
- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)
- `range` (string): Pagination range, e.g. 0-49
- `rules_id`: Rule ID to filter by

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_update_rule_action` (~52 tokens)

Update rule action

Update a rule action by ID. Fields: action_type, field, value.

Input parameters:

- `actionId` (required): Item ID
- `input` (object, required): Fields to update (action_type, field, value)

Output parameters:

- `data`

### `glpi_list_rules` (~121 tokens)

List ticket rules

List all ticket business rules (RuleTicket) with optional pagination.

Input parameters:

- `expand_dropdowns` (boolean): Expand dropdown IDs to names
- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)
- `range` (string): Pagination range, e.g. 0-49

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_create_rule_ticket` (~47 tokens)

Create ticket rule

Create a new ticket business rule. Fields: name, match (AND/OR), is_active, sub_type, ranking, etc.

Input parameters:

- `input` (object, required): Rule fields

Output parameters:

- `data`
- `replayed` (boolean): True when an identical recent create was returned instead of repeated

### `glpi_create_rule_criteria` (~52 tokens)

Create rule criteria

Create a new criteria for a rule. Fields: rules_id, criteria (field name), condition, pattern.

Input parameters:

- `input` (object, required): Criteria fields (rules_id, criteria, condition, pattern)

Output parameters:

- `data`
- `replayed` (boolean): True when an identical recent create was returned instead of repeated

### `glpi_create_rule_action` (~59 tokens)

Create rule action

Create a new action for a rule. Fields: rules_id, action_type (assign/regex_result/append_regex_result), field, value.

Input parameters:

- `input` (object, required): Action fields (rules_id, action_type, field, value)

Output parameters:

- `data`
- `replayed` (boolean): True when an identical recent create was returned instead of repeated

### `glpi_list_itil_followup_templates` (~125 tokens)

List followup templates

List ITIL followup templates (predefined followup texts).

Input parameters:

- `expand_dropdowns` (boolean): Expand dropdown IDs to names
- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)
- `range` (string): Pagination range, e.g. 0-49

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_get_itil_followup_template` (~111 tokens)

Get followup template

Retrieve a followup template by ID.

Input parameters:

- `expand_dropdowns` (boolean): Expand dropdown IDs to names
- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)
- `templateId` (required): Item ID

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_create_itil_followup_template` (~47 tokens)

Create followup template

Create a new followup template. Fields: name, content, comment, itemtype (Ticket/Change/Problem).

Input parameters:

- `input` (object, required): Template fields

Output parameters:

- `data`
- `replayed` (boolean): True when an identical recent create was returned instead of repeated

### `glpi_update_itil_followup_template` (~40 tokens)

Update followup template

Update a followup template by ID.

Input parameters:

- `input` (object, required): Fields to update
- `templateId` (required): Item ID

Output parameters:

- `data`

### `glpi_list_search_options` (~64 tokens)

List search options

List available search fields for an itemtype. Critical for building search criteria with glpi_search. Returns field IDs, names, and types.

Input parameters:

- `itemtype` (string, required): Item type, e.g. Ticket, User, Change, Problem, ITILCategory

Output parameters:

- `data`

### `glpi_change_active_entities` (~66 tokens)

Change active entity

Change the active entity for the current session. Essential for multi-entity GLPI instances. Use is_recursive=true to include sub-entities.

Input parameters:

- `entityId` (required): Entity ID to switch to
- `is_recursive` (boolean): Include sub-entities (default: false)

Output parameters:

- `data`

### `glpi_get_full_session` (~103 tokens)

Get full session info

Get the full session info including active entity, profile, and user details. Useful for debugging and verifying the current session context.

Input parameters:

- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_list_ticket_users` (~140 tokens)

List ticket users

List all users linked to a ticket (requesters, observers, assigned), with each person's name (user_name) beside users_id and type_name (in the GLPI user's language). type: 1=Requester, 2=Assigned, 3=Observer.

Input parameters:

- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)
- `ticketId` (required): Item ID

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_add_ticket_user` (~79 tokens)

Add user to ticket

Add a user to a ticket as requester, observer, or assigned. type: 1=Requester, 2=Assigned, 3=Observer.

Input parameters:

- `tickets_id` (required): Ticket ID
- `type` (number, required): 1=Requester, 2=Assigned, 3=Observer
- `users_id` (required): User ID

Output parameters:

- `data`
- `replayed` (boolean): True when an identical recent create was returned instead of repeated

### `glpi_delete_ticket_user` (~60 tokens)

Remove user from ticket

Remove a user-ticket link by Ticket_User ID (get the ID from glpi_list_ticket_users).

Input parameters:

- `reason` (string, required): Why this item is being deleted (audit trail, required)
- `ticketUserId` (required): Ticket_User link ID

Output parameters:

- `data`

### `glpi_list_ticket_groups` (~140 tokens)

List ticket groups

List all groups linked to a ticket (requester, observer, assigned), with each group's name (group_name) beside groups_id and type_name (in the GLPI user's language). type: 1=Requester, 2=Assigned, 3=Observer.

Input parameters:

- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)
- `ticketId` (required): Item ID

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_add_ticket_group` (~79 tokens)

Add group to ticket

Add a group to a ticket as requester, observer, or assigned. type: 1=Requester, 2=Assigned, 3=Observer.

Input parameters:

- `groups_id` (required): Group ID
- `tickets_id` (required): Ticket ID
- `type` (number, required): 1=Requester, 2=Assigned, 3=Observer

Output parameters:

- `data`
- `replayed` (boolean): True when an identical recent create was returned instead of repeated

### `glpi_delete_ticket_group` (~62 tokens)

Remove group from ticket

Remove a group-ticket link by Group_Ticket ID (get the ID from glpi_list_ticket_groups).

Input parameters:

- `groupTicketId` (required): Group_Ticket link ID
- `reason` (string, required): Why this item is being deleted (audit trail, required)

Output parameters:

- `data`

### `glpi_list_ticket_tasks` (~132 tokens)

List ticket tasks

List tasks (to-do items) for a ticket, with author, technician and group names (user_name, tech_name, tech_group_name).

Input parameters:

- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)
- `range` (string): Pagination range, e.g. 0-49
- `ticketId` (required): Item ID

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_add_ticket_task` (~147 tokens)

Add task to ticket

Add a task to a ticket. Fields: tickets_id, content (required). Optional: is_private (0/1), state (0=Info, 1=To do, 2=Done), actiontime (seconds), users_id_tech (assigned technician).

Input parameters:

- `actiontime` (number): Duration in seconds
- `content` (string, required): Task content
- `is_private` (number): 1=private, 0=public
- `state` (number): 0=Info, 1=To do, 2=Done
- `tickets_id` (required): Ticket ID
- `users_id_tech` (integer): Assigned technician user ID

Output parameters:

- `data`
- `replayed` (boolean): True when an identical recent create was returned instead of repeated

### `glpi_list_change_tasks` (~117 tokens)

List change tasks

List tasks for a change, with author, technician and group names.

Input parameters:

- `changeId` (required): Item ID
- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)
- `range` (string): Pagination range, e.g. 0-49

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_list_problem_tasks` (~117 tokens)

List problem tasks

List tasks for a problem, with author, technician and group names.

Input parameters:

- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)
- `problemId` (required): Item ID
- `range` (string): Pagination range, e.g. 0-49

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_list_itil_categories` (~120 tokens)

List ITIL categories

List ITIL categories (ticket/change/problem classification).

Input parameters:

- `expand_dropdowns` (boolean): Expand dropdown IDs to names
- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)
- `range` (string): Pagination range, e.g. 0-49

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_get_itil_category` (~95 tokens)

Get ITIL category

Retrieve an ITIL category by ID.

Input parameters:

- `categoryId` (required): Item ID
- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_list_groups` (~116 tokens)

List groups

List GLPI groups with optional pagination.

Input parameters:

- `expand_dropdowns` (boolean): Expand dropdown IDs to names
- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)
- `range` (string): Pagination range, e.g. 0-49

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_get_group` (~91 tokens)

Get group

Retrieve a group by ID.

Input parameters:

- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)
- `groupId` (required): Item ID

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_add_change_followup` (~58 tokens)

Add followup to change

Add a comment/followup to a change.

Input parameters:

- `changeId` (required): Change ID
- `content` (string, required): Followup text content
- `is_private` (number): 1=private, 0=public

Output parameters:

- `data`
- `replayed` (boolean): True when an identical recent create was returned instead of repeated

### `glpi_add_problem_followup` (~58 tokens)

Add followup to problem

Add a comment/followup to a problem.

Input parameters:

- `content` (string, required): Followup text content
- `is_private` (number): 1=private, 0=public
- `problemId` (required): Problem ID

Output parameters:

- `data`
- `replayed` (boolean): True when an identical recent create was returned instead of repeated

### `glpi_add_change_solution` (~42 tokens)

Add solution to change

Add a solution to a change (status changes to Solved).

Input parameters:

- `changeId` (required): Change ID
- `content` (string, required): Solution text content

Output parameters:

- `data`
- `replayed` (boolean): True when an identical recent create was returned instead of repeated

### `glpi_add_problem_solution` (~42 tokens)

Add solution to problem

Add a solution to a problem (status changes to Solved).

Input parameters:

- `content` (string, required): Solution text content
- `problemId` (required): Problem ID

Output parameters:

- `data`
- `replayed` (boolean): True when an identical recent create was returned instead of repeated

### `glpi_get_my_entities` (~89 tokens)

Get my entities

Get the list of entities available to the current user.

Input parameters:

- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_get_my_profiles` (~89 tokens)

Get my profiles

Get the list of profiles available to the current user.

Input parameters:

- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_list_locations` (~116 tokens)

List locations

List GLPI locations with optional pagination.

Input parameters:

- `expand_dropdowns` (boolean): Expand dropdown IDs to names
- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)
- `range` (string): Pagination range, e.g. 0-49

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_get_location` (~91 tokens)

Get location

Retrieve a location by ID.

Input parameters:

- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)
- `locationId` (required): Item ID

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_list_assets` (~181 tokens)

List assets

List assets of a given type (Computer, Monitor, Printer, NetworkEquipment, Peripheral, Phone, Software, Rack, Enclosure), with location_name, state_name and user_name beside the IDs. Use glpi_search for filtered queries.

Input parameters:

- `asset_type` (string, required): Asset itemtype, e.g. Computer, Monitor, Printer, NetworkEquipment, Software
- `expand_dropdowns` (boolean): Expand dropdown IDs to names
- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)
- `range` (string): Pagination range, e.g. 0-49

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_get_asset` (~143 tokens)

Get asset

Retrieve a single asset by type and ID. For hardware detail use glpi_get_asset_details.

Input parameters:

- `assetId` (required): Item ID
- `asset_type` (string, required): Asset itemtype, e.g. Computer, Monitor, Printer, NetworkEquipment, Software
- `expand_dropdowns` (boolean): Expand dropdown IDs to names
- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_get_asset_details` (~251 tokens)

Get asset details

Get one GLPI asset (computer, monitor, printer, network equipment, phone, peripheral...) by type and ID together with its hardware details in a single call: operating system, processors, memory and disks by default, with names instead of IDs. Installed software and network ports are large on inventoried hosts, so they are returned only when asked for with sections ['softwares'] or ['networkports']. For the plain asset record use glpi_get_asset.

Input parameters:

- `assetId` (required): Item ID
- `asset_type` (string, required): Asset itemtype, e.g. Computer, Monitor, Printer, NetworkEquipment, Software
- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)
- `max_items_per_section` (integer): Rows kept per expanded section (default 25); the rest is reported as a count
- `sections` (array): Sections to expand (default: devices, disks, softwares, networkports)

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_create_asset` (~75 tokens)

Create asset

Create an asset. Common fields: name, entities_id, serial, otherserial, locations_id, states_id, manufacturers_id, users_id, comment.

Input parameters:

- `asset_type` (string, required): Asset itemtype, e.g. Computer, Monitor, Printer, NetworkEquipment, Software
- `input` (object, required): Asset fields

Output parameters:

- `data`
- `replayed` (boolean): True when an identical recent create was returned instead of repeated

### `glpi_update_asset` (~62 tokens)

Update asset

Update an existing asset by type and ID.

Input parameters:

- `assetId` (required): Item ID
- `asset_type` (string, required): Asset itemtype, e.g. Computer, Monitor, Printer, NetworkEquipment, Software
- `input` (object, required): Fields to update

Output parameters:

- `data`

### `glpi_list_reservation_items` (~109 tokens)

List reservable items

List items flagged as reservable (the catalogue reservations point at).

Input parameters:

- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)
- `range` (string): Pagination range, e.g. 0-49

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_list_reservations` (~107 tokens)

List reservations

List reservations (bookings) of reservable items.

Input parameters:

- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)
- `range` (string): Pagination range, e.g. 0-49

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_get_reservation` (~92 tokens)

Get reservation

Retrieve a reservation by ID.

Input parameters:

- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)
- `reservationId` (required): Item ID

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_create_reservation` (~128 tokens)

Create reservation

Book a reservable item. begin/end use 'YYYY-MM-DD HH:MM:SS'. reservationitems_id comes from glpi_list_reservation_items (not the asset ID).

Input parameters:

- `begin` (string, required): Start, 'YYYY-MM-DD HH:MM:SS'
- `comment` (string): Free-text note stored on the reservation (optional)
- `end` (string, required): End, 'YYYY-MM-DD HH:MM:SS'
- `reservationitems_id` (required): ReservationItem ID (see glpi_list_reservation_items)
- `users_id`: User the booking is for

Output parameters:

- `data`
- `replayed` (boolean): True when an identical recent create was returned instead of repeated

### `glpi_update_reservation` (~45 tokens)

Update reservation

Update an existing reservation by ID.

Input parameters:

- `input` (object, required): Fields to update (begin, end, comment, users_id)
- `reservationId` (required): Item ID

Output parameters:

- `data`

### `glpi_count_items` (~84 tokens)

Count items

Count matching items without transferring them — answers 'how many' in one cheap call. Use glpi_list_search_options to discover criteria field IDs.

Input parameters:

- `criteria` (array): Array of {field, searchtype, value, link} — same shape as glpi_search
- `itemtype` (string, required): Item type, e.g. Ticket, Computer, User

Output parameters:

- `data` (object)

### `glpi_get_ticket_stats` (~126 tokens)

Get ticket stats

Ticket counts per status (New, Processing, Pending, Solved, Closed) plus the total, without listing the tickets. Optional criteria narrow the scope, e.g. one entity: [{field: 80, searchtype: 'equals', value: <entity id>}] (Ticket search option IDs: 80 = entity, 4 = requester, 5 = technician, 7 = category; same criteria shape as glpi_search).

Input parameters:

- `criteria` (array): Optional criteria to narrow the scope: array of {field, searchtype, value, link}

Output parameters:

- `data`

### `glpi_list_timeline` (~209 tokens)

List timeline

Followups, tasks, solutions and validations of a ticket, change or problem, merged into one chronological list (oldest first; order 'desc' for the latest first), with the people's names (user_name, tech_name, validator_name) and the solution type name. Replaces calling the four list tools separately and interleaving them by hand.

Input parameters:

- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)
- `itemId` (required): Item ID
- `itemtype` (string, required): ITIL item type
- `order` (string): asc (default) = oldest first, desc = latest first
- `range` (string): Pagination range over the merged timeline, e.g. 0-24

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_list_webhooks` (~137 tokens)

List webhooks

List configured webhooks (event, itemtype, target URL, active flag). Requires GLPI 10.0.7 or newer.

Input parameters:

- `expand_dropdowns` (boolean): Expand dropdown IDs to names
- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)
- `range` (string): Pagination range, e.g. 0-49

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_get_webhook` (~98 tokens)

Get webhook

Retrieve a webhook definition by ID, including its payload template.

Input parameters:

- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)
- `webhookId` (required): Item ID

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_create_webhook` (~62 tokens)

Create webhook

Create a webhook. Common fields: name, url, itemtype (e.g. Ticket), event (new, update, delete), is_active, payload, http_method, use_cra_challenge.

Input parameters:

- `input` (object, required): Webhook fields

Output parameters:

- `data`
- `replayed` (boolean): True when an identical recent create was returned instead of repeated

### `glpi_update_webhook` (~60 tokens)

Update webhook

Update a webhook definition by ID.

Input parameters:

- `input` (object, required): Webhook fields to change (e.g. { "url": "https://example.com/hook", "is_active": 1 })
- `webhookId` (required): Item ID

Output parameters:

- `data`

### `glpi_set_webhook_active` (~51 tokens)

Enable or disable webhook

Turn a webhook on or off without touching the rest of its definition.

Input parameters:

- `active` (boolean, required): true turns the webhook on, false turns it off
- `webhookId` (required): Item ID

Output parameters:

- `data`

### `glpi_delete_webhook` (~74 tokens)

Delete webhook

Delete a webhook. Set purge to remove it permanently instead of trashing it.

Input parameters:

- `purge` (boolean): true deletes permanently; false or omitted moves it to the GLPI trash
- `reason` (string, required): Why this item is being deleted (audit trail, required)
- `webhookId` (required): Item ID

Output parameters:

- `data`

### `glpi_list_webhook_deliveries` (~185 tokens)

List webhook deliveries

Delivery queue (QueuedWebhook): what was sent, when, and what is still pending, newest first. Filter by webhook name, or only_failed to see what has been retried.

Input parameters:

- `fields` (string): Field set: 'essential' (default, trims internal GLPI fields) or 'all'
- `format` (string): Output format: 'json' (default) or 'markdown' (a table for listings, key/value lines for one item; returned in both the text and the structured result)
- `only_failed` (boolean): Only deliveries that failed: retried at least once (sent_try > 1) or last HTTP status >= 300
- `range` (string): Pagination range, e.g. 0-49
- `webhook_name` (string): Restrict to webhooks whose name contains this text

Output parameters:

- `count` (integer): Items in this page
- `data`
- `format` (string): 'markdown' when data holds the markdown rendering
- `note` (string): Pagination hint: how to fetch the next page

### `glpi_retry_webhook_delivery` (~54 tokens)

Retry webhook delivery

Queue a failed delivery for another attempt by resetting its send time and retry counter. The GLPI cron does the actual sending — there is no immediate-send endpoint.

Input parameters:

- `deliveryId` (required): QueuedWebhook ID

Output parameters:

- `data`

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/com-nextoolsolutions-glpi/nextoolsolutions-mcp-glpi#diagnostics

## Score history

- 2026-10-16: 86
- 2026-10-15: 86
- 2026-10-14: 85
- 2026-10-13: 85
- 2026-10-12: 84
- 2026-10-09: 82
- 2026-10-07: 82
- 2026-10-05: 34

## Common questions

### What is the NexTool MCP for GLPI server?

NexTool MCP for GLPI is listed in the public MCP registry as com.nextoolsolutions/glpi. MCP server for GLPI: tickets, ITIL, assets, knowledge base. GLPI 10/11. Not affiliated with Teclib'. This page covers its npm package (@nextoolsolutions/mcp-glpi).

### Is the NexTool MCP for GLPI server safe to use?

NexTool MCP for GLPI scores 86 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 16 October 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the NexTool MCP for GLPI server expose?

NexTool MCP for GLPI exposes 111 tools: glpi_list_tickets, glpi_list_my_tickets, glpi_get_ticket, glpi_create_ticket, glpi_update_ticket, and 106 more. Their descriptions and schemas cost roughly 10,850 tokens of context every time the server is loaded.

### Is the NexTool MCP for GLPI server still maintained?

NexTool MCP for GLPI is still listed as active in the MCP registry. We last reached this channel on 16 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What licence is the NexTool MCP for GLPI server under?

NexTool MCP for GLPI declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

## Links

- npm package: https://www.npmjs.com/package/@nextoolsolutions/mcp-glpi
- Socket report: https://socket.dev/npm/package/@nextoolsolutions/mcp-glpi
- Repository: https://github.com/NexTools-Solutions/nextool-mcp-glpi
- Website: https://nextoolsolutions.com/mcp
- Changelog RSS feed: https://verifymcp.io/servers/com-nextoolsolutions-glpi/nextoolsolutions-mcp-glpi.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-nextoolsolutions-glpi/nextoolsolutions-mcp-glpi.json
- HTML version of this page: https://verifymcp.io/servers/com-nextoolsolutions-glpi/nextoolsolutions-mcp-glpi
