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
| Name | Required | Description | Default |
|---|---|---|---|
| corpName | No | Corporation name (uses context default if not provided) | |
| limit | No | Results per page | |
| page | No | Page number | |
| type | No | Rule type |
Implementation Reference
- server.js:948-951 (handler)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;
- server.js:538-546 (schema)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' }, }, }, },
- server.js:96-105 (helper)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;
- server.js:387-394 (helper)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 }; }