MCP IT Glue Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ITGLUE_API_KEY | Yes | Your IT Glue API key (required). | |
| ITGLUE_API_URL | No | IT Glue API base URL. | https://api.itglue.com |
| ITGLUE_TIMEOUT | No | Request timeout in seconds. | 30.0 |
| ITGLUE_MAX_RETRIES | No | Maximum 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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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:
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:
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:
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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 105 tools
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.
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.
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.
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.