Context7
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Description from the maker (original English)
MCP server for GLPI IT service management (tickets, assets, users, knowledge base)
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
GLPI_URL, GLPI_CLIENT_ID, GLPI_CLIENT_SECRET, GLPI_USERNAME, GLPI_PASSWORD, GLPI_SCOPES, GLPI_API_VERSION, GLPI_ENTITY, GLPI_ENTITY_RECURSIVE, GLPI_PROFILE, GLPI_VERIFY_SSL, GLPI_TIMEOUT, READ_ONLY_MODE, DRY_RUN_MODE, DISABLED_TAGS, RESPONSE_MAX_SIZE, LOG_LEVEL, RATE_LIMIT_ENABLED, RATE_LIMIT_MAX_REQUESTS, RATE_LIMIT_WINDOW_MINUTES, TOOL_SEARCH_ENABLED, TOOL_SEARCH_STRATEGY, TOOL_SEARCH_MAX_RESULTSValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"glpi": {
"command": "uvx",
"args": [
"glpi-mcp-server"
],
"env": {
"GLPI_URL": "your-value",
"GLPI_CLIENT_ID": "your-value",
"GLPI_CLIENT_SECRET": "your-value",
"GLPI_USERNAME": "your-value",
"GLPI_PASSWORD": "your-value",
"GLPI_SCOPES": "your-value",
"GLPI_API_VERSION": "your-value",
"GLPI_ENTITY": "your-value",
"GLPI_ENTITY_RECURSIVE": "your-value",
"GLPI_PROFILE": "your-value",
"GLPI_VERIFY_SSL": "your-value",
"GLPI_TIMEOUT": "your-value",
"READ_ONLY_MODE": "your-value",
"DRY_RUN_MODE": "your-value",
"DISABLED_TAGS": "your-value",
"RESPONSE_MAX_SIZE": "your-value",
"LOG_LEVEL": "your-value",
"RATE_LIMIT_ENABLED": "your-value",
"RATE_LIMIT_MAX_REQUESTS": "your-value",
"RATE_LIMIT_WINDOW_MINUTES": "your-value",
"TOOL_SEARCH_ENABLED": "your-value",
"TOOL_SEARCH_STRATEGY": "your-value",
"TOOL_SEARCH_MAX_RESULTS": "your-value"
}
}
}
}Run this in your terminal
claude mcp add glpi --env GLPI_URL=your-value --env GLPI_CLIENT_ID=your-value --env GLPI_CLIENT_SECRET=your-value --env GLPI_USERNAME=your-value --env GLPI_PASSWORD=your-value --env GLPI_SCOPES=your-value --env GLPI_API_VERSION=your-value --env GLPI_ENTITY=your-value --env GLPI_ENTITY_RECURSIVE=your-value --env GLPI_PROFILE=your-value --env GLPI_VERIFY_SSL=your-value --env GLPI_TIMEOUT=your-value --env READ_ONLY_MODE=your-value --env DRY_RUN_MODE=your-value --env DISABLED_TAGS=your-value --env RESPONSE_MAX_SIZE=your-value --env LOG_LEVEL=your-value --env RATE_LIMIT_ENABLED=your-value --env RATE_LIMIT_MAX_REQUESTS=your-value --env RATE_LIMIT_WINDOW_MINUTES=your-value --env TOOL_SEARCH_ENABLED=your-value --env TOOL_SEARCH_STRATEGY=your-value --env TOOL_SEARCH_MAX_RESULTS=your-value -- uvx glpi-mcp-serverFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"glpi": {
"command": "uvx",
"args": [
"glpi-mcp-server"
],
"env": {
"GLPI_URL": "your-value",
"GLPI_CLIENT_ID": "your-value",
"GLPI_CLIENT_SECRET": "your-value",
"GLPI_USERNAME": "your-value",
"GLPI_PASSWORD": "your-value",
"GLPI_SCOPES": "your-value",
"GLPI_API_VERSION": "your-value",
"GLPI_ENTITY": "your-value",
"GLPI_ENTITY_RECURSIVE": "your-value",
"GLPI_PROFILE": "your-value",
"GLPI_VERIFY_SSL": "your-value",
"GLPI_TIMEOUT": "your-value",
"READ_ONLY_MODE": "your-value",
"DRY_RUN_MODE": "your-value",
"DISABLED_TAGS": "your-value",
"RESPONSE_MAX_SIZE": "your-value",
"LOG_LEVEL": "your-value",
"RATE_LIMIT_ENABLED": "your-value",
"RATE_LIMIT_MAX_REQUESTS": "your-value",
"RATE_LIMIT_WINDOW_MINUTES": "your-value",
"TOOL_SEARCH_ENABLED": "your-value",
"TOOL_SEARCH_STRATEGY": "your-value",
"TOOL_SEARCH_MAX_RESULTS": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"glpi": {
"type": "stdio",
"command": "uvx",
"args": [
"glpi-mcp-server"
],
"env": {
"GLPI_URL": "your-value",
"GLPI_CLIENT_ID": "your-value",
"GLPI_CLIENT_SECRET": "your-value",
"GLPI_USERNAME": "your-value",
"GLPI_PASSWORD": "your-value",
"GLPI_SCOPES": "your-value",
"GLPI_API_VERSION": "your-value",
"GLPI_ENTITY": "your-value",
"GLPI_ENTITY_RECURSIVE": "your-value",
"GLPI_PROFILE": "your-value",
"GLPI_VERIFY_SSL": "your-value",
"GLPI_TIMEOUT": "your-value",
"READ_ONLY_MODE": "your-value",
"DRY_RUN_MODE": "your-value",
"DISABLED_TAGS": "your-value",
"RESPONSE_MAX_SIZE": "your-value",
"LOG_LEVEL": "your-value",
"RATE_LIMIT_ENABLED": "your-value",
"RATE_LIMIT_MAX_REQUESTS": "your-value",
"RATE_LIMIT_WINDOW_MINUTES": "your-value",
"TOOL_SEARCH_ENABLED": "your-value",
"TOOL_SEARCH_STRATEGY": "your-value",
"TOOL_SEARCH_MAX_RESULTS": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
GLPI_SCOPES envGLPI_API_VERSION envGLPI_ENTITY envGLPI_ENTITY_RECURSIVE envGLPI_PROFILE envGLPI_VERIFY_SSL envGLPI_TIMEOUT envREAD_ONLY_MODE envDRY_RUN_MODE envDISABLED_TAGS envRESPONSE_MAX_SIZE envLOG_LEVEL envRATE_LIMIT_ENABLED envRATE_LIMIT_MAX_REQUESTS envRATE_LIMIT_WINDOW_MINUTES envTOOL_SEARCH_ENABLED envTOOL_SEARCH_STRATEGY envTOOL_SEARCH_MAX_RESULTS envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026
The registry name was verified with the GitHub account mhajder, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: GLPI_URL, GLPI_CLIENT_ID, GLPI_CLIENT_SECRET, GLPI_USERNAME, GLPI_PASSWORD
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.1.1) reached the registry yesterday.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv), Docker on your computer.
In the same category: Context7, Codebase Memory, Exa
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Let AI agents work with GLPI tickets, assets and the knowledge base through the Model Context Protocol
Installation · Tools · Configuration · Security
GLPI MCP Server is a Python-based Model Context Protocol (MCP) server for the GLPI IT service management platform. It talks to GLPI's High-Level API (/api.php, OAuth2) and gives AI assistants and automation tools access to tickets, changes and problems (with their timeline and team), assets, users, groups, entities, the knowledge base and documents, plus generic tools that reach every endpoint GLPI exposes. It supports read and write operations, with read-only and dry-run modes, per-user GLPI access and OAuth login for remote MCP clients.
The easiest way to get started is to install from PyPI:
# Using UV (recommended)
uvx glpi-mcp-server
pip install glpi-mcp-server
Remember to configure the environment variables for your GLPI instance before running the server:
# Create environment configuration
export GLPI_URL=https://glpi.example.com export GLPI_CLIENT_ID=your-client-id export GLPI_CLIENT_SECRET=your-client-secret export GLPI_USERNAME=glpi-mcp export GLPI_PASSWORD=change-me
git clone https://github.com/mhajder/glpi-mcp.git
cd glpi-mcp
# Using UV (recommended)
uv sync
pip install -e .
cp .env.example .env
# Using UV (recommended)
uv run glpi-mcp
glpi-mcp
A Docker image is available on GitHub Packages for easy deployment. It runs the HTTP Streamable transport on port 8000 (/mcp).
docker pull ghcr.io/mhajder/glpi-mcp:latest
When GLPI login or OIDC is enabled, mount a volume on /data so OAuth client registrations survive container recreation.
Open WebUI 0.6.31 and later connect to the image directly. In Open WebUI, go to Admin Settings > Integrations > External Tool Servers, add a connection of type MCP (Streamable HTTP) with the URL http:// :8000/mcp, and set Bearer authentication to your MCP_HTTP_BEARER_TOKEN.
With GLPI login or OIDC enabled, use the public URL + /mcp and choose OAuth 2.1 authentication instead; Open WebUI registers itself as a client, so if you restrict redirect URIs, include your Open WebUI URL.
For development with additional tools:
# Clone and install with development dependencies
git clone https://github.com/mhajder/glpi-mcp.git cd glpi-mcp uv sync --group dev
uv run pytest
uv run pytest --cov=src/
uv run ruff check . uv run ruff format .
uv run ty check .
uv run prek install
GLPI_USERNAME/GLPI_PASSWORD). Add Authorization Code for GLPI login.glpi_graphql_query.GLPI_OAUTH_BASE_URL + GLPI_OAUTH_REDIRECT_PATH.glpi-mcp) with a profile that has just the rights the tools need. Every tool call acts as this user, unless per-user access is enabled.# GLPI Connection Details
GLPI_URL=https://glpi.example.com
GLPI_CLIENT_ID=your-client-id GLPI_CLIENT_SECRET=your-client-secret
GLPI_USERNAME=glpi-mcp GLPI_PASSWORD=change-me
GLPI_SCOPES=api user
GLPI_API_VERSION=auto
GLPI_VERIFY_SSL=true GLPI_TIMEOUT=30
READ_ONLY_MODE=false
DRY_RUN_MODE=false
DISABLED_TAGS=
LOG_LEVEL=INFO
RATE_LIMIT_ENABLED=false RATE_LIMIT_MAX_REQUESTS=60 RATE_LIMIT_WINDOW_MINUTES=1
TOOL_SEARCH_ENABLED=false TOOL_SEARCH_STRATEGY=bm25 TOOL_SEARCH_MAX_RESULTS=5
MCP_TRANSPORT=stdio
See .env.example for every setting with comments.
GLPI lists the High-Level API versions it offers at GET /api.php/. On first use the server reads that list and pins one version in every request path (/api.php/v2.3/... or /api.php/v3.0/...), because GLPI silently routes an unknown version to its newest one.
| GLPI | Versions offered | GLPI_API_VERSION=auto picks |
|---|---|---|
| 10.x, 11.0.0-11.0.5 | none / 2.0-2.2 | not supported |
| 11.0.6+ | 2.3 | 2.3 |
| 12.x | 2.3, 3.0 | 3.0 |
Set GLPI_API_VERSION=2.3 to keep GLPI 12 on the 2.3 schemas (for example while migrating other integrations). The tools that depend on a schema difference handle both: knowledge base articles are filed under categories on 2.3 and under parent articles (parents) on 3.0.
GLPI scopes every API session to an active profile and entities. By default these are the user's defaults. GLPI_ENTITY, GLPI_ENTITY_RECURSIVE and GLPI_PROFILE send the GLPI-Entity, GLPI-Entity-Recursive and GLPI-Profile headers with every request to change them. glpi_whoami shows the active ones and glpi_get_entity_tree lists the entities available.
glpi_server_info: API versions GLPI offers, the pinned version, auth mode and safety modesglpi_whoami: The GLPI user the tools act as, with the active profile and entitiesglpi_get_entity_tree: Entities the current user can work inAll take itil_type: Ticket (default), Change or Problem.
glpi_search_itil: Search by status, type, priority, category, entity, dates, text or filterglpi_get_itil: One item with its description and teamglpi_get_itil_timeline: Followups, tasks, solutions, approvals and documentsglpi_create_itil / glpi_update_itil / glpi_delete_itil: Create, update, deleteglpi_add_itil_followup: Add a followup (public or private)glpi_add_itil_task: Add a task with state, time spent, technician and planningglpi_add_itil_solution: Add a solutionglpi_request_itil_validation: Ask a user or group to approve a ticket or changeglpi_list_itil_team: Requesters, assignees and observersglpi_add_itil_team_member / glpi_remove_itil_team_member: Assign or remove users, groups and suppliersglpi_list_asset_types: Asset types of this GLPI, including custom assetsglpi_search_assets: Search one asset type, or all at once, by name, serial, inventory number or filterglpi_get_asset: One asset, optionally with financial informationglpi_create_asset / glpi_update_asset / glpi_delete_asset: Create, update, deleteglpi_search_users / glpi_get_user: Find users; get one by ID or loginglpi_search_groups / glpi_get_group: Find groups; get one by IDglpi_search_entities / glpi_get_entity: Find entities; get one by IDglpi_list_profiles: Profiles (Only the beginning is shown; read the rest in the repo