Skip to main content
Glama
jamesdeane2

MCP IT Glue Server

by jamesdeane2

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ITGLUE_API_KEYYesYour IT Glue API key (required).
ITGLUE_API_URLNoIT Glue API base URL.https://api.itglue.com
ITGLUE_TIMEOUTNoRequest timeout in seconds.30.0
ITGLUE_MAX_RETRIESNoMaximum retry attempts.3

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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_organizationsA

List organizations from IT Glue.

Args: name: Filter by organization name (partial match) organization_type_id: Filter by organization type ID organization_status_id: Filter by organization status ID page: Page number (starts at 1) page_size: Number of results per page (max 1000) output_format: Output format - "full" (all fields), "compact" (key fields only), or "summary" (counts and IDs only). Default: compact save_to_file: If True, saves full results to a temp file and returns the path for jq processing

Returns: JSON string with list of organizations

get_organizationB

Get a specific organization by ID.

Args: organization_id: The IT Glue organization ID

Returns: JSON string with organization details

search_organizationsA

Search for organizations by name.

Args: query: Search query string limit: Maximum number of results (default 10, max 100) output_format: Output format - "full", "compact" (default), or "summary" save_to_file: If True, saves full results to a temp file for jq processing

Returns: JSON string with matching organizations

create_organizationB

Create a new organization in IT Glue.

Args: name: Organization name (required) description: Organization description organization_type_id: Organization type ID organization_status_id: Organization status ID quick_notes: Quick notes for the organization

Returns: JSON string with the created organization

update_organizationA

Update an existing organization in IT Glue.

Args: organization_id: The IT Glue organization ID name: New organization name description: New organization description organization_type_id: New organization type ID organization_status_id: New organization status ID quick_notes: New quick notes

Returns: JSON string with the updated organization

list_configurationsA

List configurations (devices/assets) from IT Glue.

Args: organization_id: Filter by organization ID name: Filter by configuration name (partial match) hostname: Filter by hostname primary_ip: Filter by primary IP address serial_number: Filter by serial number configuration_type_id: Filter by configuration type ID configuration_status_id: Filter by configuration status ID page: Page number (starts at 1) page_size: Number of results per page (max 1000) output_format: Output format - "full" (all fields), "compact" (key fields only), or "summary" (counts and IDs only). Default: compact save_to_file: If True, saves full results to a temp file and returns the path for jq processing

Returns: JSON string with list of configurations

get_configurationC

Get a specific configuration by ID.

Args: configuration_id: The IT Glue configuration ID

Returns: JSON string with configuration details

search_configurationsA

Search for configurations by name or hostname.

Args: query: Search query string (matches name or hostname) organization_id: Optional organization ID to limit search limit: Maximum number of results (default 10, max 100) output_format: Output format - "full", "compact" (default), or "summary" save_to_file: If True, saves full results to a temp file for jq processing

Returns: JSON string with matching configurations

create_configurationC

Create a new configuration (device/asset) in IT Glue.

Args: organization_id: Organization ID (required) name: Configuration name (required) configuration_type_id: Configuration type ID (required) hostname: Device hostname primary_ip: Primary IP address mac_address: MAC address serial_number: Serial number asset_tag: Asset tag configuration_status_id: Configuration status ID manufacturer_id: Manufacturer ID model_id: Model ID operating_system_id: Operating system ID operating_system_notes: OS notes notes: General notes

Returns: JSON string with the created configuration

update_configurationB

Update an existing configuration in IT Glue.

Args: configuration_id: The IT Glue configuration ID name: New configuration name hostname: New hostname primary_ip: New primary IP address mac_address: New MAC address serial_number: New serial number asset_tag: New asset tag configuration_type_id: New configuration type ID configuration_status_id: New configuration status ID manufacturer_id: New manufacturer ID model_id: New model ID operating_system_id: New operating system ID operating_system_notes: New OS notes notes: New general notes

Returns: JSON string with the updated configuration

list_passwordsA

List passwords from IT Glue (without password values).

Args: organization_id: Filter by organization ID name: Filter by password name (partial match) password_category_id: Filter by password category ID url: Filter by URL page: Page number (starts at 1) page_size: Number of results per page (max 1000) output_format: Output format - "full" (all fields), "compact" (key fields only), or "summary" (counts and IDs only). Default: compact save_to_file: If True, saves full results to a temp file and returns the path for jq processing

