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

IT Glue

โดย mspstackรุ่น 0.6.0i★ –iรันบนเครื่อง
ชื่อใน registryio.github.mspstack/mcp-itglue

ติดตั้ง

ภาพรวม

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

IT Glue MCP server for MSPs — documents, flexible assets, semantic vector search, RBAC, and BYOK

สามเสาของ PopNx MCP

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

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

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

  • การเชื่อมต่อ: รันบนเครื่อง
  • ช่องทาง (transport): stdio
  • หมวด: ค้นข้อมูลและความจำของ AI
  • ต้องใส่ค่าเหล่านี้: ITGLUE_API_KEY, OPENAI_API_KEY, AZURE_OPENAI_API_KEY, AZURE_STORAGE_CONNECTION_STRING

ติดตั้ง

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

ก่อนติดตั้ง

  • ผลตรวจเบื้องต้น: ผ่าน 1 จาก 1 ข้อ
  • รันในเครื่องคุณด้วยสิทธิ์ของผู้ใช้คุณ (ไฟล์ อินเทอร์เน็ต แอปต่าง ๆ)
  • ค่าที่คุณต้องใส่เอง: ITGLUE_API_KEY, ITGLUE_REGION, ITGLUE_BASE_URL, OPENAI_API_KEY, AZURE_OPENAI_API_KEY, AZURE_OPENAI_ENDPOINT, EMBEDDING_MODEL, ITGLUE_ADVANCED_TOOLSET, VECTOR_INDEX_PATH, UPLOAD_STAGING, PUBLIC_BASE_URL, AZURE_STORAGE_CONNECTION_STRING, AZURE_STORAGE_ACCOUNT, AZURE_STORAGE_CONTAINER

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

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

  • npmติดตั้ง Node.js (มีคำสั่ง npx) ในเครื่อง

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

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

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

{
  "mcpServers": {
    "itglue": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-itglue"
      ],
      "env": {
        "ITGLUE_API_KEY": "ใส่ค่าของคุณ",
        "ITGLUE_REGION": "ใส่ค่าของคุณ",
        "ITGLUE_BASE_URL": "ใส่ค่าของคุณ",
        "OPENAI_API_KEY": "ใส่ค่าของคุณ",
        "AZURE_OPENAI_API_KEY": "ใส่ค่าของคุณ",
        "AZURE_OPENAI_ENDPOINT": "ใส่ค่าของคุณ",
        "EMBEDDING_MODEL": "ใส่ค่าของคุณ",
        "ITGLUE_ADVANCED_TOOLSET": "ใส่ค่าของคุณ",
        "VECTOR_INDEX_PATH": "ใส่ค่าของคุณ",
        "UPLOAD_STAGING": "ใส่ค่าของคุณ",
        "PUBLIC_BASE_URL": "ใส่ค่าของคุณ",
        "AZURE_STORAGE_CONNECTION_STRING": "ใส่ค่าของคุณ",
        "AZURE_STORAGE_ACCOUNT": "ใส่ค่าของคุณ",
        "AZURE_STORAGE_CONTAINER": "ใส่ค่าของคุณ"
      }
    }
  }
}

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

claude mcp add itglue --env ITGLUE_API_KEY='ใส่ค่าของคุณ' --env ITGLUE_REGION='ใส่ค่าของคุณ' --env ITGLUE_BASE_URL='ใส่ค่าของคุณ' --env OPENAI_API_KEY='ใส่ค่าของคุณ' --env AZURE_OPENAI_API_KEY='ใส่ค่าของคุณ' --env AZURE_OPENAI_ENDPOINT='ใส่ค่าของคุณ' --env EMBEDDING_MODEL='ใส่ค่าของคุณ' --env ITGLUE_ADVANCED_TOOLSET='ใส่ค่าของคุณ' --env VECTOR_INDEX_PATH='ใส่ค่าของคุณ' --env UPLOAD_STAGING='ใส่ค่าของคุณ' --env PUBLIC_BASE_URL='ใส่ค่าของคุณ' --env AZURE_STORAGE_CONNECTION_STRING='ใส่ค่าของคุณ' --env AZURE_STORAGE_ACCOUNT='ใส่ค่าของคุณ' --env AZURE_STORAGE_CONTAINER='ใส่ค่าของคุณ' -- npx -y mcp-itglue

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

