Skip to main content
Glama

proxy_test_rule_match

Test which proxy interception rules match a specific HTTP request, providing detailed pass/fail diagnostics and identifying the winning rule by priority.

Instructions

Test which interception rules would match a request, with detailed per-field pass/fail diagnostics and effective winner by priority.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeNosimulate: test a synthetic request, exchange: test an existing captured exchangesimulate
requestNoSynthetic request (required when mode=simulate)
exchange_idNoExchange ID from proxy_list_traffic (required when mode=exchange)
include_disabledNoInclude disabled rules in diagnostics (default: true); disabled rules never win
limit_rulesNoOptional limit on number of priority-sorted rules evaluated

Implementation Reference

  • The handler function for the `proxy_test_rule_match` tool, which delegates to `proxyManager.testRulesAgainstExchange` or `proxyManager.testRulesAgainstRequest`.
    async ({ mode, request, exchange_id, include_disabled, limit_rules }) => {
      try {
        const options = {
          includeDisabled: include_disabled,
          limitRules: limit_rules,
        };
    
        if (mode === "exchange") {
          if (!exchange_id) {
            return {
              content: [{
                type: "text",
                text: JSON.stringify({ status: "error", error: "exchange_id is required when mode='exchange'" }),
              }],
            };
          }
          const result = proxyManager.testRulesAgainstExchange(exchange_id, options);
          return {
            content: [{
              type: "text",
              text: truncateResult({
                status: "success",
                mode,
                exchange_id,
                result,
              }),
            }],
          };
        }
    
        if (!request) {
          return {
            content: [{
              type: "text",
              text: JSON.stringify({ status: "error", error: "request is required when mode='simulate'" }),
            }],
          };
        }
    
        const result = proxyManager.testRulesAgainstRequest(request, options);
        return {
          content: [{
            type: "text",
            text: truncateResult({
              status: "success",
              mode,
              result,
            }),
          }],
        };
      } catch (e) {
  • Tool registration for `proxy_test_rule_match` including the schema definition.
    server.tool(
      "proxy_test_rule_match",
      "Test which interception rules would match a request, with detailed per-field pass/fail diagnostics and effective winner by priority.",
      {
        mode: z.enum(["simulate", "exchange"]).optional().default("simulate")
          .describe("simulate: test a synthetic request, exchange: test an existing captured exchange"),
        request: testRequestSchema.optional().describe("Synthetic request (required when mode=simulate)"),
        exchange_id: z.string().optional().describe("Exchange ID from proxy_list_traffic (required when mode=exchange)"),
        include_disabled: z.boolean().optional().default(true)
          .describe("Include disabled rules in diagnostics (default: true); disabled rules never win"),
        limit_rules: z.number().optional().describe("Optional limit on number of priority-sorted rules evaluated"),
      },

Tool Definition Quality

Score is being calculated. Check back soon.

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/yfe404/proxy-mcp'

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