Enables AI assistants to read and write IT Glue documentation, manage flexible assets, and perform semantic vector searches.
Also known as mspstack/mcp-itglue, mcp-itglue
- Stars
- 6
- Tools
- 11
- Downloads, 30 days
- —
- Latest version
- 0.6.0
- Last commit
- Sep 16, 2026
- License
- MIT
What is IT Glue MCP?
IT Glue enables AI assistants to read and write IT Glue documentation, manage flexible assets, and perform semantic vector searches. It exposes 11 tools, such as itglue_list_document_folders, itglue_get_document_image, itglue_list_attachments.
Summary generated from the project's README
About IT Glue MCP server
Managing IT documentation and flexible assets through AI assistants is what this server enables for Managed Service Providers. It allows users to read, create, update, and delete documents, sections, and assets within IT Glue. The server supports complex workflows like uploading images directly into document sections or attaching files to specific records. It also provides a semantic vector search capability that uses OpenAI or Azure OpenAI embeddings to find relevant runbooks and documentation even when exact keyword matches are missing.
Developers can deploy this via stdio for local use with Claude Desktop or through a streamable HTTP transport for shared environments. Security is managed through role-based access control, where viewer, editor, and admin tokens determine which tools are visible to a session. It also supports a bring-your-own-key model, allowing clients to provide their own IT Glue API keys to ensure the assistant operates within their specific permission boundaries. The server can be run locally using npx or via Docker containers.
What you can do with it
- 1Semantic documentation retrievalFind specific technical runbooks using natural language queries that do not rely on exact keyword matching.
- 2Automated asset managementCreate and update flexible assets and their associated fields directly through an AI interface.
- 3Document image integrationInsert pictures into document sections or galleries using base64, URLs, or local file paths.
- 4Role-based documentation editingRestrict AI assistant capabilities so that certain users can only read documentation while others can publish changes.
Written from the project's README. Every use case is checked against a quote from it.
How to install IT Glue MCP
Formats verified 10 Nov 2026Add to CursorAdd to GooseInstall IT Glue MCP in Claude Code
$ claude mcp add --env 'ITGLUE_API_KEY=<YOUR_ITGLUE_API_KEY>' --env 'AZURE_OPENAI_API_KEY=<YOUR_AZURE_OPENAI_API_KEY>' --env 'AZURE_STORAGE_CONNECTION_STRING=<YOUR_AZURE_STORAGE_CONNECTION_STRING>' --env 'OPENAI_API_KEY=<YOUR_OPENAI_API_KEY>' mcp-itglue -- npx -y mcp-itglueInstall IT Glue MCP in Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"mcp-itglue": {
"command": "npx",
"args": [
"-y",
"mcp-itglue"
],
"env": {
"ITGLUE_API_KEY": "<YOUR_ITGLUE_API_KEY>",
"AZURE_OPENAI_API_KEY": "<YOUR_AZURE_OPENAI_API_KEY>",
"AZURE_STORAGE_CONNECTION_STRING": "<YOUR_AZURE_STORAGE_CONNECTION_STRING>",
"OPENAI_API_KEY": "<YOUR_OPENAI_API_KEY>"
}
}
}
}Install IT Glue MCP in VS Code
.vscode/mcp.json
{
"servers": {
"mcp-itglue": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-itglue"
],
"env": {
"ITGLUE_API_KEY": "<YOUR_ITGLUE_API_KEY>",
"AZURE_OPENAI_API_KEY": "<YOUR_AZURE_OPENAI_API_KEY>",
"AZURE_STORAGE_CONNECTION_STRING": "<YOUR_AZURE_STORAGE_CONNECTION_STRING>",
"OPENAI_API_KEY": "<YOUR_OPENAI_API_KEY>"
}
}
}
}Install IT Glue MCP in VS Code CLI
$ code --add-mcp '{"name":"mcp-itglue","type":"stdio","command":"npx","args":["-y","mcp-itglue"],"env":{"ITGLUE_API_KEY":"<YOUR_ITGLUE_API_KEY>","AZURE_OPENAI_API_KEY":"<YOUR_AZURE_OPENAI_API_KEY>","AZURE_STORAGE_CONNECTION_STRING":"<YOUR_AZURE_STORAGE_CONNECTION_STRING>","OPENAI_API_KEY":"<YOUR_OPENAI_API_KEY>"}}'Install IT Glue MCP in Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"mcp-itglue": {
"command": "npx",
"args": [
"-y",
"mcp-itglue"
],
"env": {
"ITGLUE_API_KEY": "<YOUR_ITGLUE_API_KEY>",
"AZURE_OPENAI_API_KEY": "<YOUR_AZURE_OPENAI_API_KEY>",
"AZURE_STORAGE_CONNECTION_STRING": "<YOUR_AZURE_STORAGE_CONNECTION_STRING>",
"OPENAI_API_KEY": "<YOUR_OPENAI_API_KEY>"
}
}
}
}Install IT Glue MCP in Codex
$ codex mcp add mcp-itglue --env 'ITGLUE_API_KEY=<YOUR_ITGLUE_API_KEY>' --env 'AZURE_OPENAI_API_KEY=<YOUR_AZURE_OPENAI_API_KEY>' --env 'AZURE_STORAGE_CONNECTION_STRING=<YOUR_AZURE_STORAGE_CONNECTION_STRING>' --env 'OPENAI_API_KEY=<YOUR_OPENAI_API_KEY>' -- npx -y mcp-itglueInstall IT Glue MCP in Codex config.toml
~/.codex/config.toml
[mcp_servers.mcp-itglue] command = "npx" args = ["-y", "mcp-itglue"] [mcp_servers.mcp-itglue.env] ITGLUE_API_KEY = "<YOUR_ITGLUE_API_KEY>" AZURE_OPENAI_API_KEY = "<YOUR_AZURE_OPENAI_API_KEY>" AZURE_STORAGE_CONNECTION_STRING = "<YOUR_AZURE_STORAGE_CONNECTION_STRING>" OPENAI_API_KEY = "<YOUR_OPENAI_API_KEY>"
Install IT Glue MCP in Gemini CLI
$ gemini mcp add -s user -e 'ITGLUE_API_KEY=<YOUR_ITGLUE_API_KEY>' -e 'AZURE_OPENAI_API_KEY=<YOUR_AZURE_OPENAI_API_KEY>' -e 'AZURE_STORAGE_CONNECTION_STRING=<YOUR_AZURE_STORAGE_CONNECTION_STRING>' -e 'OPENAI_API_KEY=<YOUR_OPENAI_API_KEY>' mcp-itglue npx -- -y mcp-itglueInstall IT Glue MCP in Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"mcp-itglue": {
"command": "npx",
"args": [
"-y",
"mcp-itglue"
],
"env": {
"ITGLUE_API_KEY": "<YOUR_ITGLUE_API_KEY>",
"AZURE_OPENAI_API_KEY": "<YOUR_AZURE_OPENAI_API_KEY>",
"AZURE_STORAGE_CONNECTION_STRING": "<YOUR_AZURE_STORAGE_CONNECTION_STRING>",
"OPENAI_API_KEY": "<YOUR_OPENAI_API_KEY>"
}
}
}
}IT Glue MCP tools 11
Detected from the READMEitglue_list_document_foldersitglue_get_document_imageitglue_list_attachmentsitglue_create_document_imageitglue_create_attachmentitglue_build_vector_indexitglue_delete_documentsitglue_delete_flexible_assetitglue_delete_attachmentazure-bloboff
| itglue_list_document_folders | — | |
| itglue_get_document_image | — | |
| itglue_list_attachments | — | |
| itglue_create_document_image | — | |
| itglue_create_attachment | — | |
| itglue_build_vector_index | — | |
| itglue_delete_documents | — | |
| itglue_delete_flexible_asset | — | |
| itglue_delete_attachment | — | |
| azure-blob | — | |
| off | — |
Configuration
ITGLUE_API_KEYRequiredSecretIT Glue API key (Account → Settings → API Keys)
AZURE_OPENAI_API_KEYSecretAzure OpenAI API key — enables vector search via Azure (requires AZURE_OPENAI_ENDPOINT)
AZURE_STORAGE_CONNECTION_STRINGSecretazure-blob staging: storage account connection string (account-key SAS)
OPENAI_API_KEYSecretOpenAI API key — enables semantic vector search tools
AZURE_OPENAI_ENDPOINTAzure OpenAI endpoint URL
AZURE_STORAGE_ACCOUNTazure-blob staging via DefaultAzureCredential (managed identity) — alternative to the connection string
AZURE_STORAGE_CONTAINERBlob container for staged uploads
EMBEDDING_MODELEmbedding model or Azure deployment name
ITGLUE_ADVANCED_TOOLSETtrue/1 registers the advanced toolset (itglue_get, itglue_find_endpoint) — an opt-in read-only escape hatch; password resources stay blocked
ITGLUE_BASE_URLFull API base URL (overrides ITGLUE_REGION)
ITGLUE_REGIONIT Glue region: us, eu, or au
MCP_TOKENS_ADMINMCP_TOKENS_EDITORMCP_TOKENS_VIEWERPUBLIC_BASE_URLExternally reachable base URL of this server, used for memory-mode upload URLs
UPLOAD_STAGINGStaged 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
VECTOR_INDEX_PATHPath of the persisted vector index file
| Name | Description | |
|---|---|---|
| ITGLUE_API_KEY | IT Glue API key (Account → Settings → API Keys) | RequiredSecret |
| AZURE_OPENAI_API_KEY | Azure OpenAI API key — enables vector search via Azure (requires AZURE_OPENAI_ENDPOINT) | Secret |
| AZURE_STORAGE_CONNECTION_STRING | azure-blob staging: storage account connection string (account-key SAS) | Secret |
| OPENAI_API_KEY | OpenAI API key — enables semantic vector search tools | Secret |
| AZURE_OPENAI_ENDPOINT | Azure OpenAI endpoint URL | |
| AZURE_STORAGE_ACCOUNT | azure-blob staging via DefaultAzureCredential (managed identity) — alternative to the connection string | |
| AZURE_STORAGE_CONTAINER | Blob container for staged uploads | |
| EMBEDDING_MODEL | Embedding model or Azure deployment name | |
| ITGLUE_ADVANCED_TOOLSET | true/1 registers the advanced toolset (itglue_get, itglue_find_endpoint) — an opt-in read-only escape hatch; password resources stay blocked | |
| ITGLUE_BASE_URL | Full API base URL (overrides ITGLUE_REGION) | |
| ITGLUE_REGION | IT Glue region: us, eu, or au | |
| MCP_TOKENS_ADMIN | — | |
| MCP_TOKENS_EDITOR | — | |
| MCP_TOKENS_VIEWER | — | |
| PUBLIC_BASE_URL | Externally reachable base URL of this server, used for memory-mode upload URLs | |
| UPLOAD_STAGING | 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 | |
| VECTOR_INDEX_PATH | Path of the persisted vector index file |
Automated checks
Ran Nov 13, 2026Full report →Passed our automated checks. That is not a security audit: read the code and give the server the narrowest access it needs. How checks work
- Source repository linked and reachablePass
- Open source license (OSI)Pass
- Commit or release in the last yearPass
- Package name not close to a popular packagePass
- Remote endpoint uses HTTPSNot checked
- Destructive tools are labelledPass
- No hidden instructions to the modelPass
- No critical advisory in the package or its dependenciesPass
README
View on GitHubmcp-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
<img src>; 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 <token>. 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:<hash-prefix>.
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 <img> 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:<img src="/6255696/docs/17772862/images/27211966">— 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 anx-itglue-webhook-signatureHMAC-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 <ITGLUE_WEBHOOK_SECRET>(or anx-refresh-secretheader, or an admin token). Body{"document_id": "123"}refreshes one document; an empty body re-crawls every indexed organization. Returns202and processes in the background.
Configuration reference
| Variable | Default | Purpose |
|---|---|---|
ITGLUE_API_KEY |
— | Server-wide IT Glue API key |
ITGLUE_REGION |
us |
us, eu, or au |
ITGLUE_BASE_URL |
per region | Override the API base URL |
TRANSPORT |
stdio |
stdio or http |
PORT |
3000 |
HTTP port |
MCP_TOKENS_VIEWER/EDITOR/ADMIN |
— | label:token,label:token per role |
CLIENT_ITGLUE_KEYS |
with-token |
BYOK policy: disabled, with-token, open |
ALLOWED_ORIGINS |
— | Extra browser origins allowed on /mcp (comma-separated). Requests without an Origin header and localhost origins always pass; other browser origins are rejected with 403 |
ITGLUE_ADVANCED_TOOLSET |
false |
true/1 registers the advanced toolset (itglue_get, itglue_find_endpoint) |
ITGLUE_WEBHOOK_SECRET |
— | Webhook signature + /index/refresh secret |
VECTOR_INDEX_PATH |
./vector-index.json |
Vector index file |
OPENAI_API_KEY |
— | Enables vector search (OpenAI) |
AZURE_OPENAI_API_KEY / AZURE_OPENAI_ENDPOINT / AZURE_OPENAI_API_VERSION |
— | Enables vector search (Azure OpenAI) |
EMBEDDING_MODEL |
text-embedding-3-small |
Embedding model / Azure deployment |
CLI flags --transport, --port, --region, --base-url, --advanced override the environment. Run mcp-itglue --help for details.
Notes & limits
- IT Glue rate limit: 3000 requests / 5 minutes per key.
- The IT Glue documents API is only partially documented; document/section endpoints follow observed API behavior.
- Flexible-asset trait updates replace the whole traits object — the update tool's description warns the model to send all traits back.
- List tools return summary fields per item (in both text and
structuredContent) so default page sizes stay within client token limits; theitglue_get_*tools return the complete record. - IT Glue has no user impersonation: a given API key always acts as itself. RBAC here controls what tool calls a session may make; BYOK delegates to IT Glue's own key permissions.
Development
npm install
npm run dev # stdio via tsx
npm run dev:http # http via tsx
npm test # vitest
npm run build # tsc → dist/
Author
Built by Eugene Samotija (@selic) — defency.net. More projects: github.com/selic · LinkedIn
License
IT Glue MCP questions
How do I add IT Glue MCP to Claude Code?
Run claude mcp add --env 'ITGLUE_API_KEY=<YOUR_ITGLUE_API_KEY>' --env 'AZURE_OPENAI_API_KEY=<YOUR_AZURE_OPENAI_API_KEY>' --env 'AZURE_STORAGE_CONNECTION_STRING=<YOUR_AZURE_STORAGE_CONNECTION_STRING>' --env 'OPENAI_API_KEY=<YOUR_OPENAI_API_KEY>' mcp-itglue -- npx -y mcp-itglue in your terminal. Add --scope user to make it available in every project.
How do I add IT Glue MCP to Cursor?
Open ~/.cursor/mcp.json and add the server under mcpServers, using the Cursor config shown in the install section above.
What tools does IT Glue MCP provide?
It exposes 11 tools, including itglue_list_document_folders, itglue_get_document_image, itglue_list_attachments, itglue_create_document_image, itglue_create_attachment.
How can I use semantic search with IT Glue?
You can use semantic vector search by configuring an embedding provider like OpenAI or Azure OpenAI and running the build vector index tool.
Can I use my own IT Glue API key?
Yes, clients can provide their own IT Glue API key per session using the Bring Your Own Key (BYOK) feature.
How does the server handle access control?
The server uses role-based access control (RBAC) with viewer, editor, and admin tokens to determine which tools are visible and accessible to a session.
How do I upload images into a document?
You can upload images using the create document image tool from a base64 string, a URL, or a local path, and then embed them using the returned HTML tag.