ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

NexTool MCP for GLPI

โดย NexTools-Solutionsรุ่น 3.5.7i★ –iบนเครื่องหรือคลาวด์
ชื่อใน registrycom.nextoolsolutions/glpi

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

MCP server for GLPI: tickets, ITIL, assets, knowledge base. GLPI 10/11. Not affiliated with Teclib'.

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: บนเครื่องหรือคลาวด์
  • ช่องทาง (transport): stdio, Streamable HTTP
  • หมวด: ค้นข้อมูลและความจำของ AI
  • ต้องใส่ค่าเหล่านี้: GLPI_USER_TOKEN, GLPI_APP_TOKEN, GLPI_V2_CLIENT_SECRET, GLPI_V2_PASSWORD

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

  • ผลตรวจเบื้องต้น: ผ่าน 2 จาก 3 ข้อ
  • รันบนเครื่องของผู้ทำ สิ่งที่คุณถามจะผ่านเครื่องของเขา
  • ค่าที่คุณต้องใส่เอง: GLPI_URL, GLPI_USER_TOKEN, GLPI_APP_TOKEN, GLPI_V2_URL, GLPI_V2_CLIENT_ID, GLPI_V2_CLIENT_SECRET, GLPI_V2_USERNAME, GLPI_V2_PASSWORD, GLPI_V2_SCOPE, GLPI_V2_API_VERSION, GLPI_TOOLSETS, GLPI_TOOLS_INCLUDE, GLPI_TOOLS_EXCLUDE, GLPI_READ_ONLY, GLPI_ALLOW_DELETE, GLPI_REQUIRE_DELETE_REASON, GLPI_DEFAULT_PAGE_SIZE, GLPI_MAX_PAGE_SIZE, GLPI_IDEMPOTENCY_WINDOW, GLPI_RESOURCE_CACHE_TTL, GLPI_MAX_RETRIES, GLPI_TIMEOUT

ค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต

ต้องเตรียมก่อน

  • รันบนคลาวด์ไม่ต้องลงโปรแกรมเพิ่ม ต่อผ่านอินเทอร์เน็ตได้เลย
  • npmติดตั้ง Node.js (มีคำสั่ง npx) ในเครื่อง

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

ใช้ได้ทั้ง Claude บนเว็บ แอปคอมพิวเตอร์ และมือถือ:

  1. เปิด Settings → Connectors
  2. กด Add custom connector
  3. วางที่อยู่ด้านล่างแล้วกด Add
  4. ถ้าให้ล็อกอิน ให้ล็อกอินกับผู้ทำ
SettingsConnectors1+ Add2https://…3
https://mcp.nextoolsolutions.com/mcp

หรือรันในเครื่องคุณ

เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json

{
  "mcpServers": {
    "glpi": {
      "command": "npx",
      "args": [
        "-y",
        "@nextoolsolutions/mcp-glpi"
      ],
      "env": {
        "GLPI_URL": "ใส่ค่าของคุณ",
        "GLPI_USER_TOKEN": "ใส่ค่าของคุณ",
        "GLPI_APP_TOKEN": "ใส่ค่าของคุณ",
        "GLPI_V2_URL": "ใส่ค่าของคุณ",
        "GLPI_V2_CLIENT_ID": "ใส่ค่าของคุณ",
        "GLPI_V2_CLIENT_SECRET": "ใส่ค่าของคุณ",
        "GLPI_V2_USERNAME": "ใส่ค่าของคุณ",
        "GLPI_V2_PASSWORD": "ใส่ค่าของคุณ",
        "GLPI_V2_SCOPE": "ใส่ค่าของคุณ",
        "GLPI_V2_API_VERSION": "ใส่ค่าของคุณ",
        "GLPI_TOOLSETS": "ใส่ค่าของคุณ",
        "GLPI_TOOLS_INCLUDE": "ใส่ค่าของคุณ",
        "GLPI_TOOLS_EXCLUDE": "ใส่ค่าของคุณ",
        "GLPI_READ_ONLY": "ใส่ค่าของคุณ",
        "GLPI_ALLOW_DELETE": "ใส่ค่าของคุณ",
        "GLPI_REQUIRE_DELETE_REASON": "ใส่ค่าของคุณ",
        "GLPI_DEFAULT_PAGE_SIZE": "ใส่ค่าของคุณ",
        "GLPI_MAX_PAGE_SIZE": "ใส่ค่าของคุณ",
        "GLPI_IDEMPOTENCY_WINDOW": "ใส่ค่าของคุณ",
        "GLPI_RESOURCE_CACHE_TTL": "ใส่ค่าของคุณ",
        "GLPI_MAX_RETRIES": "ใส่ค่าของคุณ",
        "GLPI_TIMEOUT": "ใส่ค่าของคุณ"
      }
    }
  }
}

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add --transport http glpi https://mcp.nextoolsolutions.com/mcp