Returns: JSON string with list of passwords (password values not included)

get_passwordA

Get a specific password by ID.

Args: password_id: The IT Glue password ID show_password: Whether to include the actual password value

Returns: JSON string with password details

search_passwordsA

Search for passwords by name.

Args: query: Search query string organization_id: Optional organization ID to limit search limit: Maximum number of results (default 10, max 100) output_format: Output format - "full", "compact" (default), or "summary" save_to_file: If True, saves full results to a temp file for jq processing

Returns: JSON string with matching passwords (password values not included)

create_passwordA

Create a new password entry in IT Glue.

Args: organization_id: Organization ID (required) name: Password entry name (required) password: The password value (required) username: Associated username url: Associated URL password_category_id: Password category ID password_folder_id: Password folder ID notes: Additional notes resource_type: Related resource type (e.g., 'Configuration') resource_id: Related resource ID otp_secret: TOTP secret key (Base32 encoded, min 16 chars) for 2FA

Returns: JSON string with the created password entry (password value not included)

update_passwordA

Update an existing password entry in IT Glue.

Args: password_id: The IT Glue password ID name: New password entry name password: New password value username: New username url: New URL password_category_id: New password category ID password_folder_id: New password folder ID notes: New notes otp_secret: TOTP secret key (Base32 encoded, min 16 chars) for 2FA

Returns: JSON string with the updated password entry (password value not included)

delete_passwordB

Delete a password entry from IT Glue.

Args: password_id: The IT Glue password ID

Returns: JSON string with deletion confirmation

list_contactsA

List contacts from IT Glue.

Args: organization_id: Filter by organization ID first_name: Filter by first name (partial match) last_name: Filter by last name (partial match) title: Filter by job title (partial match) contact_type_id: Filter by contact type ID important: Filter by important flag page: Page number (starts at 1) page_size: Number of results per page (max 1000) output_format: Output format - "full" (all fields), "compact" (key fields only), or "summary" (counts and IDs only). Default: compact save_to_file: If True, saves full results to a temp file and returns the path for jq processing

Returns: JSON string with list of contacts

get_contactA

Get a specific contact by ID.

Args: contact_id: The IT Glue contact ID

Returns: JSON string with contact details

search_contactsA

Search for contacts by name.

Args: query: Search query string (searches first and last name) organization_id: Optional organization ID to limit search limit: Maximum number of results (default 10, max 100) output_format: Output format - "full", "compact" (default), or "summary" save_to_file: If True, saves full results to a temp file for jq processing

Returns: JSON string with matching contacts

create_contactC

Create a new contact in IT Glue.

Args: organization_id: Organization ID (required) first_name: Contact first name (required) last_name: Contact last name (required) contact_type_id: Contact type ID location_id: Location ID title: Job title important: Whether this is an important contact notes: Additional notes contact_emails: List of email objects with 'value' and optional 'label_name', 'primary' contact_phones: List of phone objects with 'value' and optional 'label_name', 'primary', 'extension'

Returns: JSON string with the created contact

update_contactC

Update an existing contact in IT Glue.

Args: contact_id: The IT Glue contact ID first_name: New first name last_name: New last name contact_type_id: New contact type ID location_id: New location ID title: New job title important: New important flag notes: New notes contact_emails: New list of email objects contact_phones: New list of phone objects

Returns: JSON string with the updated contact

delete_contactC

Delete a contact from IT Glue.

Args: contact_id: The IT Glue contact ID

Returns: JSON string with deletion confirmation

list_flexible_asset_typesA

List all flexible asset type definitions (schemas).

Flexible asset types define the structure/schema for custom documentation like "Server Documentation", "Network Diagrams", "Vendor Contacts", etc.

Args: enabled: Filter by enabled status page: Page number (starts at 1) page_size: Number of results per page (max 1000) output_format: Output format - "full" (all fields), "compact" (key fields only), or "summary" (counts and IDs only). Default: compact save_to_file: If True, saves full results to a temp file and returns the path for jq processing

Returns: JSON string with list of flexible asset types

get_flexible_asset_typeB

Get a specific flexible asset type by ID.

