Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
GLPI_URLYesGLPI base URL, e.g. https://glpi.example.com (REST API v1)
GLPI_V2_URLNoGLPI 11 API v2 URL (OAuth)
GLPI_TOOLSETSNoTool presets: core (recommended start), tickets, itil, assets, kb, documents, users, search, admin, v2. Combine with commas. Default: every tool
GLPI_APP_TOKENNoApp-Token of the API client, optional
GLPI_READ_ONLYNotrue blocks every write before it reaches GLPI
GLPI_USER_TOKENYesUser API token
GLPI_V2_PASSWORDNoGLPI 11 API v2 password for password grant
GLPI_V2_USERNAMENoGLPI 11 API v2 username for password grant
GLPI_ALLOW_DELETENotrue enables delete tools (default off); they then require a written reason
GLPI_V2_CLIENT_IDNoGLPI 11 API v2 OAuth client ID
GLPI_V2_CLIENT_SECRETNoGLPI 11 API v2 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

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
glpi_list_ticketsA

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.

glpi_list_my_ticketsA

"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".

glpi_get_ticketA

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).

glpi_create_ticketB

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.

glpi_update_ticketC

Update an existing ticket by ID.

glpi_list_changesA

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.

glpi_get_changeA

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

glpi_create_changeC

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

glpi_update_changeC

Update an existing change by ID.

glpi_list_change_followupsB

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

glpi_list_problemsA

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.

glpi_get_problemB

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

glpi_create_problemC

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

glpi_update_problemC

Update an existing problem by ID.

glpi_list_problem_followupsB

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

glpi_searchA

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 ' (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.

glpi_add_followupC

Add a comment/followup to a ticket.

glpi_list_followupsB

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

glpi_add_solutionA

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

glpi_list_ticket_validationsA

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).

glpi_create_ticket_validationB

Create an approval request assigning a validator (users_id_validate).

glpi_update_ticket_validationA

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

glpi_delete_ticket_validationB

Remove a validation request by ID.

glpi_get_userC

Retrieve a user by ID.

glpi_search_user_by_emailA

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

glpi_list_usersB

List all users with optional pagination and dropdown expansion.

glpi_create_userB

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

glpi_update_userC

Update an existing user by ID.

glpi_list_documentsB

List documents with optional pagination.

glpi_get_documentC

Retrieve a document by ID.

glpi_create_documentB

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

glpi_delete_documentB

Permanently delete a document by ID.

glpi_list_document_itemsC

List links between documents and other items.

glpi_get_document_itemB

Retrieve a Document_Item link by ID.

glpi_create_document_itemB

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

glpi_delete_document_itemC

Remove a Document_Item link by ID.

glpi_list_knowbase_itemsB

List knowledge base articles with optional pagination.

glpi_get_knowbase_itemC

Retrieve a knowledge base article by ID.

glpi_create_knowbase_itemC

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

glpi_update_knowbase_itemC

Update a knowledge base article by ID.

glpi_delete_knowbase_itemB

Permanently delete a knowledge base article.

glpi_list_knowbase_categoriesB

List knowledge base categories with optional pagination.

glpi_get_knowbase_categoryC

Retrieve a knowledge base category by ID.

glpi_create_knowbase_categoryC

Create a new knowledge base category.

glpi_update_knowbase_categoryC

Update a knowledge base category by ID.

glpi_delete_knowbase_categoryB

Permanently delete a knowledge base category.

glpi_list_entitiesB

List GLPI entities (organizational units) with optional pagination.

glpi_get_entityC

Retrieve an entity by ID.

glpi_create_entityB

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

glpi_update_entityC

Update an existing entity by ID.

glpi_delete_entityB

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

glpi_get_rule_ticketB

Retrieve a ticket business rule (RuleTicket) by ID.

glpi_list_rule_ticket_criteriaB

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

glpi_list_rule_ticket_actionsB

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

glpi_list_rule_criteriaA

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

glpi_list_rule_actionsA

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

glpi_update_rule_actionB

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

glpi_list_rulesA

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

glpi_create_rule_ticketB

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

glpi_create_rule_criteriaC

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

glpi_create_rule_actionB

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

glpi_list_itil_followup_templatesB

List ITIL followup templates (predefined followup texts).

glpi_get_itil_followup_templateB

Retrieve a followup template by ID.

glpi_create_itil_followup_templateB

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

glpi_update_itil_followup_templateC

Update a followup template by ID.

glpi_list_search_optionsA

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

glpi_change_active_entitiesA

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

glpi_get_full_sessionA

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

glpi_list_ticket_usersA

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.

