Skip to main content
Glama
IT Glue MCP Server

IT Glue MCP Server

by ddonathan

IT Glue MCP Server

A Model Context Protocol (MCP) server for IT Glue API integration. Enables LLMs to interact with IT Glue documentation including organizations, configurations, passwords, contacts, flexible assets, and more.

Features

  • Organizations: List, get, create, update organizations

  • Configurations: Manage IT assets (servers, workstations, network devices)

  • Passwords: Credential management (with optional password access)

  • Contacts: Manage people associated with organizations

  • Flexible Assets: Custom documentation types with dynamic fields

  • Locations: Physical addresses for organizations

  • Domains: Domain registration tracking

  • Expirations: Track warranties, certificates, and renewals

Installation

npm install
npm run build

Configuration

Environment Variables

Variable

Required

Default

Description

ITGLUE_API_KEY

Yes

-

Your IT Glue API key

ITGLUE_REGION

No

us

API region: us, eu, or au

Getting an API Key

  1. Log into IT Glue as an Administrator

  2. Go to Account > Settings > API Keys

  3. Click + Custom API Key

  4. Give it a name and optionally enable Password Access

  5. Copy the generated key

Note: API keys expire after 90 days of inactivity.

Password Access

The IT Glue API has a separate permission for password access. If your API key doesn't have this permission:

  • You can still list and search passwords

  • You can create and update passwords

  • You cannot retrieve actual password values

Use the itglue_check_password_access tool to verify your access level.

Usage with Claude Desktop

Add to your Claude Desktop configuration (claude_desktop_config.json):

{
  "mcpServers": {
    "itglue": {
      "command": "node",
      "args": ["C:/Users/Dan/GitHub/itglue-mcp-server/dist/index.js"],
      "env": {
        "ITGLUE_API_KEY": "ITG.your-api-key-here"
      }
    }
  }
}

Available Tools

Organizations

  • itglue_list_organizations - List organizations with filtering

  • itglue_get_organization - Get organization by ID

  • itglue_create_organization - Create new organization

  • itglue_update_organization - Update existing organization

Configurations

  • itglue_list_configurations - List configurations (devices/assets)

  • itglue_get_configuration - Get configuration by ID

  • itglue_create_configuration - Create new configuration

  • itglue_update_configuration - Update existing configuration

Passwords

  • itglue_list_passwords - List passwords

  • itglue_get_password - Get password by ID (includes value if permitted)

  • itglue_create_password - Create new password entry

  • itglue_update_password - Update existing password

  • itglue_check_password_access - Check if API key has password access

Contacts

  • itglue_list_contacts - List contacts

  • itglue_get_contact - Get contact by ID

  • itglue_create_contact - Create new contact

  • itglue_update_contact - Update existing contact

Flexible Assets

  • itglue_list_flexible_assets - List flexible assets

  • itglue_get_flexible_asset - Get flexible asset by ID

  • itglue_create_flexible_asset - Create new flexible asset

  • itglue_update_flexible_asset - Update existing flexible asset

  • itglue_list_flexible_asset_types - List all flexible asset types

  • itglue_get_flexible_asset_type - Get flexible asset type with fields

  • itglue_list_flexible_asset_fields - List fields for a type

Locations

  • itglue_list_locations - List locations

  • itglue_get_location - Get location by ID

  • itglue_create_location - Create new location

  • itglue_update_location - Update existing location

Domains

  • itglue_list_domains - List domains

  • itglue_get_domain - Get domain by ID

Expirations

  • itglue_list_expirations - List upcoming expirations

Response Formats

All tools support two response formats via the response_format parameter:

  • markdown (default) - Human-readable formatted output

  • json - Structured JSON for programmatic use

Pagination

List endpoints support pagination:

  • page - Page number (1-indexed)

  • page_size - Items per page (max 1000, default 50)

Response includes pagination metadata:

  • total_count - Total items available

  • has_more - Whether more pages exist

  • next_page - Next page number (if available)

