create_site_txt_record
Generate and manage TXT DNS records for specific websites using the ESA MCP Server. Supports custom TTL, record names, and comments for precise DNS configuration.
Instructions
Creates a DNS record for a specific website. Only TXT records are supported.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| comment | No | The comment of the record. The maximum length is 100 characters. | |
| data | Yes | 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 | |
| recordName | Yes | The record name. | |
| siteId | Yes | The website ID, which can be obtained by calling the [ListSites] operation. | |
| ttl | No | The TTL of the record. Unit: seconds. If the value is 1, the TTL of the record is determined by the system. Default: 1. |
Implementation Reference
- src/tools/site/record.ts:688-700 (handler)The handler function that executes the tool logic: sets type to 'TXT', calls api.createRecord, and returns the result.export const create_site_txt_record = async (request: CallToolRequest) => { const req = request.params.arguments as CreateRecordRequest; req.type = 'TXT'; req.ttl = req.ttl || 1; const res = await api.createRecord(req); return { content: [{ type: 'text', text: JSON.stringify(res) }], success: true, }; };
- src/tools/site/record.ts:160-209 (schema)The tool definition object including name, description, and input schema for validating tool inputs.export const CREATE_SITE_TXT_RECORD_TOOL: Tool = { name: 'create_site_txt_record', description: 'Creates a DNS record for a specific website. Only TXT 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'], }, 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 text string. Required.', example: ['xxxxxxxxxxxxxxxxxx'], }, }, }, 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, }, }, };
- src/tools/list-esa-function.ts:125-139 (registration)Registration of the CREATE_SITE_TXT_RECORD_TOOL in the ESA_OPENAPI_SITE_LIST array, which collects 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, ];
- src/tools/list-esa-function.ts:164-208 (registration)Mapping of the create_site_txt_record handler function in the esaHandlers object, which registers tool handlers.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, };