Skip to main content
Glama
Blazemeter

BlazeMeter Service Virtualization MCP Server

Official
by Blazemeter

virtual_services_virtual_service_template

Manage HTTP virtual service templates: create, read, list, update, and assign transactions, configurations, and SSL keystores to define virtual service behavior.

Instructions

    Operations on virtual service templates.
    Virtual service templates can only be used for the HTTP virtual services.
    Actions:
    - read: Get a SPECIFIC virtual service template by its id. Use this when you already have a template id.
        Do NOT use `list` when you have a specific id — use `read` instead.
        args(dict): Dictionary with the following required parameters:
            workspace_id (int): Mandatory. The id of the workspace.
            id (int): Mandatory. The id of the virtual service template to read.
    - list: List virtual service templates in a workspace. Use this to browse or discover templates.
        Do NOT use `list` when you need a specific template by id — use `read` instead.
        args(dict): Dictionary with the following required parameters:
            workspace_id (int): Mandatory. The id of the workspace to list transactions from.
            serviceId (int): Optional. The id of the service to list virtual service templates from.
            Without this it will list all virtual service templates in the workspace.
            limit (int, default=10, valid=[1 to 50]): The number of virtual service templates to list.
            offset (int, default=0): Number of virtual service templates to skip.
    - create: Create a new virtual service template.
        args(VirtualService): A virtual service template object with the following fields:
            workspace_id (int): Mandatory. The id of the workspace.
            name (str): Mandatory. The name of the virtual service template.
            serviceId (int): Mandatory. The id of the service to create the virtual service template in.
            noMatchingRequestPreference (str): Mandatory. If not specified use 'return404'.
    - update: Update an existing new virtual service template.
        args(VirtualService): A virtual service template object with the following fields:
            workspace_id (int): Mandatory. The id of the workspace.
            template_id (int): Mandatory. The id of the virtual service template.
            name (str): Optional. The name of the virtual service template.
            serviceId (int): Optional. The id of the service to create the virtual service template in.
            noMatchingRequestPreference (str): Optional. If not specified use 'return404'.
    - assign_transactions: Assigns the transactions to the virtual service template. 
            Transactions should belong to the same service as the virtual service template.
        args(dict): Dictionary with the following required parameters:
            workspace_id (int): Mandatory. The id of the workspace the virtual service template belongs to.
            id (int): Mandatory. The id of the virtual service template to assign the transaction to.
            transaction_ids (list[int]): Mandatory. The ids of the transactions to assign to the virtual service template.
    - unassign_transactions: Unassigns the transactions from the virtual service template.
        args(dict): Dictionary with the following required parameters:
            workspace_id (int): Mandatory. The id of the workspace the virtual service template belongs to.
            id (int): Mandatory. The id of the virtual service template to assign the transaction to.
            transaction_ids (list[int]): Mandatory. The ids of the transactions to unassign from the virtual service template.
    - assign_configuration: Assigns the configuration to the virtual service template. To unassign configuration, assign configuration with id None.
        args(dict): Dictionary with the following required parameters:
            workspace_id (int): Mandatory. The id of the workspace the virtual service template belongs to.
            id (int): Mandatory. The id of the virtual service template to assign the transaction to.
            configuration_id (list[int]): Mandatory. The id of the configuration to assign to the virtual service template.
    - assign_keystore: Assign Keystore asset to the Virtual Service Template.
        args(dict):
            id (int): Mandatory. The id of the Virtual Service Template.
            asset_id (int): Mandatory. The id of the keystore asset to assign.
            alias (str): Mandatory. The certificate alias to use.
            workspace_id (int): Mandatory. The id of the workspace.  
    - assign_keystore_truststore: Assign Keystore asset to the Virtual Service Template. Asset will be used as both Keystore and Truststore.
            Use this action for 2way ssl setup.
        args(dict):
            id (int): Mandatory. The id of the Virtual Service Template.
            asset_id (int): Mandatory. The id of the certificate asset to assign.
            alias (str): Mandatory. The certificate alias to use.
            workspace_id (int): Mandatory. The id of the workspace.
    VirtualServiceTemplate Schema (including full MockServiceTransaction):
    {'$defs': {'AssignedAsset': {'properties': {'assetId': {'description': 'The identifier of the asset', 'title': 'Assetid', 'type': 'integer'}, 'assetUsageType': {'description': 'The usage type of the asset', 'title': 'Assetusagetype', 'type': 'string'}, 'alias': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'The asset certificate alias', 'title': 'Alias'}}, 'required': ['assetId', 'assetUsageType'], 'title': 'AssignedAsset', 'type': 'object'}, 'MessagingDestination': {'properties': {'destinationName': {'description': 'Destination name', 'title': 'Destinationname', 'type': 'string'}, 'destinationType': {'description': 'Destination type: QUEUE, TOPIC, or SUBSCRIPTION', 'title': 'Destinationtype', 'type': 'string'}}, 'required': ['destinationName', 'destinationType'], 'title': 'MessagingDestination', 'type': 'object'}, 'MockServiceTransaction': {'properties': {'txnId': {'description': 'Transaction id.', 'title': 'Txnid', 'type': 'integer'}, 'priority': {'default': 10, 'description': 'Transaction Priority. If not specified, defaults to 10.', 'title': 'Priority', 'type': 'integer'}, 'destinations': {'anyOf': [{'items': {'$ref': '#/$defs/MessagingDestination'}, 'type': 'array'}, {'type': 'null'}], 'default': [], 'description': 'List of messaging destinations.', 'title': 'Destinations'}}, 'required': ['txnId'], 'title': 'MockServiceTransaction', 'type': 'object'}}, 'properties': {'id': {'description': 'The unique identifier of the virtual service template', 'title': 'Id', 'type': 'integer'}, 'name': {'description': 'The name of the virtual service template', 'title': 'Name', 'type': 'string'}, 'serviceId': {'description': 'The unique identifier of the service where the virtual service template belongs', 'title': 'Serviceid', 'type': 'integer'}, 'configurationId': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': 'Configuration identifier', 'title': 'Configurationid'}, 'noMatchingRequestPreference': {'description': "Defines the behavior when no matching request is found. Possible values are 'return404' and 'bypasslive'.", 'title': 'Nomatchingrequestpreference', 'type': 'string'}, 'replicas': {'default': 1, 'description': 'The number of replicas for the virtual service template. Always set to 1 for all virtual service templates.', 'title': 'Replicas', 'type': 'integer'}, 'mockServiceTransactions': {'anyOf': [{'items': {'$ref': '#/$defs/MockServiceTransaction'}, 'type': 'array'}, {'type': 'null'}], 'default': [], 'description': 'List of transaction definitions associated with the virtual service template', 'title': 'Mockservicetransactions'}, 'httpRunnerEnabled': {'default': True, 'description': 'Http runner enabled flag, must be enabled for virtual service template', 'title': 'Httprunnerenabled', 'type': 'boolean'}, 'assets': {'anyOf': [{'items': {'$ref': '#/$defs/AssignedAsset'}, 'type': 'array'}, {'type': 'null'}], 'default': None, 'description': 'List of assets', 'title': 'Assets'}}, 'required': ['id', 'name', 'serviceId', 'noMatchingRequestPreference'], 'title': 'VirtualServiceTemplate', 'type': 'object'}

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
argsYes
actionYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
infoNoInfo messages
errorNoError message
totalNoTotal available records
resultNoResult
warningNoWarning messages
has_moreNoMore records per page to list
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description bears full responsibility for behavioral disclosure. It does reveal some constraints (HTTP-only usage, transactions must belong to the same service, assigning configuration with id None unassigns) but does not discuss side effects, reversibility, permissions, or failure modes for mutation actions. The action names imply effects, but a more explicit behavioral profile is missing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured: an overview, per-action subsections, and an appendix with the schema. It is quite verbose, with repeated phrasing like 'Mandatory. The id of...' and a large embedded schema, but this is largely justified by the tool's complexity (8 actions and nested objects). It remains front-loaded and readable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite the high complexity, the description covers all actions, their inputs, constraints, and important nuances (HTTP-only, transaction assignment constraints, noMatchingRequestPreference defaults, keystore for 2-way SSL). An output schema is present, so return value details are unnecessary. This is a thoroughly complete description for AI agent use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema is generic (only action and args), providing 0% schema coverage. The description compensates fully by listing every action's parameters with types, mandatory/optional indicators, defaults (e.g., limit default=10, valid 1-50; noMatchingRequestPreference default='return404'), and valid ranges. It even embeds the full VirtualServiceTemplate schema with field descriptions, making parameter semantics exceptionally clear.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the resource (virtual service templates) and specifies distinct action verbs: read, list, create, update, assign_transactions, etc. It also adds a distinguishing constraint ('Virtual service templates can only be used for the HTTP virtual services') and explicitly differentiates read from list usage, making the tool's purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit when-to-use guidance: 'Use this when you already have a template id' for read, and 'Use this to browse or discover templates' for list. It also gives a direct exclusion: 'Do NOT use `list` when you need a specific template by id — use `read` instead.' Additionally, it specifies 'Use this action for 2way ssl setup' for assign_keystore_truststore. This meets the standard of explicit when/when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Blazemeter/sv-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server