Args: type_id: The flexible asset type ID include_fields: Whether to include field definitions

Returns: JSON string with the flexible asset type details

list_flexible_asset_fieldsA

List field definitions for a flexible asset type.

Note: This uses the include mechanism on the flexible asset type endpoint since IT Glue doesn't expose a direct /flexible_asset_fields filter endpoint.

Args: flexible_asset_type_id: The flexible asset type ID output_format: Output format - "full" (all fields), "compact" (key fields only), or "summary" (counts and IDs only). Default: compact save_to_file: If True, saves full results to a temp file and returns the path for jq processing

Returns: JSON string with list of field definitions including name_key for trait mapping

list_flexible_assetsA

List flexible asset instances.

Args: flexible_asset_type_id: Filter by flexible asset type organization_id: Filter by organization name: Filter by name (partial match) archived: Filter by archived status page: Page number (starts at 1) page_size: Number of results per page (max 1000) output_format: Output format - "full" (all fields), "compact" (key fields only), or "summary" (counts and IDs only). Default: compact save_to_file: If True, saves full results to a temp file and returns the path for jq processing

Returns: JSON string with list of flexible assets

get_flexible_assetC

Get a specific flexible asset by ID.

Args: asset_id: The flexible asset ID

Returns: JSON string with the flexible asset details including all traits

search_flexible_assetsA

Search for flexible assets by name.

Args: query: Search query string flexible_asset_type_id: Optional type filter organization_id: Optional organization filter limit: Maximum number of results (default 10, max 100) output_format: Output format - "full", "compact" (default), or "summary" save_to_file: If True, saves full results to a temp file for jq processing

Returns: JSON string with matching flexible assets

create_flexible_assetA

Create a new flexible asset.

Args: organization_id: Organization ID (required) flexible_asset_type_id: Flexible asset type ID (required) traits: Dictionary of field values matching the type's schema. Keys should match field names, values should match field types.

Returns: JSON string with the created flexible asset

update_flexible_assetA

Update an existing flexible asset.

Args: asset_id: The flexible asset ID traits: Updated field values (merged with existing traits) archived: Set archived status

Returns: JSON string with the updated flexible asset

delete_flexible_assetC

Delete a flexible asset.

Args: asset_id: The flexible asset ID

Returns: JSON string with deletion confirmation

get_organization_flexible_assetsA

Get all flexible assets for an organization.

Args: organization_id: The organization ID flexible_asset_type_id: Optional filter by type include_archived: Whether to include archived assets page: Page number (starts at 1) page_size: Number of results per page (max 1000) output_format: Output format - "full" (all fields), "compact" (key fields only), or "summary" (counts and IDs only). Default: compact save_to_file: If True, saves full results to a temp file and returns the path for jq processing

Returns: JSON string with the organization's flexible assets

list_checklistsA

List checklists from IT Glue.

Args: organization_id: Filter by organization ID completed: Filter by completion status assignee_id: Filter by assignee user ID checklist_template_id: Filter by template ID include_tasks: Whether to include checklist tasks page: Page number (starts at 1) page_size: Number of results per page (max 1000) output_format: Output format - "full" (all fields), "compact" (key fields only), or "summary" (counts and IDs only). Default: compact save_to_file: If True, saves full results to a temp file and returns the path for jq processing

Returns: JSON string with list of checklists

get_checklistA

Get a specific checklist by ID.

Args: checklist_id: The checklist ID include_tasks: Whether to include checklist tasks

Returns: JSON string with checklist details

get_organization_checklistsB

Get all checklists for a specific organization.

Args: organization_id: The organization ID completed: Filter by completion status include_tasks: Whether to include checklist tasks page: Page number (starts at 1) page_size: Number of results per page (max 1000) output_format: Output format - "full" (all fields), "compact" (key fields only), or "summary" (counts and IDs only). Default: compact save_to_file: If True, saves full results to a temp file and returns the path for jq processing

Returns: JSON string with the organization's checklists

update_checklistC

Update an existing checklist.

Args: checklist_id: The checklist ID name: New checklist name description: New checklist description completed: Mark checklist as completed/incomplete due_date: New due date (YYYY-MM-DD) assignee_id: New assignee user ID restricted: New restricted status

Returns: JSON string with the updated checklist

