Skip to main content
Glama

BlueNOC pricing model

get_pricing_model
Read-onlyIdempotent

The pricing formula, rates, annual discount, enterprise threshold and the three published presets with their current monthly prices.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "get_pricing_model"
  }
}

Input Schema

NameRequiredDescriptionDefault

No arguments

Output Schema

NameRequiredDescriptionDefault
formulaNo
presetsYes
currencyYes
per_firewallYes
platform_feeYes
quote_endpointNo
annual_discountNo
enterprise_noteNo
free_trial_daysNo
enterprise_thresholdNo
frequency_multiplierYes
retention_per_firewallYes
included_retention_daysNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "annual_discount": {
      +      "type": "number"
      +    },
      +    "currency": {
      +      "type": "string"
      +    },
      +    "enterprise_note": {
      +      "type": "string"
      +    },
      +    "enterprise_threshold": {
      +      "type": "integer"
      +    },
      +    "formula": {
      +      "type": "string"
      +    },
      +    "free_trial_days": {
      +      "type": "integer"
      +    },
      +    "frequency_multiplier": {
      +      "additionalProperties": {
      +        "type": "number"
      +      },
      +      "type": "object"
      +    },
      +    "included_retention_days": {
      +      "type": "integer"
      +    },
      +    "per_firewall": {
      +      "type": "number"
      +    },
      +    "platform_fee": {
      +      "type": "number"
      +    },
      +    "presets": {
      +      "items": {
      +        "properties": {
      +          "firewalls": {
      +            "type": "integer"
      +          },
      +          "frequency": {
      +            "type": "string"
      +          },
      +          "name": {
      +            "type": "string"
      +          },
      +          "quote": {
      +            "properties": {
      +              "annual_total": {
      +                "description": "Total billed per year when billing is annual.",
      +                "type": [
      +                  "integer",
      +                  "null"
      +                ]
      +              },
      +              "billing": {
      +                "enum": [
      +                  "monthly",
      +                  "annual"
      +                ],
      +                "type": "string"
      +              },
      +              "breakdown": {
      +                "items": {
      +                  "properties": {
      +                    "amount": {
      +                      "type": "number"
      +                    },
      +                    "key": {
      +                      "enum": [
      +                        "platform",
      +                        "firewalls",
      +                        "frequency",
      +                        "retention"
      +                      ],
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "key",
      +                    "amount"
      +                  ],
      +                  "type": "object"
      +                },
      +                "type": "array"
      +              },
      +              "contact": {
      +                "description": "True at or above the enterprise threshold: no price, talk to sales.",
      +                "type": "boolean"
      +              },
      +              "currency": {
      +                "type": "string"
      +              },
      +              "monthly": {
      +                "description": "Undiscounted monthly price.",
      +                "type": [
      +                  "integer",
      +                  "null"
      +                ]
      +              },
      +              "price": {
      +                "description": "Price per month shown to the customer (discounted when billing is annual).",
      +                "type": [
      +                  "integer",
      +                  "null"
      +                ]
      +              }
      +            },
      +            "required": [
      +              "contact",
      +              "currency",
      +              "billing",
      +              "price",
      +              "breakdown"
      +            ],
      +            "type": "object"
      +          },
      +          "retention_days": {
      +            "type": "integer"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "quote_endpoint": {
      +      "format": "uri",
      +      "type": "string"
      +    },
      +    "retention_per_firewall": {
      +      "additionalProperties": {
      +        "type": "number"
      +      },
      +      "type": "object"
      +    }
      +  },
      +  "required": [
      +    "currency",
      +    "platform_fee",
      +    "per_firewall",
      +    "frequency_multiplier",
      +    "retention_per_firewall",
      +    "presets"
      +  ],
      +  "type": "object"
      +}
  2. First observed

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description adds value by disclosing the shape of the payload (a model with rates, a threshold, and three presets carrying current monthly prices), but says nothing about whether prices are cached, static, or time-sensitive — the one behavioral detail that would matter most for a pricing tool.

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?

A single compact sentence with no wasted words, and the most salient item (formula and rates) is front-loaded. It is a sentence fragment rather than a complete statement of action, which slightly weakens the opening.

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

Completeness4/5

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

For a zero-argument, read-only getter with a full output schema and strong annotations, the description's job is mainly to signal what the payload contains, and it does that concretely. The missing piece is routing guidance versus get_pricing_quote, which is small but not zero given the near-identical sibling.

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

Parameters4/5

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

The tool takes zero parameters, so the schema leaves nothing to explain and the baseline is 4. The description correctly implies a parameterless 'fetch the whole model' call rather than a query with filters.

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

Purpose4/5

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

The description is a noun fragment rather than a verb+resource statement, but it enumerates the exact contents returned (formula, rates, annual discount, enterprise threshold, three presets with current monthly prices), which lets an agent distinguish this from get_pricing_quote by richness and scope. Only the implicit 'get' is left to inference.

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

Usage Guidelines2/5

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

There is no when-to-use guidance at all: nothing says whether to call this before or instead of get_pricing_quote, nor whether it is a prerequisite for quoting. The agent must infer usage from the sibling name alone.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources