Skip to main content
Glama

create_site_mx_record

Create MX DNS records for websites to configure mail server routing and email delivery settings.

Instructions

Creates a DNS record for a specific website. Only MX records are supported.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
siteIdYesThe website ID, which can be obtained by calling the [ListSites] operation.
recordNameYesThe record name.
bizNameNoThe business scenario of the record for acceleration. Leave the parameter empty if your record is not proxied. Valid values: - image_video - api - web
ttlNoThe TTL of the record. Unit: seconds. If the value is 1, the TTL of the record is determined by the system. Default: 1.
dataYesThe DNS record information. The format of this field varies based on the record type. For more information, see https://www.alibabacloud.com/help/doc-detail/2708761.html
commentNoThe comment of the record. The maximum length is 100 characters.

Implementation Reference

  • The handler function that implements the core logic of the 'create_site_mx_record' tool. It sets the DNS record type to 'MX', defaults the TTL to 1 if not provided, calls the API to create the record, and returns the result.
    export const create_site_mx_record = async (request: CallToolRequest) => {
      const req = request.params.arguments as CreateRecordRequest;
    
      req.type = 'MX';
      req.ttl = req.ttl || 1;
    
      const res = await api.createRecord(req);
    
      return {
        content: [{ type: 'text', text: JSON.stringify(res) }],
        success: true,
      };
    };
  • The schema definition for the 'create_site_mx_record' tool, including input parameters like siteId, recordName, data (with value and priority for MX), ttl, etc., and description.
    export const CREATE_SITE_MX_RECORD_TOOL: Tool = {
      name: 'create_site_mx_record',
      description:
        'Creates a DNS record for a specific website. Only MX records are supported.',
      inputSchema: {
        type: 'object',
        properties: {
          siteId: {
            type: 'number',
            description:
              'The website ID, which can be obtained by calling the [ListSites] operation.',
          },
          recordName: {
            type: 'string',
            description: 'The record name.',
            examples: ['www.example.com'],
          },
          bizName: {
            type: 'string',
            description:
              'The business scenario of the record for acceleration. Leave the parameter empty if your record is not proxied. Valid values:\n- image_video\n- api\n- web',
          },
          ttl: {
            type: 'number',
            description:
              'The TTL of the record. Unit: seconds. If the value is 1, the TTL of the record is determined by the system. Default: 1.',
            examples: [1],
          },
          data: {
            type: 'object',
            description:
              'The DNS record information. The format of this field varies based on the record type. For more information, see https://www.alibabacloud.com/help/doc-detail/2708761.html',
            properties: {
              value: {
                type: 'string',
                description:
                  'A valid domain name of the target mail server. Required.',
                example: ['mx.example.com'],
              },
              priority: {
                type: 'number',
                description:
                  'The priority of the record, specified within the range of 0 to 65,535. A smaller value indicates a higher priority. Required.',
              },
            },
          },
          comment: {
            type: 'string',
            description:
              'The comment of the record. The maximum length is 100 characters.',
          },
        },
        required: ['siteId', 'recordName', 'type', 'data'],
        annotations: {
          readOnlyHint: false,
          destructiveHint: false,
          idempotentHint: false,
          openWorldHint: false,
        },
      },
    };
  • Registration of the CREATE_SITE_MX_RECORD_TOOL in the ESA_OPENAPI_SITE_LIST array, which lists available site-related tools.
    export const ESA_OPENAPI_SITE_LIST = [
      LIST_SITES_TOOL,
      CREATE_SITE_TOOL,
      UPDATE_SITE_PAUSE_TOOL,
      GET_SITE_PAUSE_TOOL,
      UPDATE_RECORD_TOOL,
      CREATE_SITE_MX_RECORD_TOOL,
      CREATE_SITE_NS_RECORD_TOOL,
      CREATE_SITE_TXT_RECORD_TOOL,
      CREATE_SITE_CNAME_RECORD_TOOL,
      CREATE_SITE_A_OR_AAAA_RECORD_TOOL,
      DELETE_RECORD_TOOL,
      LIST_RECORDS_TOOL,
      GET_RECORD_TOOL,
    ];
  • Maps the 'create_site_mx_record' handler function to the esaHandlers object for tool execution dispatching.
    export const esaHandlers: ToolHandlers = {
      site_active_list,
      site_match,
      site_route_list,
      site_record_list,
      routine_create,
      routine_code_commit,
      routine_delete,
      routine_list,
      routine_get,
      routine_code_deploy,
      routine_route_list,
      deployment_delete,
      route_create,
      route_delete,
      route_update,
      route_get,
      er_record_create,
      er_record_delete,
      er_record_list,
      html_deploy,
      create_site,
      update_site_pause,
      get_site_pause,
      create_site_mx_record,
      create_site_ns_record,
      create_site_txt_record,
      create_site_cname_record,
      create_site_a_or_aaaa_record,
      update_record,
      list_records,
      get_record,
      delete_record,
      update_ipv6,
      get_ipv6,
      update_managed_transform,
      get_managed_transform,
      set_certificate,
      apply_certificate,
      get_certificate,
      delete_certificate,
      list_certificates,
      get_certificate_quota,
      list_sites,
    };

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/aliyun/mcp-server-esa'

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