เปิดใน Cursor

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

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

{
  "mcpServers": {
    "itglue": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-itglue"
      ],
      "env": {
        "ITGLUE_API_KEY": "ใส่ค่าของคุณ",
        "ITGLUE_REGION": "ใส่ค่าของคุณ",
        "ITGLUE_BASE_URL": "ใส่ค่าของคุณ",
        "OPENAI_API_KEY": "ใส่ค่าของคุณ",
        "AZURE_OPENAI_API_KEY": "ใส่ค่าของคุณ",
        "AZURE_OPENAI_ENDPOINT": "ใส่ค่าของคุณ",
        "EMBEDDING_MODEL": "ใส่ค่าของคุณ",
        "ITGLUE_ADVANCED_TOOLSET": "ใส่ค่าของคุณ",
        "VECTOR_INDEX_PATH": "ใส่ค่าของคุณ",
        "UPLOAD_STAGING": "ใส่ค่าของคุณ",
        "PUBLIC_BASE_URL": "ใส่ค่าของคุณ",
        "AZURE_STORAGE_CONNECTION_STRING": "ใส่ค่าของคุณ",
        "AZURE_STORAGE_ACCOUNT": "ใส่ค่าของคุณ",
        "AZURE_STORAGE_CONTAINER": "ใส่ค่าของคุณ"
      }
    }
  }
}

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

เปิดใน VS Code

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

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

{
  "servers": {
    "itglue": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "mcp-itglue"
      ],
      "env": {
        "ITGLUE_API_KEY": "ใส่ค่าของคุณ",
        "ITGLUE_REGION": "ใส่ค่าของคุณ",
        "ITGLUE_BASE_URL": "ใส่ค่าของคุณ",
        "OPENAI_API_KEY": "ใส่ค่าของคุณ",
        "AZURE_OPENAI_API_KEY": "ใส่ค่าของคุณ",
        "AZURE_OPENAI_ENDPOINT": "ใส่ค่าของคุณ",
        "EMBEDDING_MODEL": "ใส่ค่าของคุณ",
        "ITGLUE_ADVANCED_TOOLSET": "ใส่ค่าของคุณ",
        "VECTOR_INDEX_PATH": "ใส่ค่าของคุณ",
        "UPLOAD_STAGING": "ใส่ค่าของคุณ",
        "PUBLIC_BASE_URL": "ใส่ค่าของคุณ",
        "AZURE_STORAGE_CONNECTION_STRING": "ใส่ค่าของคุณ",
        "AZURE_STORAGE_ACCOUNT": "ใส่ค่าของคุณ",
        "AZURE_STORAGE_CONTAINER": "ใส่ค่าของคุณ"
      }
    }
  }
}

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

ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น

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

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

  • ITGLUE_API_KEY ความลับ จำเป็น env
    IT Glue API key (Account → Settings → API Keys)
  • ITGLUE_REGION env
    IT Glue region: us, eu, or au
  • ITGLUE_BASE_URL env
    Full API base URL (overrides ITGLUE_REGION)
  • OPENAI_API_KEY ความลับ env
    OpenAI API key — enables semantic vector search tools
  • AZURE_OPENAI_API_KEY ความลับ env
    Azure OpenAI API key — enables vector search via Azure (requires AZURE_OPENAI_ENDPOINT)
  • AZURE_OPENAI_ENDPOINT env
    Azure OpenAI endpoint URL
  • EMBEDDING_MODEL env
    Embedding model or Azure deployment name
  • ITGLUE_ADVANCED_TOOLSET env
    true/1 registers the advanced toolset (itglue_get, itglue_find_endpoint) — an opt-in read-only escape hatch; password resources stay blocked
  • VECTOR_INDEX_PATH env
    Path of the persisted vector index file
  • UPLOAD_STAGING env
    Staged file uploads for upload_id: off, memory (PUT to this server's /upload/:id), or azure-blob (SAS upload to Azure Blob Storage). Default: memory on http, off on stdio
  • PUBLIC_BASE_URL env
    Externally reachable base URL of this server, used for memory-mode upload URLs
  • AZURE_STORAGE_CONNECTION_STRING ความลับ env
    azure-blob staging: storage account connection string (account-key SAS)
  • AZURE_STORAGE_ACCOUNT env
    azure-blob staging via DefaultAzureCredential (managed identity) — alternative to the connection string
  • AZURE_STORAGE_CONTAINER env
    Blob container for staged uploads

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

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

รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง

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

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

  • ✓ ผ่าน

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

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub mspstack ซึ่งเป็นเจ้าของ repo

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

    ยังมีคนดูแล

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

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

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

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

  • – ไม่เกี่ยว

    endpoint ตอบ

    ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน

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

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

    รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต

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

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

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

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

IT Glue ปลอดภัยไหม?

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

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

ต้องใส่ค่าเหล่านี้: ITGLUE_API_KEY, OPENAI_API_KEY, AZURE_OPENAI_API_KEY, AZURE_STORAGE_CONNECTION_STRING

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

รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)

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

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

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

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย

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