complete_checklistC

Mark a checklist as completed.

Args: checklist_id: The checklist ID

Returns: JSON string with the updated checklist

uncomplete_checklistB

Mark a checklist as incomplete.

Args: checklist_id: The checklist ID

Returns: JSON string with the updated checklist

delete_checklistsA

Delete multiple checklists.

Args: checklist_ids: List of checklist IDs to delete

Returns: JSON string with deletion confirmation

list_incomplete_checklistsA

List incomplete checklists, optionally filtered by organization.

Args: organization_id: Optional organization ID filter overdue_only: If True, only return checklists past their due date page: Page number (starts at 1) page_size: Number of results per page (max 1000) output_format: Output format - "full" (all fields), "compact" (key fields only), or "summary" (counts and IDs only). Default: compact save_to_file: If True, saves full results to a temp file and returns the path for jq processing

Returns: JSON string with list of incomplete checklists

list_checklist_templatesA

List all checklist templates.

Checklist templates are reusable checklists that can be instantiated for specific organizations. Use these template IDs when creating checklists with create_checklist(checklist_template_id=...).

Args: page: Page number (starts at 1) page_size: Number of results per page (max 1000) output_format: Output format - "full" (all fields), "compact" (key fields only), or "summary" (counts and IDs only). Default: compact save_to_file: If True, saves full results to a temp file and returns the path for jq processing

Returns: JSON string with list of checklist templates

get_checklist_templateB

Get a specific checklist template by ID.

Args: template_id: The checklist template ID

Returns: JSON string with template details

jwt_token_statusA

Check the status of the cached JWT token.

Returns information about the currently cached JWT token including whether it's valid, when it expires, and the authenticated user.

Returns: JSON string with token status

jwt_clear_tokenA

Clear the cached JWT token.

Use this if you need to re-authenticate with a different account or if the token is causing issues.

Returns: Confirmation message

browser_keep_openA

Enable or disable browser persistence after authentication.

When enabled (True), the browser window stays open after capturing authentication tokens. This is useful when you have multiple operations that need authentication - you only need to log in once per session.

When disabled (False, the default), the browser closes automatically after each authentication capture.

Args: enabled: True to keep browser open after auth, False to close it

Returns: Confirmation of the new setting

browser_statusB

Check the current browser persistence status.

Returns information about:

  • Whether browser persistence is enabled

  • Whether a browser is currently open

Returns: JSON string with browser status

browser_closeA

Close the persistent browser if it's open.

Use this to manually close the browser when you're done with operations that require authentication. Only needed when browser persistence is enabled (browser_keep_open enabled=True).

Returns: Confirmation message

create_checklist_jwtA

Create a new checklist using JWT authentication.

This tool uses JWT authentication (captured from browser session) instead of API key authentication. This is REQUIRED for checklist creation because IT Glue's API key auth doesn't support it.

If no valid JWT token is cached, this will open a browser window for SAML authentication.

Args: organization_id: Organization ID (required) name: Checklist name description: Checklist description checklist_template_id: Optional template ID to create from due_date: Due date in ISO format (YYYY-MM-DD) assignee_id: User ID to assign the checklist to restricted: Whether the checklist is restricted

Returns: JSON string with the created checklist

create_checklist_task_jwtA

Create a new task on a checklist using JWT authentication.

This tool uses JWT authentication (captured from browser session) instead of API key authentication. This is REQUIRED for task creation because IT Glue's public API doesn't expose the checklist_tasks POST endpoint.

If no valid JWT token is cached, this will open a browser window for SAML authentication.

Args: checklist_id: Checklist ID to add the task to (required) name: Task name (required) description: Task description due_date: Due date in ISO format (YYYY-MM-DD) assignee_id: User ID to assign the task to position: Position/order of the task in the list completed: Whether the task is already completed (default: False)

Returns: JSON string with the created task

update_checklist_task_jwtA

Update an existing checklist task using JWT authentication.

This tool uses JWT authentication because IT Glue's public API doesn't support task modification.

Args: task_id: Task ID to update (required) name: New task name description: New task description due_date: New due date in ISO format (YYYY-MM-DD) assignee_id: New assignee user ID position: New position/order in the list completed: New completion status

Returns: JSON string with the updated task

delete_checklist_task_jwtB