Rate Limits

IT Glue allows 3000 requests per 5-minute window. The server will return a clear error message if you hit the rate limit.

API Regions

IT Glue has separate API endpoints by region:

Region

Base URL

US (default)

https://api.itglue.com

EU

https://api.eu.itglue.com

Australia

https://api.au.itglue.com

Set the ITGLUE_REGION environment variable to match your account's region.

Development

# Install dependencies
npm install

# Build TypeScript
npm run build

# Run in development mode with auto-reload
npm run dev

# Clean build artifacts
npm run clean

License

MIT

Available Tools

31 tools
itglue_check_password_accessCheck IT Glue Password AccessA
Read-onlyIdempotent

Check if the configured API key has password access permission.

The IT Glue API key can be configured with or without password access. Use this tool to verify your access level before attempting password operations.

Returns: Boolean indicating if password access is enabled.

Inputs: no named parameters.

itglue_create_configurationCreate IT Glue ConfigurationB

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

Args:

  • organization_id (number): Organization ID (required)

  • name (string): Configuration name (required)

  • configuration_type_id (number): Type ID

  • configuration_status_id (number): Status ID

  • hostname (string): Hostname

  • primary_ip (string): Primary IP address

  • mac_address (string): MAC address

  • serial_number (string): Serial number

  • asset_tag (string): Asset tag

  • manufacturer_id (number): Manufacturer ID

  • model_id (number): Model ID

  • operating_system_id (number): OS ID

  • notes (string): Notes

  • warranty_expires_at (string): Warranty expiration (YYYY-MM-DD)

  • response_format (string): 'markdown' or 'json'

Returns: The created configuration.

Inputs: organization_id (required), name (required), configuration_type_id, configuration_status_id, +18 more.

itglue_create_contactCreate IT Glue ContactB

Create a new contact in IT Glue.

Args:

  • organization_id (number): Organization ID (required)

  • first_name (string): First name (required)

  • last_name (string): Last name (required)

  • title (string): Job title

  • contact_type_id (number): Contact type ID

  • location_id (number): Location ID

  • important (boolean): Mark as important

  • notes (string): Notes

  • contact_emails (array): Email addresses

  • contact_phones (array): Phone numbers

  • response_format (string): 'markdown' or 'json'

Returns: The created contact.

Inputs: organization_id (required), first_name (required), last_name (required), title, +7 more.

itglue_create_flexible_assetCreate IT Glue Flexible AssetA

Create a new flexible asset in IT Glue.

Before creating, use itglue_list_flexible_asset_types to get the type ID, then itglue_list_flexible_asset_fields to see required trait fields.

Args:

  • organization_id (number): Organization ID (required)

  • flexible_asset_type_id (number): Flexible asset type ID (required)

  • traits (object): Trait values as key-value pairs. Keys are field name-keys.

  • response_format (string): 'markdown' or 'json'

Returns: The created flexible asset.

Inputs: organization_id (required), flexible_asset_type_id (required), traits (required), response_format.

itglue_create_locationCreate IT Glue LocationB

Create a new location in IT Glue.

Args:

  • organization_id (number): Organization ID (required)

  • name (string): Location name (required)

  • primary (boolean): Is this the primary location

  • address_1 (string): Address line 1

  • address_2 (string): Address line 2

  • city (string): City

  • postal_code (string): Postal/ZIP code

  • region_id (number): Region/state ID

  • country_id (number): Country ID

  • phone (string): Phone number

  • fax (string): Fax number

  • notes (string): Notes

  • response_format (string): 'markdown' or 'json'

Returns: The created location.

Inputs: organization_id (required), name (required), primary, address_1, +9 more.

itglue_create_organizationCreate IT Glue OrganizationA

Create a new organization in IT Glue.