ในหมวดเดียวกันมี 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 รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

mcp-itglue

An MCP (Model Context Protocol) server for the IT Glue API, built for MSPs that want AI assistants to read — and safely write — their documentation.

  • Documents & sections — list, read, create, update, publish, delete
  • Flexible assets — browse asset types and their fields, list/read/create/update/delete assets
  • Images inside documents — upload a picture into a document (inline in a Text/Step section, or into a Gallery) from base64, a URL, or a local path, and embed it with the returned ; get and delete document images
  • Attachments — attach any file to a record's Attachments panel (documents, flexible assets, configurations, …); list and delete attachments
  • Semantic vector search — "how do I remove a backup agent" finds the Veeam decommissioning runbook, even when the words don't match (OpenAI or Azure OpenAI embeddings, local JSON index)
  • Role-based access control — viewer / editor / admin bearer tokens decide which tools each session can even see
  • Bring your own key — clients may supply their own IT Glue API key per session, so IT Glue's own permissions apply
  • Index freshness — IT Glue webhook, post-write self-refresh, and a manual refresh endpoint
  • Transports — stdio for local use, streamable HTTP for shared deployments; Docker image included

Installation

You need an IT Glue API key (IT Glue → Account → Settings → API Keys). Non-US accounts set ITGLUE_REGION to eu or au.

npx (recommended)

Claude Desktop (claude_desktop_config.json) or Claude Code (.mcp.json):

{

"mcpServers": { "itglue": { "command": "npx", "args": ["-y", "mcp-itglue"], "env": { "ITGLUE_API_KEY": "ITG.xxxx" } } } }

Claude Code one-liner:

claude mcp add itglue --env ITGLUE_API_KEY=ITG.xxxx -- npx -y mcp-itglue

Claude Desktop users can instead grab mcp-itglue.mcpb from the latest release — open it with Claude Desktop and fill in the API key when prompted.

stdio always runs with the full tool surface — it is a local, single-user transport using your own key.

Docker

The container image defaults to the HTTP transport (for shared deployments):

docker run --rm -p 3000:3000 \

-e ITGLUE_API_KEY=ITG.xxxx \ ghcr.io/mspstack/mcp-itglue

For local stdio use under Docker:

{

"mcpServers": { "itglue": { "command": "docker", "args": ["run", "-i", "--rm", "-e", "ITGLUE_API_KEY", "ghcr.io/mspstack/mcp-itglue", "--transport", "stdio"], "env": { "ITGLUE_API_KEY": "ITG.xxxx" } } } }

From source
git clone https://github.com/mspstack/mcp-itglue.git && cd mcp-itglue

npm install && npm run build ITGLUE_API_KEY=ITG.xxxx node dist/index.js

HTTP deployment

