Skip to main content
Glama
purpleax

Fastly NGWAF MCP Server

by purpleax

list_corp_rules

View and manage corporation-level rules by listing request or signal rules for a specified corporation using the Fastly NGWAF MCP Server.

Instructions

List rules at corporation level

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
corpNameNoCorporation name (uses context default if not provided)
limitNoResults per page
pageNoPage number
typeNoRule type

Implementation Reference

  • Handler for the list_corp_rules MCP tool. Resolves corporation name from context or arguments and invokes the client's listCorpRules method with optional type, page, and limit parameters.
    case 'list_corp_rules': const { corpName: corpForCorpRules } = resolveContext(typedArgs); result = await client.listCorpRules(corpForCorpRules, typedArgs.type, typedArgs.page, typedArgs.limit); break;
  • Input schema defining parameters for list_corp_rules tool: corpName (optional), type (request/signal), page, limit.
    inputSchema: { type: 'object', properties: { corpName: { type: 'string', description: 'Corporation name (uses context default if not provided)' }, type: { type: 'string', enum: ['request', 'signal'], description: 'Rule type' }, page: { type: 'number', description: 'Page number' }, limit: { type: 'number', description: 'Results per page' }, }, },
  • server.js:535-547 (registration)
    Registration of list_corp_rules tool in the tools array returned by the ListToolsRequestSchema handler.
    { name: 'list_corp_rules', description: 'List rules at corporation level', inputSchema: { type: 'object', properties: { corpName: { type: 'string', description: 'Corporation name (uses context default if not provided)' }, type: { type: 'string', enum: ['request', 'signal'], description: 'Rule type' }, page: { type: 'number', description: 'Page number' }, limit: { type: 'number', description: 'Results per page' }, }, }, },
  • Implementation of listCorpRules in FastlyNGWAFClient class, which makes API request to retrieve corporation-level rules with optional filtering and pagination.
    async listCorpRules(corpName, type, page, limit) { const params = new URLSearchParams(); if (type) params.append('type', type); if (page) params.append('page', page.toString()); if (limit) params.append('limit', limit.toString()); const response = await this.api.get(`/corps/${corpName}/rules?${params.toString()}`); return response.data;
  • Helper function resolveContext used by the handler to determine corpName (and siteName) from tool arguments or global context.
    function resolveContext(args) { const corpName = args.corpName || context.defaultCorpName; const siteName = args.siteName || context.defaultSiteName; if (!corpName) { throw new Error('Corporation name is required. Please set context or provide corpName parameter.'); } return { corpName, siteName }; }

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/purpleax/FastlyMCP'

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