หรือรันในเครื่องคุณ

claude mcp add glpi --env GLPI_URL='ใส่ค่าของคุณ' --env GLPI_USER_TOKEN='ใส่ค่าของคุณ' --env GLPI_APP_TOKEN='ใส่ค่าของคุณ' --env GLPI_V2_URL='ใส่ค่าของคุณ' --env GLPI_V2_CLIENT_ID='ใส่ค่าของคุณ' --env GLPI_V2_CLIENT_SECRET='ใส่ค่าของคุณ' --env GLPI_V2_USERNAME='ใส่ค่าของคุณ' --env GLPI_V2_PASSWORD='ใส่ค่าของคุณ' --env GLPI_V2_SCOPE='ใส่ค่าของคุณ' --env GLPI_V2_API_VERSION='ใส่ค่าของคุณ' --env GLPI_TOOLSETS='ใส่ค่าของคุณ' --env GLPI_TOOLS_INCLUDE='ใส่ค่าของคุณ' --env GLPI_TOOLS_EXCLUDE='ใส่ค่าของคุณ' --env GLPI_READ_ONLY='ใส่ค่าของคุณ' --env GLPI_ALLOW_DELETE='ใส่ค่าของคุณ' --env GLPI_REQUIRE_DELETE_REASON='ใส่ค่าของคุณ' --env GLPI_DEFAULT_PAGE_SIZE='ใส่ค่าของคุณ' --env GLPI_MAX_PAGE_SIZE='ใส่ค่าของคุณ' --env GLPI_IDEMPOTENCY_WINDOW='ใส่ค่าของคุณ' --env GLPI_RESOURCE_CACHE_TTL='ใส่ค่าของคุณ' --env GLPI_MAX_RETRIES='ใส่ค่าของคุณ' --env GLPI_TIMEOUT='ใส่ค่าของคุณ' -- npx -y @nextoolsolutions/mcp-glpi

เติมค่าที่เว้นว่างไว้ก่อนรัน

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "glpi": {
      "url": "https://mcp.nextoolsolutions.com/mcp"
    }
  }
}

