Skip to main content
Glama
maimik

glpi-mcp

by maimik

GLPI MCP Server

A Model Context Protocol (MCP) server for interacting with GLPI (Gestionnaire Libre de Parc Informatique) via its REST API.

This server empowers AI assistants (like Claude) to manage your GLPI inventory, tickets, and specifically CIA (Confidentiality, Integrity, Availability) security fields directly.

Features

  • Core GLPI Operations:

    • List, Get, Create, Update, Delete items (Computers, Tickets, Users, etc.).

    • Native GLPI Search API support.

  • Advanced CIA Management:

    • Dedicated tools to view and update Security/CIA fields (data_sensitivity, critical_asset, max_downtime).

    • Batch Updates: Update thousands of assets in a single request.

    • Future-Proof: Supports custom/future plugin fields via dynamic parameters without code changes.

  • Robust Authentication:

    • Supports modern header-based auth and legacy body-based auth (/apirest.php).

    • Built-in handling for OAuth plugin quirks.

Related MCP server: GLPI MCP

Installation

npx -y glpi-mcp

Configuration

You need to provide the following environment variables to authenticate with your GLPI instance:

Variable

Description

Required

Example

GLPI_API_URL

The full URL to your GLPI API endpoint.

Yes

http://your-glpi/apirest.php

GLPI_APP_TOKEN

The unique App Token generated in GLPI (Setup > General > API).

Yes

j0RHdOk...

GLPI_USER_TOKEN

The User Token from your personal settings.

Yes*

FOOKqs...

GLPI_OAUTH_TOKEN

OAuth Access Token (if using OAuth).

No**

* Either GLPI_USER_TOKEN or GLPI_OAUTH_TOKEN is required. ** GLPI_OAUTH_TOKEN takes precedence if both are provided.

Claude Desktop Configuration

Add this to your claude_desktop_config.json:

{
  "mcpServers": {
    "glpi": {
      "command": "npx",
      "args": ["-y", "glpi-mcp"],
      "env": {
        "GLPI_API_URL": "https://glpi.example.com/apirest.php",
        "GLPI_APP_TOKEN": "your_app_token_here",
        "GLPI_USER_TOKEN": "your_user_token_here"
      }
    }
  }
}

Available Tools

1. Standard Item Management

  • glpi_list_items: List generic items (Computer, Ticket, User, etc.).

  • glpi_get_item: Get details of a specific item.

  • glpi_create_item: Create a new item (e.g., Ticket).

  • glpi_update_item: Update standard fields of an item.

  • glpi_delete_item: Delete or purge an item.

  • glpi_search: Advanced search queries.

2. CIA / Security Fields Management 🛡️

Designed for working with the Generic Object or Fields plugins that add CIA ratings to assets.

glpi_get_cia_fields

View the current security ratings of an asset.

  • Args: itemType (e.g., "Computer"), id.

glpi_update_cia_fields

Update security ratings for a single asset.

  • Args:

    • itemType, id

    • data_sensitivity (e.g., "Confidential")

    • critical_asset (1 or 0)

    • max_downtime (integer)

    • other_fields (JSON string): Important! Use this to update any new fields you add to GLPI later without updating this server.

      • Example: '{"new_custom_field": "some_value"}'

glpi_update_cia_fields_batch

Update security ratings for multiple assets at once. Ideally used by scripts or for bulk policy application.

  • Args:

    • itemType

    • ids (Comma-separated string: "42, 43, 44")

    • data_sensitivity, critical_asset, max_downtime

    • other_fields

Examples

Batch Update Computers

Assign "Confidential" sensitivity to Computers with IDs 100, 101, and 102.

{
  "name": "glpi_update_cia_fields_batch",
  "arguments": {
    "itemType": "Computer",
    "ids": "100, 101, 102",
    "data_sensitivity": "Confidential",
    "critical_asset": 1
  }
}

Future-Proofing with other_fields

If you add a new field called compliance_level to GLPI tomorrow, you can update it immediately:

{
  "name": "glpi_update_cia_fields",
  "arguments": {
    "itemType": "Computer",
    "id": 50,
    "other_fields": "{\"compliance_level\": \"high\"}"
  }
}

Troubleshooting

  • 2FA/OTP Error on Publish: If you are trying to publish this package yourself and see OTP errors, use the provided helper script: ./publish_with_otp.sh.

  • 403 Forbidden: Verify your GLPI_APP_TOKEN and GLPI_USER_TOKEN. Ensure the user has write access to the specific assets.

  • Authorization Header Missing: Typical with the GLPI OAuth plugin. Ensure you are using the /apirest.php endpoint in your URL, or configure the plugin to accept user_token.