Delete a checklist task using JWT authentication.

This tool uses JWT authentication because IT Glue's public API doesn't support task deletion.

Args: task_id: Task ID to delete

Returns: JSON string with deletion confirmation

complete_checklist_task_jwtA

Mark a checklist task as completed using JWT authentication.

Args: task_id: Task ID to complete

Returns: JSON string with the updated task

uncomplete_checklist_task_jwtA

Mark a checklist task as not completed using JWT authentication.

Args: task_id: Task ID to mark as incomplete

Returns: JSON string with the updated task

create_checklist_from_template_jwtA

Create a checklist from a template using JWT authentication.

This tool uses JWT authentication (captured from browser session) instead of API key authentication. This is REQUIRED for checklist creation because IT Glue's API key auth doesn't support it.

If no valid JWT token is cached, this will open a browser window for SAML authentication.

Args: organization_id: Organization ID checklist_template_id: Template ID to create from name: Optional custom name (uses template name if not provided) due_date: Due date in ISO format (YYYY-MM-DD) assignee_id: User ID to assign the checklist to

Returns: JSON string with the created checklist

list_documentsA

List documents from IT Glue.

Args: organization_id: Filter by organization ID name: Filter by document name (partial match) document_folder_id: Filter by folder ID page: Page number (starts at 1) page_size: Number of results per page (max 1000) output_format: Output format - "full" (all fields), "compact" (key fields only), or "summary" (counts and IDs only). Default: compact save_to_file: If True, saves full results to a temp file and returns the path for jq processing

Returns: JSON string with list of documents

get_documentB

Get a specific document by ID.

Args: document_id: The document ID

Returns: JSON string with document details including content

search_documentsB

Search for documents by name.

Args: query: Search query string organization_id: Optional organization filter limit: Maximum number of results (default 10, max 100) output_format: Output format - "full", "compact" (default), or "summary" save_to_file: If True, saves full results to a temp file for jq processing

Returns: JSON string with matching documents

create_documentA

Create a new document in IT Glue.

Args: organization_id: Organization ID (required) name: Document name/title (required) content: Document content as HTML (required) document_folder_id: Optional folder ID to place document in public: Whether the document is publicly visible (default False)

Returns: JSON string with the created document

delete_documentA

Delete a document from IT Glue.

Args: document_id: The document ID to delete

Returns: JSON string with deletion confirmation

update_documentC

Update an existing document.

Args: document_id: The document ID name: New document name content: New document content document_folder_id: New folder ID public: New public visibility status

Returns: JSON string with the updated document

get_organization_documentsA

Get all documents for a specific organization.

Args: organization_id: The organization ID folder_id: Optional folder filter page: Page number (starts at 1) page_size: Number of results per page (max 1000) output_format: Output format - "full" (all fields), "compact" (key fields only), or "summary" (counts and IDs only). Default: compact save_to_file: If True, saves full results to a temp file and returns the path for jq processing

Returns: JSON string with the organization's documents

list_document_foldersA

List document folders from IT Glue.

Args: organization_id: Filter by organization ID parent_folder_id: Filter by parent folder ID page: Page number (starts at 1) page_size: Number of results per page (max 1000) output_format: Output format - "full" (all fields), "compact" (key fields only), or "summary" (counts and IDs only). Default: compact save_to_file: If True, saves full results to a temp file and returns the path for jq processing

Returns: JSON string with list of document folders

get_document_folderC

Get a specific document folder by ID.

Args: folder_id: The document folder ID

Returns: JSON string with folder details

session_statusA

Check the status of the cached session for document operations.

Returns information about the currently cached session including tenant subdomain and age.

Note: This checks for cached session data but cannot validate server-side session state. If operations fail with auth errors, run capture_session.sh to re-authenticate.

Returns: JSON string with session status

session_clearA

Clear the cached session for document operations.

Use this if you need to re-authenticate or if the session is causing issues.

Returns: Confirmation message

session_browser_keep_openA

Enable or disable browser persistence for session authentication.

When enabled (True), the Chromium browser window stays open after capturing session data. This is useful when you have multiple document operations - you only need to log in once per session.

When disabled (False, the default), the browser closes automatically after each session capture.

Note: This is separate from jwt_browser_keep_open which controls the Chromium browser for JWT/checklist operations.