หรือรันในเครื่องคุณ

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "glpi": {
      "command": "npx",
      "args": [
        "-y",
        "@nextoolsolutions/mcp-glpi"
      ],
      "env": {
        "GLPI_URL": "ใส่ค่าของคุณ",
        "GLPI_USER_TOKEN": "ใส่ค่าของคุณ",
        "GLPI_APP_TOKEN": "ใส่ค่าของคุณ",
        "GLPI_V2_URL": "ใส่ค่าของคุณ",
        "GLPI_V2_CLIENT_ID": "ใส่ค่าของคุณ",
        "GLPI_V2_CLIENT_SECRET": "ใส่ค่าของคุณ",
        "GLPI_V2_USERNAME": "ใส่ค่าของคุณ",
        "GLPI_V2_PASSWORD": "ใส่ค่าของคุณ",
        "GLPI_V2_SCOPE": "ใส่ค่าของคุณ",
        "GLPI_V2_API_VERSION": "ใส่ค่าของคุณ",
        "GLPI_TOOLSETS": "ใส่ค่าของคุณ",
        "GLPI_TOOLS_INCLUDE": "ใส่ค่าของคุณ",
        "GLPI_TOOLS_EXCLUDE": "ใส่ค่าของคุณ",
        "GLPI_READ_ONLY": "ใส่ค่าของคุณ",
        "GLPI_ALLOW_DELETE": "ใส่ค่าของคุณ",
        "GLPI_REQUIRE_DELETE_REASON": "ใส่ค่าของคุณ",
        "GLPI_DEFAULT_PAGE_SIZE": "ใส่ค่าของคุณ",
        "GLPI_MAX_PAGE_SIZE": "ใส่ค่าของคุณ",
        "GLPI_IDEMPOTENCY_WINDOW": "ใส่ค่าของคุณ",
        "GLPI_RESOURCE_CACHE_TTL": "ใส่ค่าของคุณ",
        "GLPI_MAX_RETRIES": "ใส่ค่าของคุณ",
        "GLPI_TIMEOUT": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "glpi": {
      "type": "http",
      "url": "https://mcp.nextoolsolutions.com/mcp"
    }
  }
}