Args:

  • name (string): Organization name (required)

  • organization_type_id (number): Organization type ID

  • organization_status_id (number): Organization status ID

  • short_name (string): Short name

  • description (string): Description

  • quick_notes (string): Quick notes

  • alert (string): Alert message

  • response_format (string): 'markdown' or 'json'

Returns: The created organization with its new ID.

Inputs: name (required), organization_type_id, organization_status_id, short_name, +4 more.

itglue_create_passwordCreate IT Glue PasswordB

Create a new password entry in IT Glue.

Args:

  • organization_id (number): Organization ID (required)

  • name (string): Password entry name (required)

  • password_category_id (number): Category ID

  • username (string): Username

  • password (string): Password value

  • url (string): Associated URL

  • notes (string): Notes

  • password_folder_id (number): Folder ID

  • response_format (string): 'markdown' or 'json'

Returns: The created password entry.

Inputs: organization_id (required), name (required), password_category_id, username, +5 more.

itglue_get_configurationGet IT Glue ConfigurationA
Read-onlyIdempotent

Get a single configuration (device/asset) by ID.

Returns detailed information about a configuration including hardware details, network info, warranty status, and related resources.

Args:

  • id (string|number): Configuration ID (required)

  • response_format (string): 'markdown' or 'json'

  • include (array): Related resources to include

Returns: Configuration details.

Inputs: id (required), response_format, include.

itglue_get_contactGet IT Glue ContactA
Read-onlyIdempotent

Get a single contact by ID.

Args:

  • id (string|number): Contact ID (required)

  • response_format (string): 'markdown' or 'json'

Returns: Contact details including emails, phones, and notes.

Inputs: id (required), response_format.

itglue_get_domainGet IT Glue DomainA
Read-onlyIdempotent

Get a single domain by ID.

Args:

  • id (string|number): Domain ID (required)

  • include (array): Include 'passwords' for related credentials

  • response_format (string): 'markdown' or 'json'

Returns: Domain details including registrar and expiration.

Inputs: id (required), response_format, include.

itglue_get_flexible_assetGet IT Glue Flexible AssetA
Read-onlyIdempotent

Get a single flexible asset by ID.

Args:

  • id (string|number): Flexible asset ID (required)

  • include (array): Related resources to include

  • response_format (string): 'markdown' or 'json'

Returns: Flexible asset details including all trait values.

Inputs: id (required), response_format, include.

itglue_get_flexible_asset_typeGet IT Glue Flexible Asset TypeA
Read-onlyIdempotent

Get a single flexible asset type by ID.

Args:

  • id (string|number): Flexible asset type ID (required)

  • include (array): Include 'flexible_asset_fields' to see field definitions

  • response_format (string): 'markdown' or 'json'

Returns: Flexible asset type details and optionally its fields.

Inputs: id (required), response_format, include.

itglue_get_locationGet IT Glue LocationA
Read-onlyIdempotent

Get a single location by ID.

Args:

  • id (string|number): Location ID (required)

  • response_format (string): 'markdown' or 'json'

Returns: Location details including full address.

Inputs: id (required), response_format.

itglue_get_organizationGet IT Glue OrganizationA
Read-onlyIdempotent

Get a single organization by ID.

Returns detailed information about an organization including name, type, status, quick notes, alerts, and links to related resources.

Args:

  • id (string|number): Organization ID (required)

  • response_format (string): 'markdown' or 'json'

Returns: Organization details including all attributes and IT Glue URL.

Inputs: id (required), response_format.

itglue_get_passwordGet IT Glue PasswordA
Read-onlyIdempotent

Get a single password by ID, optionally including the actual password value.

NOTE: Password access requires the API key to have "Password Access" enabled.

Args:

  • id (string|number): Password ID (required)

  • show_password (boolean): Include actual password value (default: true)

  • response_format (string): 'markdown' or 'json'

Returns: Password details including username, URL, and optionally the password value.

Inputs: id (required), response_format, show_password.

itglue_list_configurationsList IT Glue ConfigurationsA
Read-onlyIdempotent

