IT Glue MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@IT Glue MCP Server Show me the login details for the domain controller at Acme Corp"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 buildConfiguration
Environment Variables
Variable | Required | Default | Description |
| Yes | - | Your IT Glue API key |
| No |
| API region: |
Getting an API Key
Log into IT Glue as an Administrator
Go to Account > Settings > API Keys
Click + Custom API Key
Give it a name and optionally enable Password Access
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 filteringitglue_get_organization- Get organization by IDitglue_create_organization- Create new organizationitglue_update_organization- Update existing organization
Configurations
itglue_list_configurations- List configurations (devices/assets)itglue_get_configuration- Get configuration by IDitglue_create_configuration- Create new configurationitglue_update_configuration- Update existing configuration
Passwords
itglue_list_passwords- List passwordsitglue_get_password- Get password by ID (includes value if permitted)itglue_create_password- Create new password entryitglue_update_password- Update existing passworditglue_check_password_access- Check if API key has password access
Contacts
itglue_list_contacts- List contactsitglue_get_contact- Get contact by IDitglue_create_contact- Create new contactitglue_update_contact- Update existing contact
Flexible Assets
itglue_list_flexible_assets- List flexible assetsitglue_get_flexible_asset- Get flexible asset by IDitglue_create_flexible_asset- Create new flexible assetitglue_update_flexible_asset- Update existing flexible assetitglue_list_flexible_asset_types- List all flexible asset typesitglue_get_flexible_asset_type- Get flexible asset type with fieldsitglue_list_flexible_asset_fields- List fields for a type
Locations
itglue_list_locations- List locationsitglue_get_location- Get location by IDitglue_create_location- Create new locationitglue_update_location- Update existing location
Domains
itglue_list_domains- List domainsitglue_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 outputjson- 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 availablehas_more- Whether more pages existnext_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) |
|
EU |
|
Australia |
|
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 cleanLicense
MIT
Available Tools
31 toolsitglue_check_password_accessCheck IT Glue Password AccessARead-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 ConfigurationARead-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 ContactARead-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 DomainARead-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 AssetARead-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 TypeARead-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 LocationARead-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 OrganizationARead-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 PasswordARead-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 ConfigurationsARead-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 ContactsARead-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 DomainsARead-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 ExpirationsARead-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 FieldsARead-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 AssetsARead-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 TypesARead-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 LocationsARead-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 OrganizationsARead-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 PasswordsARead-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 ConfigurationBIdempotent
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 ContactBIdempotent
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 AssetBIdempotent
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 LocationBIdempotent
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 OrganizationAIdempotent
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 PasswordBIdempotent
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
Scored across 31 tools
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.
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.
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.
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
An MCP server that provides an API to LLMs to manage their JumpCloud resources.
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
The Remote MCP server acts as a standardized bridge between LLM applications (like Claude, ChatGPT, and Cursor) and external services, enabling AI agents to access external tools and resources. Its primary capability is providing a centralized search tool to discover other MCP servers and their respective tools. Unlike local implementations, it runs remotely with OAuth authentication and permission controls for security.
MCP server connecting AI agents to 100+ apps (Gmail, Slack, Notion, GitHub) via one-click OAuth.