Skip to main content
Glama
henrikaslund

ALECS - MCP server for Akamai

by henrikaslund

šŸš€ ALECS MCP Server for Akamai

A Launchgrid for Edge & Cloud Services

AI-powered Akamai CDN management through natural language

npm version GitHub release Build Status Add to Cursor

šŸ”§ 156 Tools • 🌐 15 Services • šŸ” Full EdgeRC Support • ⚔ Production Ready

šŸŽÆ What is ALECS?

ALECS bridges the gap between AI tools and Akamai's Connected Cloud Platform. Ask Claude, Cursor, or any MCP-compatible tool to manage your Akamai infrastructure using natural language and minimize context switching when creating Infrastructure-as-Code!

"List my Akamai properties"          →  Complete property inventory
"Create a DNS zone for example.com"  →  Zone created and configured
"Purge cache for /images/*"          →  Cache invalidated instantly
"Check SSL certificate status"       →  Validation progress shown

Related MCP server: Rini MCP Server

šŸŽ‰ One-Click Installation

macOS:

curl -sSL https://raw.githubusercontent.com/acedergren/alecs-mcp-server-akamai/main/scripts/install-claude-desktop.sh | bash

Windows:

# Download and run installation script
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/acedergren/alecs-mcp-server-akamai/main/scripts/install-claude-desktop.sh" -OutFile "install-claude-desktop.sh"
bash install-claude-desktop.sh

Linux:

curl -sSL https://raw.githubusercontent.com/acedergren/alecs-mcp-server-akamai/main/scripts/install-claude-desktop.sh | bash

One-click button: Add to Cursor

Auto-install script:

curl -sSL https://raw.githubusercontent.com/acedergren/alecs-mcp-server-akamai/main/scripts/install-cursor.sh | bash

One-click button: Add to LM Studio

Auto-install script:

curl -sSL https://raw.githubusercontent.com/acedergren/alecs-mcp-server-akamai/main/scripts/install-lmstudio.sh | bash

Extension + Server:

curl -sSL https://raw.githubusercontent.com/acedergren/alecs-mcp-server-akamai/main/scripts/install-vscode.sh | bash

Manual Setup:

  1. Install MCP extension

  2. Cmd/Ctrl + Shift + P

  3. "MCP: Add Server"

  4. Command: alecs

Auto-configure:

curl -sSL https://raw.githubusercontent.com/acedergren/alecs-mcp-server-akamai/main/scripts/install-windsurf.sh | bash

Manual Setup:

  1. Open Windsurf Settings

  2. Navigate to MCP Servers

  3. Add server with command: alecs

Simple command:

claude mcp add alecs-akamai alecs

Verify:

claude mcp list

šŸ“¦ Quick Start

1. Install ALECS

Choose your preferred method:

Global install:

npm install -g alecs-mcp-server-akamai

Verify:

alecs --version

macOS/Linux:

curl -sSL https://raw.githubusercontent.com/acedergren/alecs-mcp-server-akamai/main/scripts/install-homebrew.sh | bash

Manual:

brew install node
npm install -g alecs-mcp-server-akamai

Quick start:

docker run -it --env-file .env ghcr.io/acedergren/alecs-mcp-server-akamai:latest

See full Docker section below for more options

2. Configure Akamai

Create ~/.edgerc with your credentials:

[default]
client_secret = your_client_secret
host = your_host.luna.akamaiapis.net
access_token = your_access_token
client_token = your_client_token

3. Choose Your AI Tool

Pick your favorite AI assistant and use the one-click installers above! šŸš€

🌟 Features

šŸ› ļø Service Coverage

Service

Tools

Key Features

šŸ¢ Property Manager

25

CDN configs, rules, activations

šŸ›”ļø Security

47

Network lists, WAF policies

🌐 Edge DNS

12

DNS zones, records, DNSSEC

šŸ“‹ Includes

10

Include configurations

šŸ”— Edge Hostnames

10

Hostname management

šŸ“Š Reporting

9

Analytics and metrics

šŸ” Certificates

8

SSL/TLS lifecycle management