List configurations (devices/assets) in IT Glue with optional filtering.

Configurations represent IT assets like servers, workstations, network devices, and other hardware/software that you document.

Args:

  • page (number): Page number (default: 1)

  • page_size (number): Items per page (default: 50, max: 1000)

  • organization_id (number): Filter by organization

  • name (string): Filter by name (partial match)

  • configuration_type_id (number): Filter by type (Server, Workstation, etc.)

  • configuration_status_id (number): Filter by status

  • serial_number (string): Filter by serial number

  • asset_tag (string): Filter by asset tag

  • rmm_id (string): Filter by RMM integration ID

  • archived (boolean): Filter by archived status

  • sort (string): Sort field

  • include (array): Related resources to include

Returns: List of configurations with details.

Inputs: page, page_size, response_format, organization_id, +12 more.

itglue_list_contactsList IT Glue ContactsA
Read-onlyIdempotent

List contacts in IT Glue with optional filtering.

Contacts represent people associated with organizations - employees, vendors, or other important individuals.

Args:

  • page (number): Page number (default: 1)

  • page_size (number): Items per page (default: 50)

  • organization_id (number): Filter by organization

  • first_name (string): Filter by first name

  • last_name (string): Filter by last name

  • contact_type_id (number): Filter by contact type

  • important (boolean): Filter by important flag

  • sort (string): Sort field

  • response_format (string): 'markdown' or 'json'

Returns: List of contacts with names, titles, and contact information.

Inputs: page, page_size, response_format, organization_id, +7 more.

itglue_list_domainsList IT Glue DomainsA
Read-onlyIdempotent

List domains in IT Glue with optional filtering.

Domains track domain registrations and their expiration dates.

Args:

  • page (number): Page number (default: 1)

  • page_size (number): Items per page (default: 50)

  • organization_id (number): Filter by organization

  • name (string): Filter by domain name

  • sort (string): Sort field (name, expires_on, etc.)

  • include (array): Include 'passwords' for related credentials

  • response_format (string): 'markdown' or 'json'

Returns: List of domains with registrar and expiration info.

Inputs: page, page_size, response_format, organization_id, +4 more.

itglue_list_expirationsList IT Glue ExpirationsA
Read-onlyIdempotent

List upcoming expirations across all resource types.

Useful for tracking warranties, SSL certificates, domain renewals, and other time-sensitive items.

Args:

  • page (number): Page number (default: 1)

  • page_size (number): Items per page (default: 50)

  • organization_id (number): Filter by organization

  • resource_type_name (string): Filter by type (Configuration, Domain, etc.)

  • range (string): Date range - past, today, week, month, quarter, year, all

  • sort (string): Sort field

  • response_format (string): 'markdown' or 'json'

Returns: List of items with expiration dates.

Inputs: page, page_size, response_format, organization_id, +4 more.

itglue_list_flexible_asset_fieldsList IT Glue Flexible Asset FieldsA
Read-onlyIdempotent

List all fields for a specific flexible asset type.

Use this to understand what traits (fields) are available when creating or updating flexible assets of a particular type.

Args:

  • flexible_asset_type_id (number): The flexible asset type ID (required)

  • response_format (string): 'markdown' or 'json'

Returns: List of fields with names, types, and requirements.

Inputs: flexible_asset_type_id (required), response_format.

itglue_list_flexible_assetsList IT Glue Flexible AssetsA
Read-onlyIdempotent

List flexible assets in IT Glue with optional filtering.

Flexible assets are custom documentation types defined by flexible asset types. Examples: Network documentation, Application runbooks, Vendor info, etc.

Args:

  • page (number): Page number (default: 1)

  • page_size (number): Items per page (default: 50)

  • organization_id (number): Filter by organization

  • flexible_asset_type_id (number): Filter by asset type (recommended)

  • name (string): Filter by name

  • archived (boolean): Filter by archived status

  • sort (string): Sort field

  • include (array): Related resources to include

  • response_format (string): 'markdown' or 'json'

