ESA MCP Server

Official

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

ESA MCP Server

ESA MCP Server is an implementation of the Model Context Protocol (MCP) server, designed to facilitate communication between AI models and Edge Security Acceleration (ESA) services. This server acts as a bridge, allowing models to leverage ESA features through a standardized protocol.


English | 中文

Installation

Configure in your MCP-enabled client config:

{  "mcpServers": {    "esa-mcp-server": {      "command": "npx",      "args": ["-y", "mcp-server-esa"],      "env": {        "ESA_ACCESS_KEY_ID": "your AK",        "ESA_ACCESS_KEY_SECRET": "your SK"     }   } } }

Demo Videos

Claude Demo

Cline Demo

Cline configured successfully:

Claude configured successfully:

Features

  • Implements Model Context Protocol for tool execution
  • Provides access to ESA OpenAPI services
  • Runs as a server via stdio for seamless integration with model runners

Tools List

The server provides the following ESA tools callable via the MCP protocol:

Routine Management Tools

routine_create

Create a Routine

ParameterTypeRequiredDescription
namestringYesRoutine name, supports lowercase letters, numbers, and hyphens, must start with a lowercase letter, min 2 chars
descriptionstringNoRoutine description, no spaces allowed
codestringYesRoutine source code, e.g.:export default { async fetch(request) { return handleRequest(request); } }

routine_delete

Delete a Routine

ParameterTypeRequiredDescription
namestringYesName of the Routine to delete

routine_list

List all Routines

No parameters required.

routine_get

Get Routine details

ParameterTypeRequiredDescription
namestringYesName of the Routine to query

Deployment Tools

routine_code_commit

Commit Routine code

ParameterTypeRequiredDescription
namestringYesRoutine name
codestringYesRoutine source code

routine_code_deploy

Deploy Routine code

ParameterTypeRequiredDescription
namestringYesRoutine name
codeVersionstringYesRoutine version, must be valid semver
envstringYesRoutine environment: "production" or "staging"
canaryAreaListarrayNoCanary release areas, must be valid area names (see canary_area_list)
canaryCodeVersionstringNoCanary version, must be valid semver

canary_area_list

List all available canary areas for Routine deployment

No parameters required.

deployment_delete

Delete a deployment

ParameterTypeRequiredDescription
namestringYesDeployment name

Route Management Tools

route_create

Create a route for a Routine

ParameterTypeRequiredDescription
siteIdnumberYesSite ID
modestringYesRoute mode: 'simple' or 'custom'
routestringRequired by modeRoute path (required if mode is 'simple')
rulestringYesRoute rule (required if mode is 'custom')
routineNamestringYesRoutine name
routeNamestringYesRoute name
bypassstringYesBypass: 'on' or 'off' (default 'off')
routeEnablestringYesEnable: 'on' or 'off' (default 'on')
sequencenumberNoRoute sequence (default: current count)

route_update

Update a Routine route

ParameterTypeRequiredDescription
siteIdnumberYesSite ID
configIdnumberYesConfig ID
routeNamestringYesRoute name
routeEnablestringYesEnable: 'on' or 'off'
rulestringYesRoute rule
routineNamestringYesRoutine name
bypassstringYesBypass: 'on' or 'off'
sequencenumberNoRoute sequence

route_delete

Delete a Routine route

ParameterTypeRequiredDescription
siteIdnumberYesSite ID
configIdnumberYesConfig ID

route_get

Get a Routine-related route

ParameterTypeRequiredDescription
siteIdnumberYesSite ID
configIdnumberYesConfig ID

routine_route_list

List all routes of a Routine

ParameterTypeRequiredDescription
routineNamestringYesRoutine name
routeNamestringNoRoute name, used to filter list results
pageNumbernumberNoRoute page number
pageSizenumberNoRoutes per page

site_route_list

List all routes of a site

ParameterTypeRequiredDescription
siteIdnumberYesSite ID
routeNamestringNoRoute name, used to filter list results
pageNumbernumberNoRoute page number
pageSizenumberNoRoutes per page

Record Management Tools

er_record_create

Create a record

ParameterTypeRequiredDescription
namestringYesThe name of the routine
siteIdnumberYesThe ID of the site
recordNamestringYesThe name of the record

er_record_delete

Delete a record

ParameterTypeRequiredDescription
namestringYesThe name of the routine
siteIdnumberYesThe ID of the site
recordNamestringYesThe name of the record
recordIdnumberNoThe ID of the record

er_record_list

List all records

ParameterTypeRequiredDescription
NamestringYesThe name of the routine
PageNumbernumberNoThe page number of the records
PageSizenumberNoThe page size of the records
SearchKeyWordstringNoThe search key word

Site Tools

site_active_list

List all active sites

No parameters required.

site_match

Check which site under the account matches the user input

ParameterTypeRequiredDescription
recordNamestringYesThe name of the site to match

site_dns_type_a_record_create

Create an A record for a site

ParameterTypeRequiredDescription
recordNamestringYesThe name of the DNS record (e.g., subdomain or full domain)
siteIdnumberYesThe ID of the site, obtained from the ListSites operation
dataobjectYesThe data for the DNS record, with value property
data.valuestringYesThe IP address of the A record (e.g., "2.2.2.2")

site_dns_cname_domain_record_create

Create a CNAME domain record for a site

ParameterTypeRequiredDescription
recordNamestringYesThe name of the DNS record (e.g., subdomain or full domain)
siteIdnumberYesThe ID of the site, obtained from the ListSites operation
dataobjectYesThe data for the DNS record, with value property
data.valuestringYesThe domain value for the CNAME record

site_record_list

List all records in a site

ParameterTypeRequiredDescription
SiteIdnumberYesThe ID of the site, obtained from the ListSites operation

Available Scripts

  • npm run build - Build the project using rslib
  • npm run dev - Run build in watch mode for development
  • npm run format - Format code using Prettier
  • npm run lint - Check code using ESLint

Project Structure

  • src/index.ts - Main entry point
  • src/tools/ - ESA tool implementations
  • src/utils/ - Utilities and helpers

License

ISC

Contributions

For Alibaba internal contributors, please follow the standard contribution workflow for the project.

You must be authenticated.

A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

An implementation of the Model Context Protocol server that enables AI models to communicate with Edge Security Acceleration (ESA) services, allowing models to manage routines, deployments, routes, records, and sites through standardized protocols.

  1. Installation
    1. Demo Videos
      1. Features
        1. Tools List
          1. Routine Management Tools
          2. Deployment Tools
          3. Route Management Tools
          4. Record Management Tools
          5. Site Tools
        2. Available Scripts
          1. Project Structure
        3. License
          1. Contributions
            ID: nx5ucrxvqa