Configure Instaclustr API Server MCP Backend and Tools
Instaclustr API Server MCP Backend
To create a Backend for MCP Virtual Server go to MCP Virtual Server details page and click “Create Backend”

instaclustr-api.- Cluster Management API Core: covers cluster details and operational state.
- Monitoring API Core: covers metrics.
- Cluster Management API related operation requires a Read Only Provisioning API key.
- Monitoring API related requires a Monitoring API key.


Export Instaclustr API OpenAPI Specifications
You can download the OpenAPI specification for the Instaclustr API tools from the MCP Gateway Connection Info page. Select components wanted to be downloaded. The zip contains one OpenAPI JSON file per selected API and a README. Use the JSON files to create a custom HTTP Server backend with tools populated from the specification. See Configure HTTP Server MCP Backend and Tools for details.

Configure MCP Tool Access via Terraform
Instaclustr API tools are generated automatically, so you will know their names (listed in the sections below) but not their tool IDs. To create an access control list for these tools with Instaclustr Terraform Registry, look up the tool IDs by name using the instaclustr_mcp_gateway_cluster_mcp_tool_http_server_operation_v1 data source, then reference those IDs in the instaclustr_mcp_gateway_persona_access_control_v1 resource.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
// Instaclustr API Backend config resource "instaclustr_mcp_gateway_mcp_backend_instaclustr_api_v1" "instaclustr_api_backend" { virtual_server_id = instaclustr_mcp_gateway_mcp_virtual_server_v1.vs.id components = ["CLUSTER_MANAGEMENT_API_CORE", "MONITORING_API_CORE"] api_user = "mcp-user" } // Look up tool IDs by name data "instaclustr_mcp_gateway_cluster_mcp_tool_http_server_operation_v1" "http_tool" { for_each = toset(["listActiveClusters", "getKafkaCluster"]) mcp_gateway_cluster_id = instaclustr_mcp_gateway_cluster_v1.mcpg.id filter { name = "backendId" values = [instaclustr_mcp_gateway_mcp_backend_instaclustr_api_v1.instaclustr_api_backend.id] } filter { name = "name" values = [each.key] } } // Allow a role to access only those tools resource "instaclustr_mcp_gateway_persona_access_control_v1" "allow" { persona_role = "role" cluster_id = instaclustr_mcp_gateway_cluster_v1.mcpg.id virtual_server_id = instaclustr_mcp_gateway_mcp_virtual_server_v1.vs.id type = "ALLOWLIST" tools = values(data.instaclustr_mcp_gateway_cluster_mcp_tool_http_server_operation_v1.http_tool)[*].id } |
The for_each set lists the names of the tools you want to reference, for example listActiveClusters and getKafkaCluster from the Cluster Management API Core tools list below. The backendId filter limits the lookup to tools on this Instaclustr API backend, and the name filter matches each tool name. Each data source instance returns the tool’s id, which the tools list of the instaclustr_mcp_gateway_persona_access_control_v1 resource requires. The same approach works for Denylist access control lists.