ITGLUE_API_KEY=ITG.xxxx \

MCP_TOKENS_VIEWER="alice:$(openssl rand -hex 32)" \ MCP_TOKENS_EDITOR="automation:$(openssl rand -hex 32)" \ MCP_TOKENS_ADMIN="ops:$(openssl rand -hex 32)" \ npx -y mcp-itglue --transport http --port 3000

Or with Docker:

docker run --rm -p 3000:3000 \

-e ITGLUE_API_KEY -e MCP_TOKENS_VIEWER -e MCP_TOKENS_EDITOR -e MCP_TOKENS_ADMIN \ ghcr.io/mspstack/mcp-itglue

Endpoints:

RoutePurpose
POST/GET/DELETE /mcpMCP streamable-http endpoint
GET /healthLiveness probe
POST /webhook/itglueIT Glue webhook → incremental index update
POST /index/refreshManual index refresh (shared secret or admin token)
PUT /upload/:idStaged file upload slot (memory backend; same auth as /mcp)

Sessions are held in memory — run a single instance (or add sticky sessions) behind your load balancer.

Access control

Role tokens

Three env vars hold comma-separated label:token lists:

MCP_TOKENS_VIEWER="alice:tokA,bob:tokB"   # read-only tools

MCP_TOKENS_EDITOR="hatz:tokC" # + create/update/publish, delete section MCP_TOKENS_ADMIN="ops:tokD" # + delete documents / flexible assets

Clients authenticate with Authorization: Bearer . The label appears in the audit log ([rbac] session … for alice (viewer)) and lets you revoke one person's token without rotating everyone's.

Tools a role cannot use are not registered for that session — a viewer doesn't even see itglue_create_document in tools/list — and a runtime guard re-checks the role on every call as defense in depth. Session ids never carry privilege: every request re-authenticates, and presenting a different principal against an existing session returns 403.

If no tokens are configured, the server runs in dev mode: all requests get admin access and a loud startup warning. Don't do this in production.

Bring your own IT Glue key (BYOK)

Clients may send their own IT Glue API key in the x-itglue-api-key header on the initialize request. The session then talks to IT Glue with that key and gets the full tool surface — IT Glue's own key permissions are the effective access control. CLIENT_ITGLUE_KEYS controls the policy:

ValueBehavior
with-token (default)BYOK allowed, but a valid bearer token is still required — protects your server from being an open proxy
openAn IT Glue key alone authenticates (trusted networks / local use)
disabledThe header is rejected; only the server-wide key is used

With BYOK enabled the server-wide ITGLUE_API_KEY becomes optional: sessions without a client key are rejected with a clear error. Client keys are never logged; sessions are bound to a SHA-256 hash of the key and audit-labeled byok: .

Tools

ToolTier
itglue_list_organizations, itglue_get_organizationread
itglue_list_documents, itglue_get_documentread
itglue_list_document_foldersread
itglue_list_document_sections, itglue_get_document_sectionread
itglue_list_flexible_asset_types, itglue_get_flexible_asset_typeread
itglue_list_flexible_assets, itglue_get_flexible_assetread
itglue_get_document_imageread
itglue_list_attachmentsread
itglue_vector_search, itglue_vector_index_statusread
itglue_create_document, itglue_update_document, itglue_publish_documentwrite
itglue_create_document_section, itglue_update_document_sectionwrite
itglue_delete_document_section †write
itglue_create_document_imagewrite
itglue_delete_document_image †write
itglue_request_upload (HTTP, when UPLOAD_STAGING ≠ off)write
itglue_create_flexible_asset, itglue_update_flexible_assetwrite
itglue_create_attachmentwrite
itglue_build_vector_indexwrite
itglue_delete_documentsdestructive
itglue_delete_flexible_assetdestructive
itglue_delete_attachmentdestructive
itglue_find_endpoint, itglue_get ‡read

Viewer = read. Editor = read + write. Admin = everything. † Permanent, but editor-tier: editors need these to restructure documents and can already blank section content (or edit an out of it) via update.

