# IT Glue

Lets an AI assistant work with IT Glue documentation: read it, search it by meaning, and make careful edits.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 5
- Author: mspstack
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/mspstack/mcp-itglue
- Updated: 2026-09-16
- HTML: https://affpapa.org/en/nevibecode/mcp/mspstack-it-glue

## What it does

This server exposes the IT Glue API as MCP tools. An assistant can walk organizations, documents and their sections, inspect flexible assets and their fields, drop an image into a document, and attach files to a record's Attachments panel. Vector search finds the right runbook even when your wording differs from the stored text; the index is a local JSON file and embeddings come from OpenAI or Azure OpenAI.

Access is split across viewer, editor and admin bearer tokens. Whatever a role cannot use never shows up in that session's tool list, so a viewer has no create-document tool at all, and the role is re-checked on every call. A client may also send its own IT Glue key in the `x-itglue-api-key` header, and then that key's permissions govern. `CLIENT_ITGLUE_KEYS` sets the policy: `with-token` still demands a bearer token, `open` accepts an IT Glue key on its own, `disabled` rejects the header.

You need an IT Glue API key first (Account → Settings → API Keys). Accounts outside the US should set `ITGLUE_REGION` to `eu` or `au`. With no role tokens configured the server falls back to dev mode and hands everyone admin rights, which is not something to run in production. Sessions are kept in memory, so behind a load balancer run a single instance or add sticky sessions.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `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` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env ITGLUE_API_KEY=<ITGLUE_API_KEY> --env ITGLUE_REGION=<ITGLUE_REGION> --env ITGLUE_BASE_URL=<ITGLUE_BASE_URL> --env OPENAI_API_KEY=<OPENAI_API_KEY> --env AZURE_OPENAI_API_KEY=<AZURE_OPENAI_API_KEY> --transport stdio mspstack-it-glue -- npx -y mcp-itglue
```
Replace <…> with your own values. 9 more environment variables are in the server README

### Codex

**Platform CLI**
```bash
codex mcp add mspstack-it-glue --env ITGLUE_API_KEY=<ITGLUE_API_KEY> --env ITGLUE_REGION=<ITGLUE_REGION> --env ITGLUE_BASE_URL=<ITGLUE_BASE_URL> --env OPENAI_API_KEY=<OPENAI_API_KEY> --env AZURE_OPENAI_API_KEY=<AZURE_OPENAI_API_KEY> -- npx -y mcp-itglue
```
Replace <…> with your own values. 9 more environment variables are in the server README

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "mspstack-it-glue": {
            "command": "npx",
            "args": [
                "-y",
                "mcp-itglue"
            ],
            "env": {
                "ITGLUE_API_KEY": "<ITGLUE_API_KEY>",
                "ITGLUE_REGION": "<ITGLUE_REGION>",
                "ITGLUE_BASE_URL": "<ITGLUE_BASE_URL>",
                "OPENAI_API_KEY": "<OPENAI_API_KEY>",
                "AZURE_OPENAI_API_KEY": "<AZURE_OPENAI_API_KEY>"
            }
        }
    }
}
```
Replace <…> with your own values. 9 more environment variables are in the server README

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "mspstack-it-glue": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "mcp-itglue"
            ],
            "env": {
                "ITGLUE_API_KEY": "<ITGLUE_API_KEY>",
                "ITGLUE_REGION": "<ITGLUE_REGION>",
                "ITGLUE_BASE_URL": "<ITGLUE_BASE_URL>",
                "OPENAI_API_KEY": "<OPENAI_API_KEY>",
                "AZURE_OPENAI_API_KEY": "<AZURE_OPENAI_API_KEY>"
            }
        }
    }
}
```
Replace <…> with your own values. 9 more environment variables are in the server README

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e ITGLUE_API_KEY=<ITGLUE_API_KEY> -e ITGLUE_REGION=<ITGLUE_REGION> -e ITGLUE_BASE_URL=<ITGLUE_BASE_URL> -e OPENAI_API_KEY=<OPENAI_API_KEY> -e AZURE_OPENAI_API_KEY=<AZURE_OPENAI_API_KEY> mspstack-it-glue npx -y mcp-itglue
```
Replace <…> with your own values. 9 more environment variables are in the server README

## When to use it
- find a runbook by meaning instead of an exact phrase
- append a section to an existing document
- upload a screenshot into a document gallery
- attach a file to a configuration record
- give a contractor read-only access

## Example prompts
- Find the backup agent decommissioning runbook in IT Glue
- Create a document called Onboarding Steps under the Acme organization
- Attach `network-diagram.png` to this flexible asset

## Similar
- [developer-portal-design](https://affpapa.org/en/nevibecode/skills/developer-portal-design.md) — skill · 8100 installs
- [ThreatLocker MCP](https://affpapa.org/en/nevibecode/mcp/threatlocker-mcp.md) — MCP server · ★ 63
- [Tactical RMM MCP](https://affpapa.org/en/nevibecode/mcp/tactical-rmm-mcp.md) — MCP server · ★ 63
- [neo4j-security-skill](https://affpapa.org/en/nevibecode/skills/neo4j-security-skill.md) — skill · 824 installs
- [access-control-rbac](https://affpapa.org/en/nevibecode/skills/access-control-rbac.md) — skill · 757 installs
- [ConnectWise Manage](https://affpapa.org/en/nevibecode/mcp/connectwise-manage.md) — MCP server · ★ 28

## Other versions with the same name
- [IT Glue · wyre-ai](https://affpapa.org/en/nevibecode/mcp/it-glue.md) — ★ 17

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
