glpi-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GLPI_URL | Yes | GLPI root URL (required) | |
| GLPI_API_MODE | No | API mode: auto, legacy or hlapi | auto |
| GLPI_PASSWORD | No | OAuth password grant password (also legacy Basic auth fallback) | |
| GLPI_USERNAME | No | OAuth password grant user (also legacy Basic auth fallback) | |
| MCP_HTTP_HOST | No | HTTP listen address (0.0.0.0 in Docker) | 127.0.0.1 |
| MCP_HTTP_PORT | No | HTTP listen port | 8000 |
| MCP_TRANSPORT | No | Transport: stdio or http | stdio |
| GLPI_APP_TOKEN | No | Legacy API client App-Token, if defined | |
| GLPI_MAX_LIMIT | No | Max rows per list/search call | 100 |
| GLPI_READ_ONLY | No | Register write tools only when false | true |
| MCP_AUTH_TOKEN | No | Bearer token required on /mcp (mandatory for http) | |
| GLPI_TIMEOUT_MS | No | Timeout per GLPI request | 30000 |
| GLPI_USER_TOKEN | No | Legacy API user token | |
| GLPI_OAUTH_SCOPE | No | OAuth scope(s) | api |
| GLPI_ALLOW_DELETE | No | Register the delete tool | false |
| MCP_ALLOW_NO_AUTH | No | Allow HTTP mode without MCP_AUTH_TOKEN for local tests only | false |
| GLPI_HLAPI_VERSION | No | auto = newest 2.x offered (else newest), or exact 2.3, 3.0, etc. | auto |
| MCP_ALLOWED_ORIGINS | No | Allowed browser Origin values, comma-separated | |
| GLPI_OAUTH_CLIENT_ID | No | High-Level API OAuth client ID | |
| GLPI_OAUTH_CLIENT_SECRET | No | High-Level API OAuth client secret |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| glpi_server_infoA | Show which GLPI API this server uses (legacy REST or High-Level API and its pinned version), the GLPI URL and the safety modes (read-only, delete allowed). Call it first when a connection problem is suspected. |
| glpi_whoamiA | The GLPI user the tools act as, with the active profile and entity. Every call runs with that user's rights. |
| glpi_search_ticketsA | List tickets (or changes/problems), newest change first, with a compact summary of each. Status IDs: 1 new, 2 processing (assigned), 3 processing (planned), 4 pending, 5 solved, 6 closed. Priority IDs: 1 very low ... 5 very high, 6 major. Ticket type: 1 incident, 2 request. Use glpi_get_ticket for the description, timeline and team of one item. Filtering by assignee/requester works on the legacy API only. |
| glpi_get_ticketA | Full details of one ticket (or change/problem). Optionally include its timeline (followups, tasks, solutions) and its team (requesters, assigned technicians and groups, observers). |
| glpi_search_itemsA | Find assets, users, groups, locations, categories, suppliers, KB articles or any other itemtype by name (partial match). Returns IDs to use with glpi_get_item or the ticket tools. |
| glpi_list_itemsB | List items of one itemtype (e.g. all Computers), paginated. |
| glpi_get_itemC | Full record of one item of any itemtype (asset, user, group, KB article, ...). |
| glpi_search_knowledgebaseA | Find knowledge base articles whose title matches the text. Read one with glpi_get_item (itemtype KnowbaseItem). |
| glpi_raw_getA | Read-only escape hatch: GET any endpoint of the API in use, relative to its root. Legacy examples: 'Ticket/12/Document_Item', 'search/Computer' with query {criteria: [...]}, 'listSearchOptions/Ticket'. High-Level examples: 'Assets/Computer/5', 'Administration/User/Me'. Call glpi_server_info to know which API is active. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 9 tools
Most tools have clearly distinct roles: server diagnostics, identity, ticket search/get, generic item search/list/get, KB search, and a raw escape hatch. The main overlap is glpi_search_items and glpi_search_knowledgebase, since the former explicitly claims it can find KB articles by name; glpi_raw_get also overlaps conceptually with everything but is positioned as an explicit last resort.
All tools share a glpi_ prefix and mostly follow a verb_noun pattern (search_tickets, get_ticket, list_items, get_item, search_items). Deviations are minor: glpi_server_info and glpi_whoami are noun phrases, and glpi_raw_get puts the verb last.
Nine tools is well within the sweet spot and each one maps to a distinct need: diagnostics, identity, two ticket readers, three generic item readers, a KB search, and an escape hatch. Nothing looks padded or redundant.
The surface is entirely read-only: there is no way to create or update a ticket, add a followup or task, or modify any item, even though glpi_server_info advertises a 'delete allowed' safety mode implying write capability is expected. An agent can inspect everything but cannot act on the domain, which is a significant lifecycle gap.