Images in documents vs. attachments

IT Glue has two unrelated upload paths. Attachments (itglue_create_attachment) land in a record's Attachments side panel and never render in a document's body. To show a picture *inside* a document, use itglue_create_document_image:

  1. Upload with document_id (inline) or document_id + gallery_id (the document_gallery_id of a Gallery/Step section).
  2. For inline images, put the returned inline_resource_url verbatim into the section HTML: — or pass append_to_section_id and the tool appends it to an existing Text/Step section for you.

IT Glue strips data: URIs and its own S3 URLs from section content; only these relative paths (and public https:// links) survive.

Getting a file from the client to the server (staged uploads)

Tool arguments travel through the model, so content_base64 only works for tiny files — a screenshot is megabytes of base64 the model would have to reproduce token by token (and IT Glue rejects the truncated result with NotIdentifiedByImageMagickError). Over HTTP the server therefore offers staged uploads:

  1. The model calls itglue_request_upload (file_name optional) and gets an upload_id, a URL, and a ready-to-run curl.
  2. The client PUTs the file to that URL from a shell.
  3. The model calls itglue_create_document_image or itglue_create_attachment with upload_id.

Slots live 15 minutes, are bound to the requesting principal (token label / BYOK key), and are consumed once. Two backends, chosen with UPLOAD_STAGING:

ModeWhere the PUT goesWhen to use
memory (default on HTTP)This server's PUT /upload/:id, with the same Authorization / x-itglue-api-key headers as /mcp. Set PUBLIC_BASE_URL so the URL is reachable.The server is directly reachable by clients.
azure-blobA short-lived SAS URL on Azure Blob Storage; the server later downloads the blob with its own credentials and deletes it.The server sits behind a gateway or is otherwise not reachable from clients. Configure AZURE_STORAGE_CONNECTION_STRING (account-key SAS) or AZURE_STORAGE_ACCOUNT (managed identity / az login via DefaultAzureCredential, needs *Storage Blob Data Contributor* + *Storage Blob Delegator*), plus optional AZURE_STORAGE_CONTAINER (default mcp-itglue-uploads).
off—stdio (default there — file_path reads the local disk directly) or when you don't want the feature.

url remains the simplest source for anything already hosted on the web. ‡ Advanced toolset (opt-in, off by default): itglue_get is a read-only GET passthrough for any API path the curated tools don't wrap, and itglue_find_endpoint searches a curated endpoint catalog. Enable with ITGLUE_ADVANCED_TOOLSET=true or --advanced. Password resources (/passwords) are hard-blocked — credential values never reach the model.

Vector tools appear only when an embedding provider is configured.

Vector search

Set OPENAI_API_KEY (or AZURE_OPENAI_API_KEY + AZURE_OPENAI_ENDPOINT, where EMBEDDING_MODEL is your deployment name), then run itglue_build_vector_index per organization. The index is a JSON file at VECTOR_INDEX_PATH (default ./vector-index.json) — on ephemeral hosts, point it at a persistent volume.

The index stays fresh three ways:

  1. IT Glue webhook — in IT Glue, webhooks are sent by Workflows (Admin → Workflows): add a *Document* trigger (created/updated) with a *Webhook* action. Workflow actions cannot send custom headers, so put the shared secret in the URL:
   https://<host>/webhook/itglue?secret=<ITGLUE_WEBHOOK_SECRET>

and use a JSON payload template like:

KeyValue
event[trigger_name]
resource_url[resource_url]
resource_name[resource_name]
organization_name[organization_name]

The document id is parsed from resource_url; the trigger name maps to created/updated/deleted by keyword. Classic JSON:API-style payloads with an x-itglue-webhook-signature HMAC-SHA256 header are also accepted.

  1. Self-refresh — documents created/updated/published/deleted through this server's tools are re-indexed automatically in the background.
  2. Manual refresh — POST /index/refresh with Authorization: Bearer (or an x-refresh-secret header, or an admin token). Body {"document_id": "123"} refreshes one document; an empty body re-crawls every indexed or

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

ถาม PopNx