Returns: List of flexible assets with their trait values.

Inputs: page, page_size, response_format, organization_id, +6 more.

itglue_list_flexible_asset_typesList IT Glue Flexible Asset TypesA
Read-onlyIdempotent

List all flexible asset types defined in IT Glue.

Flexible asset types define the structure (fields/traits) for flexible assets. Use this to find the type ID needed when creating or filtering flexible assets.

Args:

  • page (number): Page number (default: 1)

  • page_size (number): Items per page (default: 50)

  • name (string): Filter by name

  • enabled (boolean): Filter by enabled status

  • include (array): Include 'flexible_asset_fields' to see field definitions

  • response_format (string): 'markdown' or 'json'

Returns: List of flexible asset types with their IDs and names.

Inputs: page, page_size, response_format, name, +2 more.

itglue_list_locationsList IT Glue LocationsA
Read-onlyIdempotent

List locations in IT Glue with optional filtering.

Locations are physical addresses associated with organizations.

Args:

  • page (number): Page number (default: 1)

  • page_size (number): Items per page (default: 50)

  • organization_id (number): Filter by organization

  • name (string): Filter by name

  • city (string): Filter by city

  • region_id (number): Filter by region/state

  • country_id (number): Filter by country

  • sort (string): Sort field

  • response_format (string): 'markdown' or 'json'

Returns: List of locations with addresses.

Inputs: page, page_size, response_format, organization_id, +7 more.

itglue_list_organizationsList IT Glue OrganizationsA
Read-onlyIdempotent

List organizations in IT Glue with optional filtering and pagination.

Organizations represent client companies in IT Glue. Each organization contains configurations, contacts, passwords, and other documentation.

Args:

  • page (number): Page number, starting from 1 (default: 1)

  • page_size (number): Items per page, max 1000 (default: 50)

  • name (string): Filter by organization name (partial match)

  • organization_type_id (number): Filter by organization type

  • organization_status_id (number): Filter by status (Active, Inactive, etc.)

  • psa_id (string): Filter by PSA integration ID

  • sort (string): Sort field - name, id, updated_at, created_at

  • sort_direction (string): asc or desc

  • response_format (string): 'markdown' or 'json'

Returns: List of organizations with IDs, names, types, statuses, and IT Glue URLs.

Inputs: page, page_size, response_format, name, +5 more.

itglue_list_passwordsList IT Glue PasswordsA
Read-onlyIdempotent

List passwords in IT Glue with optional filtering.

NOTE: Password access requires the API key to have "Password Access" enabled. If your key doesn't have this permission, you'll receive a 403 error.

Args:

  • page (number): Page number (default: 1)

  • page_size (number): Items per page (default: 50)

  • organization_id (number): Filter by organization

  • name (string): Filter by name (partial match)

  • password_category_id (number): Filter by category

  • url (string): Filter by URL

  • archived (boolean): Filter by archived status

  • show_password (boolean): Include actual password values (default: false)

  • response_format (string): 'markdown' or 'json'

Returns: List of passwords (without actual values unless show_password is true).

Inputs: page, page_size, response_format, organization_id, +7 more.

itglue_update_configurationUpdate IT Glue ConfigurationB
Idempotent

Update an existing configuration in IT Glue.

Args:

  • id (string|number): Configuration ID (required)

  • name (string): Configuration name

  • configuration_type_id (number): Type ID

  • configuration_status_id (number): Status ID

  • hostname (string|null): Hostname

  • primary_ip (string|null): Primary IP address

  • serial_number (string|null): Serial number

  • asset_tag (string|null): Asset tag

  • notes (string|null): Notes

  • warranty_expires_at (string|null): Warranty expiration

  • archived (boolean): Archive status

  • response_format (string): 'markdown' or 'json'

Returns: The updated configuration.

Inputs: id (required), organization_id, name, configuration_type_id, +10 more.

