Skip to main content
Glama
purpleax

Fastly NGWAF MCP Server

by purpleax

search_requests

Search web application firewall requests using advanced filters to identify security events and analyze traffic patterns.

Instructions

Search requests with advanced filtering

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
corpNameNoCorporation name (uses context default if not provided)
siteNameNoSite name (uses context default if not provided)
queryNoSearch query (e.g., "tag:SQLI")
pageNoPage number
limitNoResults per page

Implementation Reference

  • Handler logic for the 'search_requests' tool within the CallToolRequestHandler switch statement. It resolves the corpName and siteName using resolveContext, validates that siteName is provided, and calls the client's searchRequests method with the parameters.
    case 'search_requests': const { corpName: corpForSearch, siteName: siteForSearch } = resolveContext(typedArgs); if (!siteForSearch) { throw new Error('Site name is required. Please set context or provide siteName parameter.'); } result = await client.searchRequests(corpForSearch, siteForSearch, typedArgs.query, typedArgs.page, typedArgs.limit); break;
  • Input schema definition for the 'search_requests' tool, specifying parameters like corpName, siteName, query, page, and limit with types and descriptions.
    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)' }, query: { type: 'string', description: 'Search query (e.g., "tag:SQLI")' }, page: { type: 'number', description: 'Page number' }, limit: { type: 'number', description: 'Results per page' }, }, },
  • server.js:629-642 (registration)
    Tool registration entry in the tools array, which is returned by the ListToolsRequestHandler, including name, description, and inputSchema.
    { name: 'search_requests', description: 'Search requests with advanced filtering', 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)' }, query: { type: 'string', description: 'Search query (e.g., "tag:SQLI")' }, page: { type: 'number', description: 'Page number' }, limit: { type: 'number', description: 'Results per page' }, }, }, },
  • Core helper method in FastlyNGWAFClient class that performs the actual API request to search requests for a site, building query parameters and calling the Fastly NGWAF API endpoint.
    async searchRequests(corpName, siteName, query, page, limit) { const params = new URLSearchParams(); if (query) params.append('q', query); if (page) params.append('page', page.toString()); if (limit) params.append('limit', limit.toString()); const response = await this.api.get(`/corps/${corpName}/sites/${siteName}/requests?${params.toString()}`); return response.data;

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