⚔ Fast Purge

8

Cache invalidation

šŸ”§ Workflow

7

Orchestration and automation

🌐 Hostname Mgmt

5

Advanced hostname operations

šŸ“¦ Bulk Operations

5

Batch processing

🚨 SIEM

4

Security monitoring

šŸ—ļø Rule Tree

4

Rule processing

šŸ“Š CPCode

2

Traffic analysis codes

šŸŽØ Natural Language Examples

šŸ—£ļø What You Say

"List my properties"
"Create DNS zone for example.com"
"Purge cache for /images/*"
"Check my SSL certificates"
"Show traffic for last 7 days"
"Add IP 192.168.1.0/24 to blocklist"

šŸ¤– What ALECS Does

āœ… property_list → Full inventory
āœ… dns_zone_create → Zone configured
āœ… fastpurge_url → Cache cleared
āœ… certificate_status → SSL validated
āœ… traffic_report → Analytics shown
āœ… network_list_add → IP blocked

šŸ—ļø Architecture

graph LR
    A[šŸ¤– AI Assistant] --> B[šŸš€ ALECS Server]
    B --> C[🌐 Akamai APIs]

    subgraph "šŸ”§ ALECS Components"
        B1[šŸ“” MCP Protocol]
        B2[šŸ” EdgeGrid Auth]
        B3[šŸ“‹ Tool Registry]
        B4[šŸŖ Service Modules]
    end

    subgraph "🌐 Akamai Services"
        C1[šŸ¢ Property Manager]
        C2[šŸŒ Edge DNS]
        C3[šŸ” Certificates]
        C4[šŸ›”ļø Security]
        C5[⚔ Fast Purge]
    end

    B --> B1
    B1 --> B2
    B2 --> B3
    B3 --> B4
    B4 --> C1
    B4 --> C2
    B4 --> C3
    B4 --> C4
    B4 --> C5

🐳 Docker & Deployment

Quick Start

# Standard I/O for Claude Desktop (default)
docker run -it --env-file .env ghcr.io/acedergren/alecs-mcp-server-akamai:latest

# Streamable HTTP for web/CDN deployment
docker run -it -p 8080:8080 -e MCP_TRANSPORT=streamable-http --env-file .env ghcr.io/acedergren/alecs-mcp-server-akamai:latest

Transport Options

# Available transports
MCP_TRANSPORT=stdio           # Default - Claude Desktop, Cursor, CLI tools
MCP_TRANSPORT=streamable-http # Web clients, CDN deployment (recommended)
MCP_TRANSPORT=websocket       # Real-time bidirectional communication
MCP_TRANSPORT=sse             # Legacy Server-Sent Events (deprecated)

# Transport-specific configuration
HTTP_PORT=8080                # Port for streamable HTTP (default: 8080)
HTTP_HOST=0.0.0.0            # Host for streamable HTTP
HTTP_PATH=/mcp               # Base path for HTTP endpoints
CORS_ENABLED=true            # Enable CORS for browser clients

Available Docker Images

docker pull ghcr.io/acedergren/alecs-mcp-server-akamai:latest    # Full server
docker pull ghcr.io/acedergren/alecs-mcp-server-akamai:modular   # Microservices
docker pull ghcr.io/acedergren/alecs-mcp-server-akamai:websocket # WebSocket
docker pull ghcr.io/acedergren/alecs-mcp-server-akamai:http      # Streamable HTTP

šŸ†• OpenAPI-Driven Development

ALECS now features automatic tool generation from OpenAPI specifications:

# Generate new domain from API spec
alecs generate-from-api --spec ./openapi.json --domain mydomain

# Update existing tools when APIs change
alecs generate-from-api --spec ./api-v2.json --domain property --update

# Migrate legacy tools to OpenAPI patterns
alecs generate-from-api --spec ./api.json --tool ./dns-tools.ts --migrate

Benefits:

  • šŸš€ 10x faster tool development

  • šŸ”§ Always up-to-date with latest API changes

  • šŸ“ Type-safe with automatic Zod schema generation

  • šŸ”„ Smart updates preserve custom logic

  • šŸŽÆ Zero manual work for standard CRUD operations