glpi_add_ticket_userB

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

glpi_delete_ticket_userA

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

glpi_list_ticket_groupsA

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.

glpi_add_ticket_groupB

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

glpi_delete_ticket_groupA

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

glpi_list_ticket_tasksB

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

glpi_add_ticket_taskC

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).

glpi_list_change_tasksA

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

glpi_list_problem_tasksA

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

glpi_list_itil_categoriesB

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

glpi_get_itil_categoryB

Retrieve an ITIL category by ID.

glpi_list_groupsB

List GLPI groups with optional pagination.

glpi_get_groupC

Retrieve a group by ID.

glpi_add_change_followupC

Add a comment/followup to a change.

glpi_add_problem_followupC

Add a comment/followup to a problem.

glpi_add_change_solutionA

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

glpi_add_problem_solutionA

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

glpi_get_my_entitiesB

Get the list of entities available to the current user.

glpi_get_my_profilesB

Get the list of profiles available to the current user.

glpi_list_locationsC

List GLPI locations with optional pagination.

glpi_get_locationB

Retrieve a location by ID.

glpi_list_assetsA

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.

glpi_get_assetA

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

glpi_get_asset_detailsA

Enriched asset view in one request: operating system, processors, memory and disks by default. Ask for sections ['softwares'] or ['networkports'] explicitly — on an inventoried host those are the bulk of the payload. Dropdown IDs come resolved to names.

glpi_create_assetB

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

glpi_update_assetC

Update an existing asset by type and ID.

glpi_list_reservation_itemsB

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

glpi_list_reservationsC

List reservations (bookings) of reservable items.

glpi_get_reservationC

Retrieve a reservation by ID.

glpi_create_reservationA

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).

glpi_update_reservationC

Update an existing reservation by ID.

glpi_count_itemsA

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

glpi_get_ticket_statsA

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: }] (Ticket search option IDs: 80 = entity, 4 = requester, 5 = technician, 7 = category; same criteria shape as glpi_search).

glpi_list_timelineA

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.

glpi_list_webhooksA

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

glpi_get_webhookA

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

glpi_create_webhookB

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

glpi_update_webhookC

Update a webhook definition by ID.

glpi_set_webhook_activeA

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

glpi_delete_webhookA

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

glpi_list_webhook_deliveriesA

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.

glpi_retry_webhook_deliveryA

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.

Prompts

Interactive templates invoked by user choice

NameDescription
triage_ticketRead a ticket and its timeline, then propose category, urgency/impact and the group or technician to assign, justified by what the ticket actually says.
investigate_recurrenceGiven a ticket, find similar past tickets and their solutions, and judge whether this warrants a Problem record.
requester_historyEverything a technician should know before picking up a call from this person: open items, recent history and recurring themes.
asset_contextHardware profile of an asset plus the tickets around it — the picture to have open before touching a machine.

Resources

Contextual data attached and managed by the client

NameDescription
glpi-entitiesEntity tree of this instance (id, name, completename, level). Use to resolve entities_id before creating or filtering items.
glpi-itil-categoriesTicket/change/problem categories (id, name, completename). Use to resolve itilcategories_id without a search round-trip.
glpi-request-typesRequest sources (Helpdesk, Email, Phone…) for requesttypes_id.
glpi-code-mapsNumeric codes GLPI returns and expects: ticket status, priority/urgency/impact, ticket type, actor type and validation status. Not queryable through the API.

TDQS

B3.1/5.0

Scored across 111 tools

Disambiguation3/5

Many tools are clearly distinct by entity, but several overlap: glpi_search can replace many list tools, followup/solution/task tools are duplicated per ITIL type, and glpi_list_rule_criteria vs glpi_list_rule_ticket_criteria are near-identical. Descriptions help, but the sheer volume makes misselection likely.

Naming Consistency5/5

All tools use the glpi_ prefix, snake_case, and consistent verb_noun patterns (list_, get_, create_, update_, delete_, add_). Minor irregularities like glpi_change_active_entities and glpi_set_webhook_active are still readable and fit the overall convention.

Tool Count1/5

111 tools is extreme for any MCP server; many CRUD operations are repeated per entity and some generic tools overlap with specific ones. This surface is far too large for an agent to select from reliably.

Completeness3/5

Broad domain coverage exists across tickets, problems, changes, users, assets, webhooks, and more, but CRUD is asymmetric: no delete for tickets/problems/changes/users/groups/locations, no create/update for groups and locations, and missing child operations like add_change_task or add_problem_task. Agents will hit dead ends for common lifecycle actions.

Maintenance

ActivityMaintained
ResponsivenessNo issues