list_site_rules
Retrieve and display security rules for a specific website in Fastly's Next-Gen WAF, including request, signal, and rate limit configurations.
Instructions
List rules for a specific site
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| corpName | No | Corporation name (uses context default if not provided) | |
| siteName | No | Site name (uses context default if not provided) | |
| type | No | Rule type | |
| page | No | Page number | |
| limit | No | Results per page |
Implementation Reference
- server.js:952-958 (handler)MCP tool handler for 'list_site_rules': resolves corporation and site context, validates siteName, and delegates to FastlyNGWAFClient.listSiteRules method with provided parameters.case 'list_site_rules': const { corpName: corpForSiteRules, siteName: siteForRules } = resolveContext(typedArgs); if (!siteForRules) { throw new Error('Site name is required. Please set context or provide siteName parameter.'); } result = await client.listSiteRules(corpForSiteRules, siteForRules, typedArgs.type, typedArgs.page, typedArgs.limit); break;
- server.js:107-117 (helper)FastlyNGWAFClient helper method implementing the core logic: constructs query parameters and makes GET request to Fastly NGWAF API endpoint for listing site rules.async listSiteRules(corpName, siteName, 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}/sites/${siteName}/rules?${params.toString()}`); return response.data; }
- server.js:551-560 (schema)Input schema for 'list_site_rules' tool defining parameters: corpName, siteName, type (enum), page, and limit.inputSchema: { type: 'object', properties: { corpName: { type: 'string', description: 'Corporation name (uses context default if not provided)' }, siteName: { type: 'string', description: 'Site name (uses context default if not provided)' }, type: { type: 'string', enum: ['request', 'signal', 'rateLimit'], description: 'Rule type' }, page: { type: 'number', description: 'Page number' }, limit: { type: 'number', description: 'Results per page' }, }, },
- server.js:548-561 (registration)Tool registration object in the 'tools' array, including name, description, and inputSchema, advertised via ListToolsRequestSchema handler.{ name: 'list_site_rules', description: 'List rules for a specific site', inputSchema: { type: 'object', properties: { corpName: { type: 'string', description: 'Corporation name (uses context default if not provided)' }, siteName: { type: 'string', description: 'Site name (uses context default if not provided)' }, type: { type: 'string', enum: ['request', 'signal', 'rateLimit'], description: 'Rule type' }, page: { type: 'number', description: 'Page number' }, limit: { type: 'number', description: 'Results per page' }, }, }, },