Model Context Protocol (MCP)
Unizo offers an MCP server that integrates asset management platforms with any LLM provider supporting the MCP protocol. This enables your AI agent to discover assets, query configuration items, explore asset relationships, and manage ownership across ServiceNow, Freshservice, and other CMDB solutions via a single MCP server.
Supported Tools & Use Cases
The following tools are available in the Asset Management MCP Server:
| Tool Name | Description |
|---|---|
cmdb_list_connectors | Get list of available asset management services |
cmdb_list_integrations | Get integrations for a specific asset management service |
cmdb_list_organizations | Browse organizations |
cmdb_get_organization | Retrieve organization details |
cmdb_list_assets | Browse assets |
cmdb_get_asset | Retrieve asset details |
cmdb_list_asset_relationships | Browse relationships for an asset |
cmdb_get_asset_relationship | Retrieve asset relationship details |
cmdb_list_owners | Browse asset owners |
cmdb_get_owner | Retrieve owner details |
Tool Reference
Service Discovery Tools
cmdb_list_connectors
Get list of available asset management services
Parameters: None
Returns: List of available asset management services (e.g., ServiceNow, Freshservice)
Example Response:
[
{"name": "servicenow"},
{"name": "freshservice"}
]
cmdb_list_integrations
Get integrations for a specific asset management service
Parameters:
connector(string, required): Name of the service (e.g., "servicenow", "freshservice")
Returns: List of integrations available for the specified service
Example Response:
[
{
"id": "integration-123",
"name": "Production ServiceNow CMDB"
},
{
"id": "integration-456",
"name": "Development Freshservice"
}
]
Organization Tools
cmdb_list_organizations
Browse organizations
Parameters:
integration_id(string, required): Unique identifier for the integration
Returns: List of organizations
Example Response:
{
"status": "success",
"message": "Retrieved 2 organizations",
"data": {
"organizations": [
{
"id": "ORG-001",
"name": "Engineering Division",
"status": "Active",
"hierarchy": {
"parentId": "ORG-000",
"level": 2,
"path": "ORG-000/ORG-001"
},
"location": {
"locationName": "San Francisco HQ",
"country": "United States"
},
"financials": {
"costCenter": "CC-ENG-001",
"budget": 5000000.00,
"currency": "USD"
},
"riskProfile": {
"businessCriticality": "High",
"complianceRequirements": ["SOC2", "HIPAA"],
"dataClassification": "Confidential"
}
}
],
"pagination": {
"total": 2,
"offset": 0,
"limit": 20,
"next": null,
"previous": null
},
"total_count": 2
}
}
cmdb_get_organization
Retrieve organization details
Parameters:
integration_id(string, required): Unique identifier for the integrationorganization_id(string, required): Unique identifier of the organization
Returns: Organization details
Example Response:
{
"status": "success",
"message": "Retrieved organization details for ORG-001",
"data": {
"organization": {
"id": "ORG-001",
"name": "Engineering Division",
"status": "Active",
"hierarchy": {
"parentId": "ORG-000",
"level": 2,
"path": "ORG-000/ORG-001"
},
"location": {
"locationName": "San Francisco HQ",
"address": "100 Market Street",
"city": "San Francisco",
"state": "CA",
"country": "United States",
"postalCode": "94105"
},
"financials": {
"costCenter": "CC-ENG-001",
"budget": 5000000.00,
"currency": "USD"
},
"riskProfile": {
"businessCriticality": "High",
"complianceRequirements": ["SOC2", "HIPAA"],
"dataClassification": "Confidential"
},
"changeLog": {
"createdDateTime": "2024-01-15T10:00:00Z",
"lastUpdatedDateTime": "2025-11-01T14:30:00Z"
}
}
}
}
Asset Management Tools
cmdb_list_assets
Browse assets
Parameters:
integration_id(string, required): Unique identifier for the integration
Returns: List of assets
Example Response:
{
"status": "success",
"message": "Retrieved 3 assets",
"data": {
"assets": [
{
"type": "hardware",
"asset": {
"id": "ASSET-001",
"name": "PROD-WEB-01",
"description": "Production web server",
"status": "active"
},
"network": {
"ipAddress": "10.0.1.50",
"macAddress": "00:1A:2B:3C:4D:5E",
"fqdn": "prod-web-01.internal.example.com"
},
"os": {
"name": "Ubuntu 22.04 LTS"
},
"ownership": {
"owner": {
"id": "OWN-001",
"name": "John Doe",
"email": "[email protected]"
}
},
"location": {
"id": "LOC-001",
"name": "US-East Data Center"
},
"security": {
"criticality": "high"
}
}
],
"pagination": {
"total": 3,
"offset": 0,
"limit": 20,
"next": null,
"previous": null
},
"total_count": 3
}
}
cmdb_get_asset
Retrieve asset details
Parameters:
integration_id(string, required): Unique identifier for the integrationasset_id(string, required): Unique identifier of the asset
Returns: Asset details
Example Response:
{
"status": "success",
"message": "Retrieved asset details for ASSET-001",
"data": {
"asset": {
"type": "hardware",
"asset": {
"id": "ASSET-001",
"name": "PROD-WEB-01",
"description": "Production web server hosting the main application",
"status": "active"
},
"network": {
"ipAddress": "10.0.1.50",
"macAddress": "00:1A:2B:3C:4D:5E",
"fqdn": "prod-web-01.internal.example.com"
},
"os": {
"name": "Ubuntu 22.04 LTS"
},
"ownership": {
"owner": {
"id": "OWN-001",
"name": "John Doe",
"email": "[email protected]"
}
},
"location": {
"id": "LOC-001",
"name": "US-East Data Center"
},
"security": {
"criticality": "high"
},
"changeLog": {
"createdDateTime": "2024-06-15T10:00:00Z",
"lastUpdatedDateTime": "2025-11-01T14:30:00Z"
}
}
}
}
cmdb_list_asset_relationships
Browse relationships for an asset
Parameters:
integration_id(string, required): Unique identifier for the integrationasset_id(string, required): Unique identifier of the asset
Returns: List of asset relationships
Example Response:
{
"status": "success",
"message": "Retrieved 2 relationships for asset ASSET-001",
"data": {
"relationships": [
{
"type": "depends_on",
"relation": {
"id": "REL-001",
"sourceAssetId": "ASSET-001",
"targetAssetId": "ASSET-005",
"isBusinessServiceLink": true,
"direction": "downstream",
"confidenceScore": 0.95
},
"changeLog": {
"effectiveFrom": "2024-06-15T10:00:00Z",
"createdDateTime": "2024-06-15T10:00:00Z"
}
}
],
"pagination": {
"total": 2,
"offset": 0,
"limit": 20
}
}
}
cmdb_get_asset_relationship
Retrieve asset relationship details
Parameters:
integration_id(string, required): Unique identifier for the integrationasset_id(string, required): Unique identifier of the assetrelationship_id(string, required): Unique identifier of the relationship
Returns: Asset relationship details
cmdb_list_owners
Browse asset owners
Parameters:
integration_id(string, required): Unique identifier for the integration
Returns: List of asset owners
Example Response:
{
"status": "success",
"message": "Retrieved 2 owners",
"data": {
"owners": [
{
"type": "user",
"owner": {
"id": "OWN-001",
"username": "john.doe",
"name": "John Doe",
"firstName": "John",
"lastName": "Doe",
"email": "[email protected]",
"jobTitle": "Senior DevOps Engineer",
"department": "Engineering"
}
}
],
"pagination": {
"total": 2,
"offset": 0,
"limit": 20
}
}
}
cmdb_get_owner
Retrieve owner details
Parameters:
integration_id(string, required): Unique identifier for the integrationowner_id(string, required): Unique identifier of the owner
Returns: Owner details
Installation
Prerequisites
- A Unizo API key
- An active Asset Management integration (ServiceNow, Freshservice)
- Node.js v20 or higher
MCP Configuration
Here is an example configuration for setting up the Unizo Asset Management MCP server:
{
"mcpServers": {
"unizo": {
"command": "npx",
"args": [
"mcp-remote",
"https://api.unizo.ai/mcp",
"--header",
"apikey:${UNIZO_API_KEY}",
"--header",
"x-mcp-scopes:CMDB"
],
"env": {
"UNIZO_API_KEY": "your_api_key"
}
}
}
}
Client Setup
For detailed setup instructions with specific AI clients:
Environment Variables
The following environment variables are required:
UNIZO_API_KEY: Your Unizo API key
Error Handling
All tools return errors in a consistent format:
{
"status": "error",
"message": "Asset 'ASSET-001' not found",
"traceback": "..."
}