Skip to main content
Glama
purpleax

Fastly NGWAF MCP Server

by purpleax

get_site

Retrieve configuration and security details for a specific web application site from Fastly's Next-Gen WAF to monitor and manage protection settings.

Instructions

Get details of a specific site

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
corpNameNoCorporation name (uses context default if not provided)
siteNameNoSite name (uses context default if not provided)

Implementation Reference

  • Handler logic for the 'get_site' MCP tool: resolves corporation and site names from context or arguments, validates siteName, and delegates to the FastlyNGWAFClient.getSite method to fetch site details.
    case 'get_site':
        const { corpName: corpForSite, siteName: siteForGet } = resolveContext(typedArgs);
        if (!siteForGet) {
            throw new Error('Site name is required. Please set context or provide siteName parameter.');
        }
        result = await client.getSite(corpForSite, siteForGet);
        break;
  • Input schema definition for the 'get_site' tool, specifying optional corpName and siteName parameters with descriptions.
    {
        name: 'get_site',
        description: 'Get details of 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)' },
            },
        },
    },
  • Helper method in FastlyNGWAFClient class that performs the actual API GET request to retrieve site details from the Fastly NGWAF API.
    async getSite(corpName, siteName) {
        const response = await this.api.get(`/corps/${corpName}/sites/${siteName}`);
        return response.data;
    }
  • Utility function used by 'get_site' handler to resolve corpName and siteName from tool arguments or global context, with validation.
    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 };
    }
  • server.js:814-816 (registration)
    MCP server request handler for ListToolsRequestSchema that returns the full list of tools, including 'get_site', effectively registering it for discovery.
    server.setRequestHandler(ListToolsRequestSchema, async () => {
        return { 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/purpleax/FastlyMCP'

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