License

ISC

Available Tools

9 tools
glpi_create_itemD
ParametersJSON Schema
NameRequiredDescriptionDefault
inputYesJSON string representing the item fields
itemTypeYesThe type of item to create

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

glpi_delete_itemD
ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe ID of the item to delete
forceNoPermanently delete (purge) if true
itemTypeYesThe type of item to delete

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

glpi_get_cia_fieldsD
ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe ID of the item
itemTypeYesThe type of item (e.g. Computer, NetworkEquipment, VirtualMachine)
endpoint_overrideNoManual override for the plugin endpoint

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

glpi_get_itemD
ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe ID of the item
itemTypeYesThe type of item (e.g. Computer, Ticket)
with_disksNoShow associated disks
get_hateoasNoShow HATEOAS links
with_devicesNoShow associated devices
with_softwaresNoShow associated softwares
expand_dropdownsNoShow details for dropdown fields (params: expand_dropdowns=true)
with_connectionsNoShow associated connections

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

glpi_list_itemsD
ParametersJSON Schema
NameRequiredDescriptionDefault
sortNoField to sort by
orderNoSort order
rangeNoRange of items to return (e.g. "0-10")
itemTypeYesThe type of generic object to list (e.g. Computer, Ticket, User)
is_deletedNoInclude deleted items
searchTextNoFilter/search criteria if simple text search is supported by basic list

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

glpi_update_cia_fieldsD
ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe ID of the item
itemTypeYesThe type of item (e.g. Computer)
max_downtimeNoDEPRECATED
other_fieldsNoJSON string for other fields
critical_assetNoDEPRECATED
integrityfieldNoIntegrity Score (1-5)
data_sensitivityNoDEPRECATED
availabilityfieldNoAvailability Score (1-5)
endpoint_overrideNoManual override for the plugin endpoint
confidentialityfieldNoConfidentiality Score (1-5)

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

glpi_update_cia_fields_batchD
ParametersJSON Schema
NameRequiredDescriptionDefault
idsYesComma-separated list of IDs to update (e.g. "42,43,44")
itemTypeYesThe type of item (e.g. Computer)
other_fieldsNoJSON string for other/future fields
integrityfieldNoIntegrity Score (1-5)
availabilityfieldNoAvailability Score (1-5)
endpoint_overrideNoManual override for the plugin endpoint
confidentialityfieldNoConfidentiality Score (1-5)

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

glpi_update_itemD
ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe ID of the item to update
inputYesJSON string representing the fields to update
itemTypeYesThe type of item to update

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 9 tool updatesv1.2.5
    • First observedglpi_create_item
    • First observedglpi_delete_item
    • First observedglpi_get_cia_fields
    • First observedglpi_get_item
    • First observedglpi_list_items
    • First observedglpi_search
    • First observedglpi_update_cia_fields
    • First observedglpi_update_cia_fields_batch
    • First observedglpi_update_item

TDQS

C2/5.0

Scored across 9 tools

Disambiguation4/5

The CRUD operations (list, create, get, update, delete) are clearly distinct, and the CIA fields tools are separate from item tools. However, glpi_search may overlap with glpi_list_items in function, and the generic 'item' term could cause confusion without descriptions.

Naming Consistency4/5

Most tools follow a consistent verb_noun pattern (e.g., glpi_list_items, glpi_create_item), but glpi_search breaks the pattern by omitting the object. Overall, naming is clear and predictable.

Tool Count5/5

With 9 tools, the server is well-scoped for basic GLPI item management and CIA field handling. The count is appropriate, neither too sparse nor overwhelming.

Completeness4/5

The tool set covers full CRUD for items, search, and specialized CIA field operations. Minor gaps exist, such as batch create/delete or listing item types, but the core functionality is complete.

Maintenance

ActivityStale
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    C
    maintenance
    MCP server allowing an AI assistant to interact directly with your GLPI instance via its REST API, enabling ticket management, knowledge base operations, and statistics.
    40
    4
    -
  • A
    license
    B
    quality
    D
    maintenance
    Integrates with GLPI IT4Solução API v2.3 (OAuth2) to manage tickets, computer inventory, and configuration parameters, with safety features like dry-run and rollback.
    24
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enables AI assistants to perform full CRUD operations on Snipe-IT inventory systems, managing assets, users, licenses, and more via 39 tools.
    40
    27
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/maimik/glpi-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server