šŸ“š Documentation

šŸ“– Guide

šŸ“ Description

Developer Documentation

Complete developer guide

Developer Onboarding

New team member onboarding

API Reference

All 156 tools documented

Getting Started

Setup tutorials

Architecture Explainer

Comprehensive architecture guide

Architecture Quick Reference

Quick architecture lookup

Visual Architecture

Architecture diagrams

Architecture Deep Dive

Technical system design

Development Guide

Coding standards & patterns

Testing Strategy

Comprehensive testing approach

Deployment Guide

Production deployment

Operations Runbook

Production operations & troubleshooting

Tool Creation

Build custom tools & use OpenAPI

šŸ¤ Contributing

We welcome contributions! Check out our Contributing Guide to get started.

šŸ› Found a bug? Report it šŸ’” Have an idea? Suggest it ā“ Need help? Ask us

šŸ“„ License

GNU Affero General Public License v3.0 (AGPL-3.0) - see LICENSE


🌟 Star us on GitHub • šŸ“¦ Follow on NPM • 🐳 Use with Docker

Built with ā¤ļø for Akamai by Alexander Cedergren, alex@solutionsedge.io

Available Tools

1 tool
property.listC

List Akamai CDN properties

ParametersJSON Schema
NameRequiredDescriptionDefault
contractIdNoContract ID (optional)
customerNoCustomer identifier from .edgerc
groupIdNoGroup ID (optional)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden for behavioral disclosure. 'List' implies a read operation, but the description doesn't mention authentication requirements, rate limits, pagination behavior, error conditions, or what format the properties are returned in. For a tool with zero annotation coverage, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that states the core functionality without any wasted words. It's appropriately sized for a simple list operation and gets straight to the point. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and a read operation with three parameters, the description is incomplete. It doesn't explain what 'properties' are in this context, what data they contain, whether results are paginated, or what authentication is required. For a tool that likely returns structured data, more context is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all three parameters. The description doesn't add any parameter semantics beyond what's in the schema - it doesn't explain how parameters interact, which combinations are valid, or provide examples. Baseline 3 is appropriate when schema does the documentation work.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('List') and resource ('Akamai CDN properties'), making the tool's purpose immediately understandable. It doesn't distinguish from siblings since none exist, but it's specific enough to know this retrieves CDN property listings. A 5 would require sibling differentiation which isn't applicable here.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, prerequisites, or contextual constraints. It simply states what the tool does without indicating appropriate usage scenarios. With no siblings, the bar is lower, but still lacks any usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool updatev1.0.0
    • First observedproperty.list

TDQS

B3/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of ambiguity or overlap between tools. The single tool 'property.list' has a clearly distinct purpose of listing Akamai CDN properties, and no other tools exist to cause confusion.

Naming Consistency5/5

The naming pattern is perfectly consistent as there is only one tool. It follows a clear verb_noun structure ('property.list'), and with no other tools to compare against, there is no inconsistency in naming conventions.

Tool Count2/5

A single tool is too few for a server intended to interact with Akamai's CDN properties, which typically involve operations like create, update, delete, or get details. This minimal set severely limits functionality and suggests an incomplete implementation for the domain.

Completeness1/5

The tool set is severely incomplete for managing Akamai CDN properties. It only provides listing functionality, missing essential CRUD operations such as create, read (get details), update, and delete, as well as other domain-specific actions like activating or deactivating properties, which are critical for a comprehensive CDN management surface.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A collection of custom MCP servers providing various AI-powered capabilities including web search, YouTube video analysis, GitHub repository analysis, reasoning, code generation/execution, and web crawling.
    2
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    A MCP server that uses Amap API to provide location-based services, allowing users to get geographic information based on IP addresses and search for nearby points of interest.
    30
    -
  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    An MCP server that provides deep knowledge about OpenAI APIs and SDKs, enabling users to query technical information through various MCP clients including ChatGPT Deep Research, Cursor, and OpenAI Responses API.
    15
    -