glpi-mcp
Enables AI assistants to manage GLPI inventory, tickets, and CIA security fields via its REST API.
README
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.
- Dedicated tools to view and update Security/CIA fields (
- Robust Authentication:
- Supports modern header-based auth and legacy body-based auth (
/apirest.php). - Built-in handling for OAuth plugin quirks.
- Supports modern header-based auth and legacy body-based auth (
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,iddata_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"}'
- Example:
glpi_update_cia_fields_batch
Update security ratings for multiple assets at once. Ideally used by scripts or for bulk policy application.
- Args:
itemTypeids(Comma-separated string:"42, 43, 44")data_sensitivity,critical_asset,max_downtimeother_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_TOKENandGLPI_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.phpendpoint in your URL, or configure the plugin to acceptuser_token.
License
ISC
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.