Args: enabled: True to keep browser open after auth, False to close it

Returns: Confirmation of the new setting

session_browser_statusA

Check the current session browser persistence status.

Returns information about:

  • Whether browser persistence is enabled for session auth

  • Whether a Chromium browser is currently open

Returns: JSON string with browser status

session_browser_closeA

Close the persistent Chromium browser if it's open.

Use this to manually close the browser when you're done with document operations that require session authentication. Only needed when browser persistence is enabled.

Returns: Confirmation message

create_document_jwtA

Create a new document with content using session authentication.

This tool uses session authentication (cookies + XSRF token from browser) to create documents with content. This is REQUIRED because IT Glue's public API doesn't persist document content.

Two-step process:

  1. Creates document shell via JWT/API

  2. Adds content via internal web API

If no valid session is cached, this will return an error asking you to run the session capture script.

Args: organization_id: Organization ID (required) name: Document name/title (required) content: Document content as HTML (required) document_folder_id: Optional folder ID to place document in public: Whether the document is publicly visible (default False)

Returns: JSON string with the created document

upload_file_to_itglueA

Upload a file to IT Glue Documents (GlueFiles).

This uploads a file to an organization's Documents section using session authentication. Supports any file type.

If no valid session is cached, this will return an error asking you to run the session capture script.

Args: organization_id: Organization ID to upload to (required) file_path: Local path to the file to upload (required) filename: Override filename (optional, defaults to original filename)

Returns: JSON string with upload result

update_document_jwtA

Update an existing document's content using session authentication.

This tool uses session authentication (cookies + XSRF token from browser) to update document content. This is REQUIRED because IT Glue's public API doesn't persist document content.

If no valid session is cached, this will return an error asking you to run the session capture script.

Args: organization_id: Organization ID (required - needed for internal API) document_id: The document ID (required) name: Document name (required - needed for update) content: New document content as HTML (required) public: Whether the document is publicly visible (default False)

Returns: JSON string with the updated document

list_locationsB

List locations from IT Glue.

Args: organization_id: Filter by organization ID name: Filter by location name (partial match) city: Filter by city region_id: Filter by region/state ID country_id: Filter by country ID primary: Filter by primary location status page: Page number (starts at 1) page_size: Number of results per page (max 1000) output_format: Output format - "full" (all fields), "compact" (key fields only), or "summary" (counts and IDs only). Default: compact save_to_file: If True, saves full results to a temp file and returns the path for jq processing

Returns: JSON string with list of locations

get_locationA

Get a specific location by ID.

Args: location_id: The location ID

Returns: JSON string with location details

search_locationsB

Search for locations by name.

Args: query: Search query string organization_id: Optional organization filter limit: Maximum number of results (default 10, max 100) output_format: Output format - "full", "compact" (default), or "summary" save_to_file: If True, saves full results to a temp file for jq processing

Returns: JSON string with matching locations

create_locationB

Create a new location.

Args: organization_id: Organization ID (required) name: Location name (required) address_1: Street address line 1 address_2: Street address line 2 city: City name region_id: Region/state ID postal_code: Postal/ZIP code country_id: Country ID phone: Phone number fax: Fax number notes: Additional notes primary: Whether this is the primary location

Returns: JSON string with the created location

update_locationB

Update an existing location.

Args: location_id: The location ID name: New location name address_1: New street address line 1 address_2: New street address line 2 city: New city name region_id: New region/state ID postal_code: New postal/ZIP code country_id: New country ID phone: New phone number fax: New fax number notes: New notes primary: New primary status

Returns: JSON string with the updated location

delete_locationC

Delete a location.

Args: location_id: The location ID

Returns: JSON string with deletion confirmation

get_organization_locationsA

Get all locations for a specific organization.

Args: organization_id: The organization ID page: Page number (starts at 1) page_size: Number of results per page (max 1000) output_format: Output format - "full" (all fields), "compact" (key fields only), or "summary" (counts and IDs only). Default: compact save_to_file: If True, saves full results to a temp file and returns the path for jq processing

Returns: JSON string with the organization's locations

list_domainsA

List domains from IT Glue.