itglue_update_contactUpdate IT Glue ContactB
Idempotent

Update an existing contact in IT Glue.

Args:

  • id (string|number): Contact ID (required)

  • first_name (string): First name

  • last_name (string): Last name

  • title (string|null): Job title

  • contact_type_id (number): Contact type ID

  • location_id (number|null): Location ID

  • important (boolean): Important flag

  • notes (string|null): Notes

  • contact_emails (array): Email addresses (replaces existing)

  • contact_phones (array): Phone numbers (replaces existing)

  • response_format (string): 'markdown' or 'json'

Returns: The updated contact.

Inputs: id (required), organization_id, first_name, last_name, +8 more.

itglue_update_flexible_assetUpdate IT Glue Flexible AssetB
Idempotent

Update an existing flexible asset in IT Glue.

Args:

  • id (string|number): Flexible asset ID (required)

  • organization_id (number): Organization ID

  • traits (object): Trait values to update

  • archived (boolean): Archive status

  • response_format (string): 'markdown' or 'json'

Returns: The updated flexible asset.

Inputs: id (required), organization_id, traits, archived, +1 more.

itglue_update_locationUpdate IT Glue LocationB
Idempotent

Update an existing location in IT Glue.

Args:

  • id (string|number): Location ID (required)

  • name (string): Location name

  • primary (boolean): Is this the primary location

  • address_1 (string|null): Address line 1

  • address_2 (string|null): Address line 2

  • city (string|null): City

  • postal_code (string|null): Postal/ZIP code

  • region_id (number|null): Region/state ID

  • country_id (number|null): Country ID

  • phone (string|null): Phone number

  • fax (string|null): Fax number

  • notes (string|null): Notes

  • response_format (string): 'markdown' or 'json'

Returns: The updated location.

Inputs: id (required), organization_id, name, primary, +10 more.

itglue_update_organizationUpdate IT Glue OrganizationA
Idempotent

Update an existing organization in IT Glue.

Args:

  • id (string|number): Organization ID (required)

  • name (string): Organization name

  • organization_type_id (number): Organization type ID

  • organization_status_id (number): Organization status ID

  • short_name (string): Short name

  • description (string): Description

  • quick_notes (string): Quick notes

  • alert (string|null): Alert message (null to clear)

  • response_format (string): 'markdown' or 'json'

Returns: The updated organization.

Inputs: id (required), name, organization_type_id, organization_status_id, +5 more.

itglue_update_passwordUpdate IT Glue PasswordB
Idempotent

Update an existing password entry in IT Glue.

Args:

  • id (string|number): Password ID (required)

  • name (string): Password entry name

  • password_category_id (number): Category ID

  • username (string|null): Username

  • password (string): Password value

  • url (string|null): Associated URL

  • notes (string|null): Notes

  • archived (boolean): Archive status

  • response_format (string): 'markdown' or 'json'

Returns: The updated password entry.

Inputs: id (required), organization_id, name, password_category_id, +6 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.9/5.0

    Scored across 31 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose targeting specific IT Glue resources and operations. The naming pattern (resource + action) makes it easy to distinguish between tools, with no apparent overlap or ambiguity in functionality.

    Naming Consistency5/5

    All tools follow a consistent verb_noun pattern with 'itglue_' prefix, using snake_case throughout. The naming convention is perfectly uniform across all 31 tools, making them predictable and easy to understand.

    Tool Count4/5

    With 31 tools, the count is on the higher side but reasonable for a comprehensive IT documentation platform. The tools cover multiple resource types (organizations, configurations, contacts, passwords, etc.) with full CRUD operations, making the count appropriate for the domain scope.

    Completeness5/5

    The tool set provides complete CRUD coverage for all major IT Glue resources (organizations, configurations, contacts, passwords, locations, domains, flexible assets). It includes both management operations and utility tools like checking password access and listing expirations, creating a comprehensive surface for IT documentation workflows.

    Related MCP Connectors