Skip to main content
Glama
mako10k

Web Proxy MCP Server

by mako10k

ssl_list_cas

Retrieve a list of all available Certificate Authorities for HTTPS traffic management in the Web Proxy MCP Server.

Instructions

List all available Certificate Authorities

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • MCP tool handler for 'ssl_list_cas' that calls sslManager.listCAs() and formats the results into a formatted text response listing available Certificate Authorities.
    case 'ssl_list_cas': const cas = await this.sslManager.listCAs(); const caList = cas.map(ca => `• ${ca.name} ${ca.current ? '(current)' : ''} - ${ca.exists ? '✅ Available' : '❌ Missing'}\n Created: ${ca.created || 'Unknown'}\n Description: ${ca.description || 'No description'}` ).join('\n\n'); return { content: [{ type: "text", text: `🔒 Available Certificate Authorities\n\n${caList || 'No CAs found'}` }] };
  • Tool definition including name, description, and input schema (empty object, no parameters required).
    ssl_list_cas: { name: "ssl_list_cas", description: "List all available Certificate Authorities", inputSchema: { type: "object", properties: {} } },
  • Implementation of the listCAs() method in SSLManager class, which lists all CA directories, loads metadata, checks existence of ca.crt, and determines if current.
    async listCAs() { try { await fs.access(this.caBaseDir); const entries = await fs.readdir(this.caBaseDir, { withFileTypes: true }); const cas = []; for (const entry of entries) { if (entry.isDirectory()) { const caDir = path.join(this.caBaseDir, entry.name); const metadataPath = path.join(caDir, 'metadata.json'); let metadata = { name: entry.name, created: null, description: null }; try { const metadataContent = await fs.readFile(metadataPath, 'utf-8'); metadata = { ...metadata, ...JSON.parse(metadataContent) }; } catch (error) { // Metadata file doesn't exist or is corrupted } const caExists = await fs.access(path.join(caDir, 'ca.crt')).then(() => true).catch(() => false); cas.push({ name: entry.name, path: caDir, exists: caExists, current: entry.name === this.currentCA, ...metadata }); } } return cas; } catch (error) { return []; } }

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/mako10k/mcp-web-proxy'

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