หรือรันในเครื่องคุณ

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "glpi": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@nextoolsolutions/mcp-glpi"
      ],
      "env": {
        "GLPI_URL": "ใส่ค่าของคุณ",
        "GLPI_USER_TOKEN": "ใส่ค่าของคุณ",
        "GLPI_APP_TOKEN": "ใส่ค่าของคุณ",
        "GLPI_V2_URL": "ใส่ค่าของคุณ",
        "GLPI_V2_CLIENT_ID": "ใส่ค่าของคุณ",
        "GLPI_V2_CLIENT_SECRET": "ใส่ค่าของคุณ",
        "GLPI_V2_USERNAME": "ใส่ค่าของคุณ",
        "GLPI_V2_PASSWORD": "ใส่ค่าของคุณ",
        "GLPI_V2_SCOPE": "ใส่ค่าของคุณ",
        "GLPI_V2_API_VERSION": "ใส่ค่าของคุณ",
        "GLPI_TOOLSETS": "ใส่ค่าของคุณ",
        "GLPI_TOOLS_INCLUDE": "ใส่ค่าของคุณ",
        "GLPI_TOOLS_EXCLUDE": "ใส่ค่าของคุณ",
        "GLPI_READ_ONLY": "ใส่ค่าของคุณ",
        "GLPI_ALLOW_DELETE": "ใส่ค่าของคุณ",
        "GLPI_REQUIRE_DELETE_REASON": "ใส่ค่าของคุณ",
        "GLPI_DEFAULT_PAGE_SIZE": "ใส่ค่าของคุณ",
        "GLPI_MAX_PAGE_SIZE": "ใส่ค่าของคุณ",
        "GLPI_IDEMPOTENCY_WINDOW": "ใส่ค่าของคุณ",
        "GLPI_RESOURCE_CACHE_TTL": "ใส่ค่าของคุณ",
        "GLPI_MAX_RETRIES": "ใส่ค่าของคุณ",
        "GLPI_TIMEOUT": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ChatGPT ต่อได้เฉพาะ server ที่อยู่บนอินเทอร์เน็ต:

  1. เปิด ChatGPT บนเว็บ → Settings → Connectors (Apps)
  2. กด Create หรือ Add (บางแพ็กเกจต้องเปิด Developer mode ใน Advanced ก่อน)
  3. วางที่อยู่ด้านล่าง ตั้งชื่อ แล้วบันทึก
  4. ถ้าให้ล็อกอิน ให้ล็อกอินกับผู้ทำ
SettingsConnectors1+ Create2https://…3
https://mcp.nextoolsolutions.com/mcp

ชื่อเมนูอาจต่างกันเล็กน้อยตามแพ็กเกจและรุ่นของแอป

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าที่ต้องใส่เอง

  • GLPI_URL env
    GLPI instance URL for the API v1 tools (apirest.php or api.php/v1)
  • GLPI_USER_TOKEN ความลับ env
    GLPI API User Token (API v1 tools)
  • GLPI_APP_TOKEN ความลับ env
    GLPI API Application Token
  • GLPI_V2_URL env
    GLPI 11 URL for the API v2 tools (glpi_v2_*)
  • GLPI_V2_CLIENT_ID env
    OAuth2 client ID (API v2)
  • GLPI_V2_CLIENT_SECRET ความลับ env
    OAuth2 client secret (API v2)
  • GLPI_V2_USERNAME env
    GLPI user for the OAuth2 password grant (API v2)
  • GLPI_V2_PASSWORD ความลับ env
    Password of that user (API v2)
  • GLPI_V2_SCOPE env
    OAuth2 scope (default api)
  • GLPI_V2_API_VERSION env
    API version path, e.g. v2.2 (default v2)
  • GLPI_TOOLSETS env
    Named tool presets, comma-separated: core, tickets, itil, assets, kb, documents, users, search, admin, v2
  • GLPI_TOOLS_INCLUDE env
    Comma-separated globs: register matching tools (adds to GLPI_TOOLSETS; with neither set, every tool registers)
  • GLPI_TOOLS_EXCLUDE env
    Comma-separated globs: drop matching tools
  • GLPI_READ_ONLY env
    Block every write and destructive tool (default false)
  • GLPI_ALLOW_DELETE env
    Enable destructive tools (default false)
  • GLPI_REQUIRE_DELETE_REASON env
    Require a reason on destructive tools (default true)
  • GLPI_DEFAULT_PAGE_SIZE env
    Items returned when no range is given (default 25)
  • GLPI_MAX_PAGE_SIZE env
    Hard ceiling of items per call (default 200)
  • GLPI_IDEMPOTENCY_WINDOW env
    Seconds an identical create is replayed instead of repeated (default 120, 0 disables)
  • GLPI_RESOURCE_CACHE_TTL env
    Resource cache TTL in ms (default 300000)
  • GLPI_MAX_RETRIES env
    Max retry attempts on 429/5xx (default 3)
  • GLPI_TIMEOUT env
    Request timeout in ms (default 30000)

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

server ให้ล็อกอินก่อนจึงจะแสดงรายการเครื่องมือ

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569

  • ! ควรระวัง

    ตัวตนผู้ทำตรงกับ repo

    ผู้ลงทะเบียน (nextoolsolutions.com) ไม่ใช่เจ้าของ repo (NexTools-Solutions) อาจเป็นคนอื่นที่นำมาลงต่อ

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • ✓ ผ่าน

    endpoint ตอบ

    ตอบกลับใน 414 ms (HTTP 401)

  • ✓ ผ่าน

    ล็อกอินแบบ OAuth

    ประกาศวิธีล็อกอินแบบ OAuth ให้โปรแกรม AI พาไปล็อกอินเอง

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    ยังไม่ได้ตรวจ เราอ่านรายการเครื่องมือตอนตรวจ endpoint

เทียบกับตัวอื่นในหมวด ค้นข้อมูลและความจำของ AIi

  • ดาวมากกว่า 0% ของอีก 7229 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 96% ของอีก 7229 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 40% ของอีก 7229 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

NexTool MCP for GLPI ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 2 จาก 3 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

ต้องใส่ค่าเหล่านี้: GLPI_USER_TOKEN, GLPI_APP_TOKEN, GLPI_V2_CLIENT_SECRET, GLPI_V2_PASSWORD

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

ได้ทั้งสองแบบ จะลงในเครื่องหรือต่อผ่านคลาวด์ก็ได้

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (3.5.7) เข้า registry เมื่อวาน

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี Context7, Codebase Memory, Exa

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

Context7

โดย upstash

ส่งคู่มือการใช้ไลบรารีและเฟรมเวิร์กรุ่นล่าสุดให้ AI อ่านก่อนตอบ ช่วยให้โค้ดที่ AI เขียนไม่ใช้คำสั่งเก่าที่เลิกใช้แล้ว

บนเครื่องหรือคลาวด์★ 64,224MITอัปเดต 3 วันที่ผ่านมา
ติดตั้ง

Codebase Memory

โดย DeusData

Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.

รันบนเครื่อง★ 48,148MITอัปเดต 20 วันที่ผ่านมา
ติดตั้ง

Exa

โดย exa-labs

Connect AI agents to Exa for web search, content fetching, and multi-step research.

รันบนคลาวด์★ 5,213MITอัปเดต 44 วันที่ผ่านมา
ติดตั้ง

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

NexTool MCP for GLPI

Connect Claude and other MCP clients to your GLPI. One MCP server for both GLPI APIs; each tool family turns on with its own credentials:

FamilyAPIToolsEnabled by
glpi_*classic REST (apirest.php) or api.php/v1 — GLPI 9.5, 10 and 11111GLPI_URL + GLPI_USER_TOKEN (+ GLPI_APP_TOKEN)
glpi_v2_*High-level API v2 over OAuth2 — GLPI 1155GLPI_V2_URL + GLPI_V2_CLIENT_ID/SECRET + GLPI_V2_USERNAME/PASSWORD

Until 2.x the v2 family was a separate package (mcp-glpi-v2); since 3.0.0 it lives here, with the same tool names and schemas. Both families share the write policy, payload formatting and create idempotency below.

Not affiliated with Teclib'. GLPI is a registered trademark of Teclib'.

Tool selection. GLPI_TOOLSETS picks named presets (tickets,kb; see Toolsets); GLPI_TOOLS_INCLUDE / GLPI_TOOLS_EXCLUDE take comma-separated globs on tool names (glpi_*ticket*,glpi_search, *webhook*). Toolsets and include globs add up; exclude always wins; with neither toolsets nor include globs every tool registers. An unknown toolset name fails at startup. Fewer tools, less context per session.

Several instances can share this one binary with different env files.

Two ways to run

EntryTransportInstancesAuthentication
dist/index.js (mcp-glpi)stdioone, from the environmentnone (local process)
dist/http.js (mcp-glpi-http)Streamable HTTP, /mcp/ many, from MCP_INSTANCES_FILEAuthorization: Bearer , required

The HTTP entry is the one meant to serve every NexTool environment from one place. A key opens only the instances it was granted, a session stays bound to the key and instance that opened it, GLPI sessions, OAuth tokens and catalogue caches are kept per credential, and create idempotency is shared per instance across sessions. One JSON audit line per request goes to stdout (key, instance, methods, tools; never arguments or credentials). GET /healthz answers without authentication.

Keys live in the instances file as SHA-256 hashes only (mode 600; it is re-read when it changes):

{

"instances": { "acme": { "env": { "GLPI_URL": "https://glpi.acme.example", "GLPI_USER_TOKEN": "…", "GLPI_APP_TOKEN": "…" } } }, "keys": [{ "name": "laptop", "sha256": " ", "instances": ["acme"] }] }

KEY=$(openssl rand -hex 32)                       # give it to the client once

printf %s "$KEY" | sha256sum | cut -d' ' -f1 # goes into "sha256" MCP_INSTANCES_FILE=instances.json MCP_HTTP_PORT=8787 npx mcp-glpi-http

A hosted, multi-tenant version with sign-in through the NexTool portal is available at https://mcp.nextoolsolutions.com/mcp.

Other variables: MCP_HTTP_HOST (default 127.0.0.1), MCP_ALLOWED_HOSTS (Host header allowlist), MCP_SESSION_IDLE_MIN (default 30). The file is re-read when it changes.

What it exposes

  • 111 API v1 tools (60 read / 42 write / 9 destructive) over tickets, changes, problems, the unified timeline, validations, assets and reservations, webhooks, users, groups, entities, documents, the knowledge base, rules and search.
  • 4 resources (glpi://entities, glpi://itil-categories, glpi://request-types, glpi://code-maps) so catalogue lookups do not cost a tool call.
  • 4 prompts for triage, recurrence investigation, requester history and asset context. A prompt is offered only when every tool it names is registered (with GLPI_TOOLSETS=kb there is none).
  • 55 API v2 tools (glpi_v2_*): entities, ITIL with team members and timeline, users, groups, knowledge base, dropdowns, documents, rules, session and health check.
Listing tickets
NeedToolDefaults
"My tickets" (the connected user's)glpi_list_my_ticketsopen only, latest update first, any role
Tickets of the whole instanceglpi_list_ticketsevery status, latest update first
Arbitrary criteriaglpi_searchGLPI search order
  • glpi_list_my_tickets: role (any \| requester \| assigned \| observer), status, sort, order, range, users_id (another user; default the session user from getFullSession). Rows carry requesters / assigned / observers as {id, name}, requester_groups, assigned_groups, status_name, type_name and my_roles; the result also has total and user.
  • glpi_list_tickets: new status, sort and order (the old range and expand_dropdowns keep working). With a status filter the result also has total. Rows carry status_name, type_name, priority_name, category_name, and requesters / assigned as {id, name} (one search per 50 tickets, not one call per ticket).
  • status takes one name or a list: new, assigned (= processing), planned, pending, solved, closed, and open (= new + assigned + planned + pending, GLPI's "not old").
  • sort: date_mod (default), date, id, priority, status, name, solvedate, closedate; order: desc (default) or asc.
  • glpi_v2_list_tickets takes the same status names and sorts by date_mod:desc by default. The v2 API cannot filter on the team (GLPI 11.0.7 ignores or rejects a team filter), so "my tickets" is a v1 tool.
  • glpi_list_changes / glpi_list_problems (and the v2 ones) also default to latest update first.
Names next to IDs

Sub-items keep their IDs and gain names: glpi_list_ticket_users (user_name, type_name), glpi_list_ticket_groups (group_name, type_name), followups (user_name), tasks (user_name, tech_name, tech_group_name), validations (user_name, validator_name, status_name), glpi_list_timeline (all of these, plus solutiontype_name and user_name_approval on solutions), glpi_get_ticket (recipient_name, category_name, entity_name, requesttype_name, location_name, status_name, type_name, priority_name, urgency_name, impact_name), problems and changes (category_name, status_name, priority_name; the single item also the people and entity) and glpi_list_assets (location_name, state_name, user_name). Names are read with GET / / through a 5-minute cache per credential; a name the user cannot read stays null.

Labels of codes (*_status, type_name, priority_name...) are in the language of the GLPI session (getFullSession → glpilanguage, cached per credential), with GLPI's own texts: pt_BR, pt_PT, es_ES, fr_FR, it_IT and de_DE have tables (taken from GLPI 11's locales/*.po), a regional variant uses its family (es_MX → es_ES), anything else GLPI's English. Before 3.5.0 the v1 tools always answered in English ("Solved") while the v2 ones answered in the GLPI language ("Solucionado").

The API v2 labels the status itself but sends priority, urgency, impact and the ticket type as numbers. Since 3.5.1 the v2 ticket/change/problem tools add priority_name, urgency_name, impact_name (and type_name on tickets) beside the codes, in the language whose status table matches the status labels the API returned (the v2 session carries no language); the timeline adds status_name to validations and solutions and state_name to tasks, with the language cached per credential (or read from one ticket). English when nothing matches.

glpi_search keys its rows by search option name in the GLPI user's language ("Título", "Status", "Última atualização") by default since 3.5.0; named_columns: false returns the numeric option IDs ("1", "12", "19"). Since 3.5.1 coded columns (status, priority, urgency, impact, ticket type, approval and solution-approval status) hold the label in the session language and the code sits beside it under " (id)": "Status": "Solucionado", "Status (id)": 5. A column is labelled only when its search option points at a known table/field; the markdown table leaves the (id) columns out, and named_columns: false stays the raw search.

Full reference: docs/TOOLS.md (v1) and docs/v2/TOOLS.md (v2); OAuth2 setup in docs/v2/SETUP.md.

Toolsets

Named presets for GLPI_TOOLSETS (or the toolsets option of instanceFromConfig). Domain presets hold both families; a family still needs its credentials to register. A tool can be in more than one preset, and every tool is in at least one besides core (asserted by the tests). core is the lean default for hosted use: every read tool of the everyday presets (no webhook, rule or session internals) plus the non-destructive ticket operations.

Presets are self-contained (asserted by the tests): a tool named in another tool's description or parameters is in every preset that holds the tool naming it. That is why tickets carries glpi_search / glpi_list_search_options and the user/group reads that put names on people, and assets carries the generic search its list tool points to.

PresetTools (v1 + v2)What
core93 (59 + 34)reads of tickets/itil/assets/kb/documents/users/search + entity and people reads, plus create/update ticket, followup, solution, task, validation, actors
tickets53 (33 + 20)ticket lifecycle incl. my tickets, plus search and user/group reads
itil46 (24 + 22)problems and changes, shared timeline and categories, user/group reads
assets15 (14 + 1)assets, reservations, locations, generic search
kb16 (10 + 6)knowledge base
documents12 (8 + 4)documents and document links
users10 (5 + 5)user and group reads
search3 (3 + 0)generic search, counts, search options
admin55 (37 + 18)GLPI administration: create/update users and groups, entities, session/profile, rules, followup templates, webhooks (plus the user/group reads)
v255 (0 + 55)every glpi_v2_* tool

Administration with writes only in `admin` (3.5.0, owner's decision): creating or changing users and groups, entities, business rules and webhooks is not in core nor in any everyday preset (tickets, itil, assets, kb, documents, users, search); the reads that help with a ticket (users, groups, entities) stay. The v2 preset is the whole family and still holds them. Asserted by the tests (ADMIN_WRITE_TOOLS, EVERYDAY_TOOLSETS).

Before 3.5.0: users 15 (7 + 8), admin 42 (31 + 11). Before 3.4.0: core 92, tickets 42, itil 38, assets 13.

Tools in each preset

core (93: 59 v1 + 34 v2)

Lean default: every read tool of the everyday presets plus the non-destructive ticket operations

v1: glpi_list_tickets, glpi_list_my_tickets, glpi_get_ticket, glpi_list_followups, glpi_list_timeline, glpi_list_ticket_validations, glpi_list_ticket_users, glpi_list_ticket_groups, glpi_list_ticket_tasks, glpi_get_ticket_stats, glpi_list_itil_categories, glpi_get_itil_category, glpi_list_itil_followup_templates, glpi_get_itil_followup_template, glpi_list_changes, glpi_get_change, glpi_list_change_followups, glpi_list_change_tasks, glpi_list_problems, glpi_get_problem, glpi_list_problem_followups, glpi_list_problem_tasks, glpi_list_assets, glpi_get_asset, glpi_get_asset_details, glpi_list_reservation_items, glpi_list_reservations, glpi_get_reservation, glpi_list_locations, glpi_get_location, glpi_list_knowbase_items, glpi_get_knowbase_item, glpi_list_knowbase_categories, glpi_get_knowbase_category, glpi_list_documents, glpi_get_document, glpi_list_document_items, glpi_get_document_item, glpi_get_user, glpi_search_user_by_email, glpi_list_users, glpi_list_groups, glpi_get_group, glpi_search, glpi_count_items, glpi_list_search_options, `glpi_list_entitie

ตัดมาแค่ช่วงต้น อ่านต่อใน repo

ถาม PopNx