Skip to main content

Model Context Protocol (MCP)

Early Access

Try our newest feature! Only available through reach out. Contact us to join the early access program and get priority support.

Unizo offers an MCP server that integrates public cloud infrastructure platforms with any LLM provider supporting the MCP protocol. This enables your AI agent to perform resource management, analyze infrastructure patterns, and automate cloud operations across AWS, Azure, Google Cloud, and other providers via a single MCP server.

Supported Tools & Use Cases

The following tools are available in the Key Management MCP Server:

Tool NameDescription
list_servicesGet list of available key management services
list_integrationsGet integrations for a specific key management service
list_vault_configsBrowse and search vault configurations with filtering options
get_vault_config_detailsRetrieve comprehensive vault configuration information
create_vault_configCreate a new vault configuration

list_services

Get list of available key management services

Parameters: None

Returns: List of available key management services

Example Response:

[
{ "name": "hashicorp" },
{ "name": "azure" },
{ "name": "aws" },
{ "name": "cyberark" },
{ "name": "thycotic" }
]

list_integrations

Get integrations for a specific key management service

Parameters:

  • service (string, required): Name of the key management service (e.g., "hashicorp", "azure", "aws")

Returns: List of integrations available for the specified service

Example Response:

[
{
"id": "integration-km-123",
"name": "Production Vault Integration"
},
{
"id": "integration-km-456",
"name": "Development Key Store"
}
]

list_vault_configs

Browse and search vault configurations with filtering options

Parameters:

  • integration_id (string, required): Unique identifier for the integration
  • offset (integer, optional): Number of items to skip (default: 0)
  • limit (integer, optional): Maximum number of items to return (default: 20, max: 100)
  • sort (string, optional): Sort criteria (e.g., 'name', '-createdDateTime', 'name,-createdAt')

Returns: Paginated list of vault configurations with filtering applied

Example Response:

{
"status": "success",
"message": "Retrieved 12 vault configurations",
"data": {
"vault_configs": [
{
"id": "vault-config-789",
"name": "production-secrets",
"value": "vault://production/secrets",
"changeLog": {
"createdDateTime": "2024-08-15T09:30:00Z",
"lastUpdatedDateTime": "2024-09-01T14:20:00Z",
"createdBy": {
"id": "user-123",
"firstName": "Alice",
"lastName": "Johnson",
"avatar": {
"small": "/avatars/user-123-small.png"
}
},
"lastUpdatedBy": {
"id": "user-456",
"firstName": "Bob",
"lastName": "Smith"
}
}
},
{
"id": "vault-config-790",
"name": "api-keys-dev",
"value": "vault://development/api-keys",
"changeLog": {
"createdDateTime": "2024-09-02T11:15:00Z",
"lastUpdatedDateTime": "2024-09-02T11:15:00Z",
"createdBy": {
"id": "user-789",
"firstName": "Carol",
"lastName": "Wilson"
}
}
}
],
"pagination": {
"total": 12,
"offset": 0,
"limit": 20,
"next": null,
"previous": null
},
"total_count": 12
}
}

get_vault_config_details

Get detailed information about a specific vault configuration

Parameters:

  • integration_id (string, required): Unique identifier for the integration
  • vault_config_id (string, required): Unique identifier of the vault configuration

Returns: Comprehensive vault configuration information

Example Response:

{
"status": "success",
"message": "Retrieved vault configuration details for vault-config-789",
"data": {
"vault_config": {
"id": "vault-config-789",
"name": "production-secrets",
"value": "vault://production/secrets",
"changeLog": {
"createdDateTime": "2024-08-15T09:30:00Z",
"lastUpdatedDateTime": "2024-09-01T14:20:00Z",
"createdBy": {
"href": "/users/user-123",
"id": "user-123",
"firstName": "Alice",
"lastName": "Johnson",
"avatar": {
"original": "/avatars/user-123-original.png",
"xSmall": "/avatars/user-123-xs.png",
"small": "/avatars/user-123-small.png",
"medium": "/avatars/user-123-medium.png",
"large": "/avatars/user-123-large.png"
}
},
"lastUpdatedBy": {
"href": "/users/user-456",
"id": "user-456",
"firstName": "Bob",
"lastName": "Smith",
"avatar": {
"small": "/avatars/user-456-small.png"
}
}
}
}
}
}

create_vault_config

Create a new vault configuration

Parameters:

  • integration_id (string, required): Unique identifier for the integration
  • name (string, required): Name of the vault configuration

Returns: Details of the newly created vault configuration

Example Response:

{
"status": "success",
"message": "Created vault configuration: database-credentials",
"data": {
"vault_config": {
"id": "vault-config-791",
"name": "database-credentials",
"value": "vault://production/database-creds",
"changeLog": {
"createdDateTime": "2024-09-10T16:45:00Z",
"lastUpdatedDateTime": "2024-09-10T16:45:00Z",
"createdBy": {
"id": "user-current",
"firstName": "Current",
"lastName": "User"
}
}
}
}
}

Installation

Prerequisites

  • A Unizo API key
  • An active Public Cloud (Infra) integration (Azure, AWS, Heroku, Google Cloud Platform)
  • Node.js v20 or higher

MCP Configuration

Here is an example configuration for setting up the Unizo Public Cloud (Infra) MCP server:

{
"mcpServers": {
"unizo-public-cloud": {
"command": "npx",
"args": [
"mcp-remote",
"http://api.unizo.ai/mcp/public-cloud",
"--allow-http",
"--header",
"apikey:${UNIZO_API_KEY}"
],
"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:

Error Handling

All tools return errors in a consistent format:

{
"error": {
"code": "RESOURCE_NOT_FOUND",
"message": "Resource 'vm-abc123' not found"
}
}

Common Error Codes

  • INTEGRATION_NOT_FOUND: Invalid cloud integration ID
  • RESOURCE_NOT_FOUND: Specified resource not found or inaccessible
  • REGION_NOT_SUPPORTED: Region is not available for the integration
  • INVALID_CONFIGURATION: Provided configuration is invalid or unsupported
  • UNAUTHORIZED: Invalid API key or insufficient permissions
  • RATE_LIMIT_EXCEEDED: API quota exceeded