Args: organization_id: Filter by organization ID name: Filter by domain name (partial match) page: Page number (starts at 1) page_size: Number of results per page (max 1000) output_format: Output format - "full" (all fields), "compact" (key fields only), or "summary" (counts and IDs only). Default: compact save_to_file: If True, saves full results to a temp file and returns the path for jq processing

Returns: JSON string with list of domains

get_domainB

Get a specific domain by ID.

Args: domain_id: The domain ID

Returns: JSON string with domain details

search_domainsA

Search for domains by name.

Args: query: Search query string organization_id: Optional organization filter limit: Maximum number of results (default 10, max 100) output_format: Output format - "full", "compact" (default), or "summary" save_to_file: If True, saves full results to a temp file for jq processing

Returns: JSON string with matching domains

get_organization_domainsA

Get all domains for a specific organization.

Args: organization_id: The organization ID page: Page number (starts at 1) page_size: Number of results per page (max 1000) output_format: Output format - "full" (all fields), "compact" (key fields only), or "summary" (counts and IDs only). Default: compact save_to_file: If True, saves full results to a temp file and returns the path for jq processing

Returns: JSON string with the organization's domains

list_expiring_domainsA

List domains expiring within a specified number of days.

Args: days: Number of days to look ahead (default 30) organization_id: Optional organization filter page: Page number (starts at 1) page_size: Number of results per page (max 1000) output_format: Output format - "full" (all fields), "compact" (key fields only), or "summary" (counts and IDs only). Default: compact save_to_file: If True, saves full results to a temp file and returns the path for jq processing

Returns: JSON string with domains expiring soon

list_related_itemsA

List items related to a specific resource.

Args: resource_type: The type of resource (e.g., 'configurations', 'contacts', 'flexible-assets') resource_id: The ID of the resource page: Page number (starts at 1) page_size: Number of results per page (max 1000)

Returns: JSON string with list of related items

Valid resource types: checklists, checklist-templates, configurations, contacts, documents, domains, flexible-assets, locations, passwords, ssl-certificates, tickets

create_related_itemB

Create a relationship between two resources.

Args: source_type: The type of the source resource source_id: The ID of the source resource destination_type: The type of the destination resource destination_id: The ID of the destination resource notes: Optional notes about the relationship

Returns: JSON string with the created relationship

Valid resource types: checklists, checklist-templates, configurations, contacts, documents, domains, flexible-assets, locations, passwords, ssl-certificates, tickets

update_related_itemA

Update a related item (currently only notes can be updated).

Args: source_type: The type of the source resource source_id: The ID of the source resource related_item_id: The ID of the related item to update notes: New notes for the relationship

Returns: JSON string with the updated related item

delete_related_itemsC

Delete relationships between resources.

Args: source_type: The type of the source resource source_id: The ID of the source resource related_item_ids: List of related item IDs to delete

Returns: JSON string with deletion confirmation

get_configuration_relationshipsA

Get all items related to a specific configuration (device/asset).

This is a convenience method for a common use case.

Args: configuration_id: The configuration ID

Returns: JSON string with all related items

get_contact_relationshipsA

Get all items related to a specific contact.

This is a convenience method for a common use case.

Args: contact_id: The contact ID

Returns: JSON string with all related items

get_flexible_asset_relationshipsC

Get all items related to a specific flexible asset.

This is a convenience method for a common use case.

Args: flexible_asset_id: The flexible asset ID

Returns: JSON string with all related items

list_manufacturersA

List all manufacturers.

Manufacturers are used when creating configurations to specify the device manufacturer (e.g., Dell, HP, Cisco).

Args: name: Filter by name (partial match) page: Page number (starts at 1) page_size: Number of results per page (max 1000)

Returns: JSON string with list of manufacturers

search_manufacturersB

Search for manufacturers by name.

Args: query: Search query string limit: Maximum number of results (default 10, max 100)

Returns: JSON string with matching manufacturers

list_modelsB

List all models.

Models are used when creating configurations to specify the device model (e.g., PowerEdge R740, ProLiant DL380).

Args: manufacturer_id: Filter by manufacturer ID name: Filter by name (partial match) page: Page number (starts at 1) page_size: Number of results per page (max 1000)

Returns: JSON string with list of models

search_modelsA

Search for models by name.

Args: query: Search query string manufacturer_id: Optional manufacturer filter limit: Maximum number of results (default 10, max 100)

