mcp-itglue
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | HTTP port | 3000 |
| TRANSPORT | No | Transport: stdio or http | stdio |
| ITGLUE_REGION | No | IT Glue region: us, eu, or au | us |
| ITGLUE_API_KEY | Yes | IT Glue API key (required unless BYOK with client keys is enabled) | |
| OPENAI_API_KEY | No | OpenAI API key for vector search | |
| EMBEDDING_MODEL | No | Embedding model or Azure deployment name | text-embedding-3-small |
| ITGLUE_BASE_URL | No | Override the API base URL | |
| MCP_TOKENS_ADMIN | No | Comma-separated label:token pairs for admin role | |
| MCP_TOKENS_EDITOR | No | Comma-separated label:token pairs for editor role | |
| MCP_TOKENS_VIEWER | No | Comma-separated label:token pairs for viewer role | |
| VECTOR_INDEX_PATH | No | Path to vector index file | ./vector-index.json |
| CLIENT_ITGLUE_KEYS | No | BYOK policy: disabled, with-token, or open | with-token |
| AZURE_OPENAI_API_KEY | No | Azure OpenAI API key | |
| AZURE_OPENAI_ENDPOINT | No | Azure OpenAI endpoint | |
| ITGLUE_WEBHOOK_SECRET | No | Webhook signature and index refresh secret | |
| AZURE_OPENAI_API_VERSION | No | Azure OpenAI API version |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| itglue_list_organizationsA | Search and list IT Glue organizations. Use this first to find the organization ID required by document and flexible-asset tools. filter_name matches partially and case-insensitively; filter_id is exact. Results are paginated. List items carry summary fields; use itglue_get_organization for the full record. |
| itglue_get_organizationB | Get a single IT Glue organization by ID. |
| itglue_list_documentsA | List documents in an organization, including documents nested in folders. Returns summary metadata only — use itglue_get_document for content and the full record. filter_name matches partially and case-insensitively. The endpoint returns root-level documents by default, so this tool issues a second query for folder-nested documents and merges the results (up to 2x page_size items). |
| itglue_list_document_foldersA | List the document folders (directories) in an organization, including nested folders. Returns summary metadata only (name, parent folder, document count). Use this to discover a document_folder_id for itglue_create_document, or to browse an organization's document tree. filter_name matches partially and case-insensitively; parent_id is the number in a folder's URL. A folder with parent_id null is top-level. |
| itglue_get_documentA | Get a document by ID with all of its sections and their content. Section content is stored as HTML; markdown output converts it to plain text, with inline images shown as their relative /org/docs/doc/images/ID paths and gallery images listed by ID. If the response is truncated, fetch individual sections with itglue_get_document_section. |
| itglue_create_documentA | Create a new document as a DRAFT in an organization. Add content with itglue_create_document_section, then make it visible with itglue_publish_document. |
| itglue_update_documentA | Rename a document (metadata only). To change content, use itglue_update_document_section. |
| itglue_publish_documentA | Publish a draft document, making it visible to users with access. |
| itglue_delete_documentsA | PERMANENTLY delete one or more documents, including all their sections. This cannot be undone. |
| itglue_list_document_sectionsA | List the sections of a document in position order, with content previews and section IDs (needed for update/delete operations). List items carry summary fields and a bounded content_preview; Gallery/Step items also carry document_gallery_id (the gallery_id for itglue_create_document_image) and their images. Use itglue_get_document_section for full content. |
| itglue_get_document_sectionA | Get one document section with its full content (HTML on the wire; markdown output converts to plain text). Inline images appear as relative paths — keep them verbatim when editing; the JSON record also has rendered_content with temporary S3 URLs for display. |
| itglue_create_document_sectionA | Add a section to a document. Types: Text (HTML content), Heading (content = heading text, level 1-6 required), Gallery (no content — add pictures afterwards with itglue_create_document_image using the new section's document_gallery_id), Step (HTML content, optional duration in minutes). IMAGES: to show a picture in Text/Step HTML, first upload it with itglue_create_document_image and use the returned inline_resource_url verbatim as . Public https:// image links also work; base64/data: URIs and S3 URLs are stripped by IT Glue. Attachments never render in the body. |
| itglue_update_document_sectionA | Update a section's content, heading level, duration, or position. Only provided fields change; the section type cannot be changed. content REPLACES the whole HTML — fetch the current content first and keep existing tags verbatim, or they are lost. To add a new picture, upload it with itglue_create_document_image (or its append_to_section_id shortcut) and embed the returned inline_resource_url; base64/data: URIs and S3 URLs are stripped by IT Glue. |
| itglue_delete_document_sectionA | PERMANENTLY delete one section from a document. This cannot be undone. Useful for restructuring a document's layout. |
| itglue_create_document_imageA | Upload a picture INTO a document — the only way to get an image to render in a document's body (itglue_create_attachment only files it in the Attachments panel). Two placements: (1) INLINE — omit gallery_id; the result carries inline_resource_url, a relative path you must use verbatim as in Text/Step section HTML via itglue_create_document_section or itglue_update_document_section, or pass append_to_section_id to have this tool append the to an existing Text/Step section for you. (2) GALLERY — pass gallery_id (the document_gallery_id shown on a Gallery or Step section) to file the image into that gallery. Never put base64/data: URIs or S3 URLs in section content; IT Glue strips them. Provide exactly one source: upload_id (a file the client PUT via itglue_request_upload — the right choice for anything on the client's disk), url (the server fetches it), file_path (local stdio runs only), or content_base64 (tiny files only). content_base64 must be the exact bytes of a real image file — never write or reconstruct base64 yourself (IT Glue rejects anything ImageMagick cannot decode). file_name needs an extension (e.g. screenshot.png); inferred from url/file_path when omitted. Max 25 MB. |
| itglue_get_document_imageA | Get one document image by ID: file name, size, owning document/gallery, the inline_resource_url to embed it with, and a presigned download URL (valid ~1 hour). Image IDs appear in section HTML as the last path segment of and in Gallery/Step section image lists. |
| itglue_delete_document_imageA | PERMANENTLY delete a document image (all size variants). This cannot be undone. Any tag still referencing it stays in the section HTML until that section is next saved, when IT Glue drops the broken reference — remove the tag yourself with itglue_update_document_section for an immediate clean result. |
| itglue_create_attachmentA | Attach a file (PDF, image, config export, …) to a record (document, flexible asset, configuration, etc.). The file appears in the record's Attachments side panel — it is NOT shown inside a document's body. To place a picture inside a document (inline in a Text/Step section or in a Gallery), use itglue_create_document_image instead. Provide exactly one source: content_base64 (small files only), url (the server fetches it), file_path (local stdio runs only), or upload_id (a file the client PUT via itglue_request_upload — use this for anything on the client's disk). Give file_name with an extension (e.g. network-diagram.pdf) so IT Glue detects the type; it is inferred from url/file_path/upload when omitted. Max 25 MB. |
| itglue_list_attachmentsA | List the attachments on a record (document, flexible asset, configuration, etc.), with attachment IDs (needed for delete), file names, content types, and download URLs. |
| itglue_delete_attachmentA | PERMANENTLY delete an attachment from a record. This cannot be undone. Find the attachment ID with itglue_list_attachments. |
| itglue_list_flexible_asset_typesA | List flexible asset types (the schemas MSPs define in IT Glue, e.g. 'Wireless', 'Applications'). Use this to find the type ID required by itglue_list_flexible_assets. filter_name matches partially and case-insensitively. List items carry summary fields; use itglue_get_flexible_asset_type for field definitions. |
| itglue_get_flexible_asset_typeA | Get a flexible asset type by ID, including its field definitions (name, kind, required) — the trait keys needed to create or update assets of this type. |
| itglue_list_flexible_assetsA | List flexible assets of a given type, optionally restricted to one organization. The type ID is required by the IT Glue API — find it with itglue_list_flexible_asset_types. List items show bounded trait previews (HTML stripped, long values truncated); use itglue_get_flexible_asset for full trait values. |
| itglue_get_flexible_assetA | Get one flexible asset by ID, including all of its traits. |
| itglue_create_flexible_assetA | Create a flexible asset. Traits are the type's fields keyed by their lowercased, hyphenated names (inspect them with itglue_get_flexible_asset_type). All required traits must be provided. |
| itglue_update_flexible_assetA | Update a flexible asset's traits. IMPORTANT: IT Glue replaces the traits object wholesale — fetch the asset first and send back ALL traits, not just the changed ones, or omitted traits are cleared. |
| itglue_delete_flexible_assetA | PERMANENTLY delete a flexible asset. This cannot be undone. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 27 tools
Each tool targets a distinct resource and action, with clear separation between documents, sections, images, attachments, flexible assets, and organizations. Descriptions explicitly contrast similar tools (e.g., itglue_create_attachment vs itglue_create_document_image) to prevent confusion.
All tools follow the consistent itglue_verb_noun pattern using snake_case. Verbs are uniformly get, create, update, delete, list, and publish, and nouns precisely identify the resource (document, document_section, flexible_asset, etc.).
27 tools is above the typical range, but the server covers a broad domain with multiple entities (documents, sections, images, attachments, flexible asset types and assets, organizations). Each tool serves a specific purpose, and the count is justified by the API's complexity, though it is on the heavy side.
The core CRUD lifecycle is well covered for documents, sections, images, attachments, and flexible assets, but there are gaps: document folders only support listing (no create/update/delete), and the referenced itglue_request_upload tool is not exposed in the tool set, creating a missing dependency for upload workflows.