IT Glue
What it does
IT Glue MCP server for MSPs — documents, flexible assets, semantic vector search, RBAC, and BYOK
- Connects パソコンで動く
- Account or key Needs ITGLUE_API_KEY, OPENAI_API_KEY, AZURE_OPENAI_API_KEY, AZURE_STORAGE_CONNECTION_STRING
- Category 検索・AIの記憶
インストール
使っているAIアプリを選んで、設定をコピーしてください。
チェック 3/3 合格 · あなたのパソコンで動きます
まず:どの AI を使っていますか?
使っているアプリを選ぶと、下に手順が表示されます。
Claude につなげますが、先に準備が必要です
IT Glue のキーが必要です(提供元のサイトで作成) · 先にパソコンへ Node.js を入れてください(1 回だけ) · パソコン版 Claude アプリ(Windows または Mac)のみ。Web やスマホでは使えません
パソコン版 Claude アプリの設定ファイルを開く
SettingsDeveloperEdit Config
この設定を貼り付けて保存
{ "mcpServers": { "itglue": { "command": "npx", "args": [ "-y", "mcp-itglue" ], "env": { "ITGLUE_API_KEY": "your-value", "ITGLUE_REGION": "your-value", "ITGLUE_BASE_URL": "your-value", "OPENAI_API_KEY": "your-value", "AZURE_OPENAI_API_KEY": "your-value", "AZURE_OPENAI_ENDPOINT": "your-value", "EMBEDDING_MODEL": "your-value", "ITGLUE_ADVANCED_TOOLSET": "your-value", "VECTOR_INDEX_PATH": "your-value", "UPLOAD_STAGING": "your-value", "PUBLIC_BASE_URL": "your-value", "AZURE_STORAGE_CONNECTION_STRING": "your-value", "AZURE_STORAGE_ACCOUNT": "your-value", "AZURE_STORAGE_CONTAINER": "your-value" } } } }キーはアプリの入力欄にだけ貼り付け、チャットに貼ったり人に送ったりしないでください
Claude を終了してもう一度開く
試してみる
IT Glue を使って、私に何ができるか教えて、1 つやってみせて✓ Claude が IT Glue を使っていると言うか、回答に IT Glue のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に Anthropic のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
ChatGPT はまだ IT Glue につなげません
IT Glue はパソコンに入れて使うものですが、ChatGPT は Web 上で動くサーバーにしかつなげません
代わりにできること
A · IT Glue につなげるアプリを使う
- IT Glue のキーが必要です(提供元のサイトで作成) · 先にパソコンへ Node.js を入れてください(1 回だけ) · パソコン版 Claude アプリ(Windows または Mac)のみ。Web やスマホでは使えません
- IT Glue のキーが必要です(提供元のサイトで作成) · 先にパソコンへ Node.js を入れてください(1 回だけ)
- IT Glue のキーが必要です(提供元のサイトで作成) · 先にパソコンへ Node.js を入れてください(1 回だけ)
- IT Glue のキーが必要です(提供元のサイトで作成) · 先にパソコンへ Node.js を入れてください(1 回だけ)
B · 検索・AIの記憶 の中で ChatGPT につなげる別のサーバー
同じカテゴリでよく使われているものから、キーなしでアドレスだけでつなげるものを選びました
- Context7✓ ChatGPT
- AIHOT✓ ChatGPT
- Sui Knowledge Base (kapa.ai)✓ ChatGPT
Claude Code につなげますが、先に準備が必要です
IT Glue のキーが必要です(提供元のサイトで作成) · 先にパソコンへ Node.js を入れてください(1 回だけ)
ターミナルを開く
Mac:Command+スペースで Terminal と入力 · Windows:PowerShell を開く
このコマンドを貼り付けて Enter
claude mcp add --scope user itglue --env ITGLUE_API_KEY=your-value --env ITGLUE_REGION=your-value --env ITGLUE_BASE_URL=your-value --env OPENAI_API_KEY=your-value --env AZURE_OPENAI_API_KEY=your-value --env AZURE_OPENAI_ENDPOINT=your-value --env EMBEDDING_MODEL=your-value --env ITGLUE_ADVANCED_TOOLSET=your-value --env VECTOR_INDEX_PATH=your-value --env UPLOAD_STAGING=your-value --env PUBLIC_BASE_URL=your-value --env AZURE_STORAGE_CONNECTION_STRING=your-value --env AZURE_STORAGE_ACCOUNT=your-value --env AZURE_STORAGE_CONTAINER=your-value -- npx -y mcp-itglueEnter の前に「your-value」を自分のキーに書き換えてください
キーはアプリの入力欄にだけ貼り付け、チャットに貼ったり人に送ったりしないでください
Claude Code で /mcp と入力
IT Glue が一覧にあり、接続済みと表示されれば OK です
試してみる
IT Glue を使って、私に何ができるか教えて、1 つやってみせて✓ Claude Code が IT Glue を使っていると言うか、回答に IT Glue のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に Anthropic のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
Cursor につなげますが、先に準備が必要です
IT Glue のキーが必要です(提供元のサイトで作成) · 先にパソコンへ Node.js を入れてください(1 回だけ)
キーを入力
IT Glue の設定で 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 が空です。自分のキーを入れて保存します
キーはアプリの入力欄にだけ貼り付け、チャットに貼ったり人に送ったりしないでください
Cursor の AI チャットを Agent モードで開く
試してみる
IT Glue を使って、私に何ができるか教えて、1 つやってみせて✓ Cursor が IT Glue を使っていると言うか、回答に IT Glue のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に Cursor のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
VS Code につなげますが、先に準備が必要です
IT Glue のキーが必要です(提供元のサイトで作成) · 先にパソコンへ Node.js を入れてください(1 回だけ)
キーを入力
IT Glue の設定で 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 が空です。自分のキーを入れて保存します
キーはアプリの入力欄にだけ貼り付け、チャットに貼ったり人に送ったりしないでください
VS Code の AI チャットを Agent モードで開く
試してみる
IT Glue を使って、私に何ができるか教えて、1 つやってみせて✓ VS Code が IT Glue を使っていると言うか、回答に IT Glue のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に VS Code のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
Windsurf、Zed、Gemini CLI など MCP を使える他のアプリは追加方法がそれぞれ違います。アプリ一覧で確認してください
JSON 設定は下の「開発者向け」にあります
開発者向け:ターミナルのコマンドと JSON 設定
パソコンにインストール
Claude Code
claude mcp add --scope user itglue --env ITGLUE_API_KEY=your-value --env ITGLUE_REGION=your-value --env ITGLUE_BASE_URL=your-value --env OPENAI_API_KEY=your-value --env AZURE_OPENAI_API_KEY=your-value --env AZURE_OPENAI_ENDPOINT=your-value --env EMBEDDING_MODEL=your-value --env ITGLUE_ADVANCED_TOOLSET=your-value --env VECTOR_INDEX_PATH=your-value --env UPLOAD_STAGING=your-value --env PUBLIC_BASE_URL=your-value --env AZURE_STORAGE_CONNECTION_STRING=your-value --env AZURE_STORAGE_ACCOUNT=your-value --env AZURE_STORAGE_CONTAINER=your-value -- npx -y mcp-itglueClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"itglue": {
"command": "npx",
"args": [
"-y",
"mcp-itglue"
],
"env": {
"ITGLUE_API_KEY": "your-value",
"ITGLUE_REGION": "your-value",
"ITGLUE_BASE_URL": "your-value",
"OPENAI_API_KEY": "your-value",
"AZURE_OPENAI_API_KEY": "your-value",
"AZURE_OPENAI_ENDPOINT": "your-value",
"EMBEDDING_MODEL": "your-value",
"ITGLUE_ADVANCED_TOOLSET": "your-value",
"VECTOR_INDEX_PATH": "your-value",
"UPLOAD_STAGING": "your-value",
"PUBLIC_BASE_URL": "your-value",
"AZURE_STORAGE_CONNECTION_STRING": "your-value",
"AZURE_STORAGE_ACCOUNT": "your-value",
"AZURE_STORAGE_CONTAINER": "your-value"
}
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"itglue": {
"command": "npx",
"args": [
"-y",
"mcp-itglue"
],
"env": {
"ITGLUE_API_KEY": "your-value",
"ITGLUE_REGION": "your-value",
"ITGLUE_BASE_URL": "your-value",
"OPENAI_API_KEY": "your-value",
"AZURE_OPENAI_API_KEY": "your-value",
"AZURE_OPENAI_ENDPOINT": "your-value",
"EMBEDDING_MODEL": "your-value",
"ITGLUE_ADVANCED_TOOLSET": "your-value",
"VECTOR_INDEX_PATH": "your-value",
"UPLOAD_STAGING": "your-value",
"PUBLIC_BASE_URL": "your-value",
"AZURE_STORAGE_CONNECTION_STRING": "your-value",
"AZURE_STORAGE_ACCOUNT": "your-value",
"AZURE_STORAGE_CONTAINER": "your-value"
}
}
}
}VS Code (mcp.json)
{
"servers": {
"itglue": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-itglue"
],
"env": {
"ITGLUE_API_KEY": "your-value",
"ITGLUE_REGION": "your-value",
"ITGLUE_BASE_URL": "your-value",
"OPENAI_API_KEY": "your-value",
"AZURE_OPENAI_API_KEY": "your-value",
"AZURE_OPENAI_ENDPOINT": "your-value",
"EMBEDDING_MODEL": "your-value",
"ITGLUE_ADVANCED_TOOLSET": "your-value",
"VECTOR_INDEX_PATH": "your-value",
"UPLOAD_STAGING": "your-value",
"PUBLIC_BASE_URL": "your-value",
"AZURE_STORAGE_CONNECTION_STRING": "your-value",
"AZURE_STORAGE_ACCOUNT": "your-value",
"AZURE_STORAGE_CONTAINER": "your-value"
}
}
}
}自分で入力する値
ITGLUE_API_KEY秘密 必須 envIT Glue API key (Account → Settings → API Keys)ITGLUE_REGIONenvIT Glue region: us, eu, or auITGLUE_BASE_URLenvFull API base URL (overrides ITGLUE_REGION)OPENAI_API_KEY秘密 envOpenAI API key — enables semantic vector search toolsAZURE_OPENAI_API_KEY秘密 envAzure OpenAI API key — enables vector search via Azure (requires AZURE_OPENAI_ENDPOINT)AZURE_OPENAI_ENDPOINTenvAzure OpenAI endpoint URLEMBEDDING_MODELenvEmbedding model or Azure deployment nameITGLUE_ADVANCED_TOOLSETenvtrue/1 registers the advanced toolset (itglue_get, itglue_find_endpoint) — an opt-in read-only escape hatch; password resources stay blockedVECTOR_INDEX_PATHenvPath of the persisted vector index fileUPLOAD_STAGINGenvStaged 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 stdioPUBLIC_BASE_URLenvExternally reachable base URL of this server, used for memory-mode upload URLsAZURE_STORAGE_CONNECTION_STRING秘密 envazure-blob staging: storage account connection string (account-key SAS)AZURE_STORAGE_ACCOUNTenvazure-blob staging via DefaultAzureCredential (managed identity) — alternative to the connection stringAZURE_STORAGE_CONTAINERenvBlob container for staged uploads
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
ひと目でわかる
- 週あたりのダウンロードi
- 98/週
- 接続方法
- パソコンで動く
- 最新バージョンi
- 0.6.0
- レジストリ公開日i
- 2026年9月16日
- コードの最終更新i
- 2026年9月16日
- 作者
- mspstack
- パッケージ
npm: mcp-itglue- ウェブサイト
- github.com
- レジストリでの状態
- 有効
使えるアプリ
このサーバーのつなぎ方と、各アプリの公式ドキュメントに基づきます。2026年11月10日に確認。
パソコン上で動かせるアプリ
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
できること
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
基本チェックi
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月13日にチェック
- ✓ 合格
作者とリポジトリが一致
レジストリ名は、リポジトリを所有するGitHubアカウント mspstack で確認済みです
- ✓ 合格
今もメンテナンスされている
コードの最終更新:2 か月前
- ✓ 合格
ライセンスがある
MITを使用
- – 対象外
エンドポイントが応答する
これはパソコンで動くため、インターネット上のエンドポイントはありません
- – 対象外
OAuthでサインイン
パソコンで動き、代わりにローカルの設定を使います
- … 未チェック
ツールの説明に隠れた指示がない
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
話し合い
質問、コツの共有、使えないことの報告ができます。「役に立った」の多い順です。
ユーザーレビュー
まだレビューはありません
検索・AIの記憶のほかのサーバーとの比較i
- このカテゴリのほかの6017件のうち89%よりスターが多い
- このカテゴリのほかの6017件のうち40%より最近レジストリに公開
- 基本チェックの結果が、このカテゴリのほかの6017件のうち100%と同じかそれ以上
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
よくある質問
IT Glueは安全ですか?
当てはまる基本チェック3項目のうち3項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
どんなキーやコードが必要ですか?
入力が必要なもの:ITGLUE_API_KEY, OPENAI_API_KEY, AZURE_OPENAI_API_KEY, AZURE_STORAGE_CONNECTION_STRING
パソコンで動きますか、それともクラウドですか?
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
今もメンテナンスされていますか?
GitHubリポジトリの最終更新は2 か月前、最新バージョン(0.6.0)がレジストリに届いたのは2 か月前です。
どのアプリで使えますか?
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
代わりに使えるものは?
同じカテゴリには:Context7, Codebase Memory, Ruflo
同じカテゴリのほかの候補
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Codebase Memory
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
作者のREADME
READMEを開く
作者のリポジトリから書かれたとおりにコピーしたものです。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:
| Route | Purpose |
|---|---|
POST/GET/DELETE /mcp | MCP streamable-http endpoint |
GET /health | Liveness probe |
POST /webhook/itglue | IT Glue webhook → incremental index update |
POST /index/refresh | Manual index refresh (shared secret or admin token) |
PUT /upload/:id | Staged 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:
| Value | Behavior |
|---|---|
with-token (default) | BYOK allowed, but a valid bearer token is still required — protects your server from being an open proxy |
open | An IT Glue key alone authenticates (trusted networks / local use) |
disabled | The 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
| Tool | Tier |
|---|---|
itglue_list_organizations, itglue_get_organization | read |
itglue_list_documents, itglue_get_document | read |
itglue_list_document_folders | read |
itglue_list_document_sections, itglue_get_document_section | read |
itglue_list_flexible_asset_types, itglue_get_flexible_asset_type | read |
itglue_list_flexible_assets, itglue_get_flexible_asset | read |
itglue_get_document_image | read |
itglue_list_attachments | read |
itglue_vector_search, itglue_vector_index_status | read |
itglue_create_document, itglue_update_document, itglue_publish_document | write |
itglue_create_document_section, itglue_update_document_section | write |
itglue_delete_document_section † | write |
itglue_create_document_image | write |
itglue_delete_document_image † | write |
itglue_request_upload (HTTP, when UPLOAD_STAGING ≠ off) | write |
itglue_create_flexible_asset, itglue_update_flexible_asset | write |
itglue_create_attachment | write |
itglue_build_vector_index | write |
itglue_delete_documents | destructive |
itglue_delete_flexible_asset | destructive |
itglue_delete_attachment | destructive |
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:
- Upload with
document_id(inline) ordocument_id+gallery_id(thedocument_gallery_idof a Gallery/Step section). - For inline images, put the returned
inline_resource_urlverbatim into the section HTML:— or passappend_to_section_idand 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:
- The model calls
itglue_request_upload(file_nameoptional) and gets anupload_id, a URL, and a ready-to-runcurl. - The client PUTs the file to that URL from a shell.
- The model calls
itglue_create_document_imageoritglue_create_attachmentwithupload_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:
| Mode | Where the PUT goes | When 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-blob | A 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:
- 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:
| Key | Value |
|---|---|
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.
- Self-refresh — documents created/updated/published/deleted through this server's tools are re-indexed automatically in the background.
- Manual refresh —
POST /index/refreshwithAuthorization: Bearer(or anx-refresh-secretheader, or an admin token). Body{"document_id": "123"}refreshes one document; an empty body re-crawls every indexed or