Returns: JSON string with matching models

list_operating_systemsA

List all operating systems.

Operating systems are used when creating configurations to specify the device's OS (e.g., Windows Server 2019, Ubuntu 22.04).

Args: name: Filter by name (partial match) platform: Filter by platform (e.g., 'Windows', 'Linux', 'macOS') page: Page number (starts at 1) page_size: Number of results per page (max 1000)

Returns: JSON string with list of operating systems

search_operating_systemsA

Search for operating systems by name.

Args: query: Search query string limit: Maximum number of results (default 10, max 100)

Returns: JSON string with matching operating systems

list_configuration_typesA

List all configuration types.

Configuration types categorize devices/assets (e.g., Server, Workstation, Network Device, Printer).

Args: name: Filter by name (partial match) page: Page number (starts at 1) page_size: Number of results per page (max 1000)

Returns: JSON string with list of configuration types

list_configuration_statusesA

List all configuration statuses.

Configuration statuses indicate the state of a device/asset (e.g., Active, Inactive, Decommissioned).

Args: name: Filter by name (partial match) page: Page number (starts at 1) page_size: Number of results per page (max 1000)

Returns: JSON string with list of configuration statuses

list_contact_typesA

List all contact types.

Contact types categorize contacts (e.g., Primary, Technical, Billing, Emergency).

Args: name: Filter by name (partial match) page: Page number (starts at 1) page_size: Number of results per page (max 1000)

Returns: JSON string with list of contact types

list_organization_typesA

List all organization types.

Organization types categorize organizations (e.g., Customer, Prospect, Vendor, Internal).

Args: name: Filter by name (partial match) page: Page number (starts at 1) page_size: Number of results per page (max 1000)

Returns: JSON string with list of organization types

list_organization_statusesA

List all organization statuses.

Organization statuses indicate the state of an organization (e.g., Active, Inactive, Onboarding).

Args: name: Filter by name (partial match) page: Page number (starts at 1) page_size: Number of results per page (max 1000)

Returns: JSON string with list of organization statuses

list_password_categoriesA

List all password categories.

Password categories organize passwords by type (e.g., Admin, User, Service Account, API Key).

Args: name: Filter by name (partial match) page: Page number (starts at 1) page_size: Number of results per page (max 1000)

Returns: JSON string with list of password categories

list_countriesB

List all countries.

Countries are used when specifying location addresses.

Args: name: Filter by name (partial match) page: Page number (starts at 1) page_size: Number of results per page (max 1000)

Returns: JSON string with list of countries

list_regionsA

List regions/states for a country.

Regions are used when specifying location addresses.

Args: country_id: Country ID to get regions for name: Filter by name (partial match) page: Page number (starts at 1) page_size: Number of results per page (max 1000)

Returns: JSON string with list of regions

get_all_reference_dataA

Get all reference data in a single call.

This is useful for caching reference data locally or understanding what options are available. Returns the first page of each type.

Returns: JSON string with all reference data types

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3/5.0

Scored across 105 tools

Disambiguation2/5

The core list/get/search/create/update/delete tools are distinct, but multiple pairs overlap: create_document/create_document_jwt and update_document/update_document_jwt appear to do the same thing with different auth mechanisms, and get_organization_* tools duplicate list_* with an organization filter. With 105 tools, an agent can easily select the wrong variant.

Naming Consistency3/5

Most resource tools follow a clear list_/get_/search_/create_/update_/delete_ pattern, but auth/session utilities like jwt_clear_token, session_clear, and browser_keep_open break the verb_noun convention. The _jwt suffix is also applied inconsistently, as seen in create_checklist_jwt versus update_checklist, and delete_checklists uses a plural form.

Tool Count1/5

105 tools is far beyond the typical MCP scope and includes many overlapping auth variants, convenience wrappers, and list-versus-get duplicates. Even a comprehensive IT Glue integration could express this surface with far fewer tools.

Completeness3/5

Core resources like contacts, passwords, configurations, flexible assets, locations, and documents have strong CRUD coverage, but organizations and configurations lack delete operations and domains are read-only. Several valid resource types such as tickets and SSL certificates are absent except as related-item references.

Maintenance

ActivityActive
ResponsivenessNo issues