Skip to main content
Glama

set_page_margins

Adjust page margins in a Word document by specifying top, right, bottom, and left values. Simplify document formatting for precise layout control.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bottomNo
filePathYes
leftNo
rightNo
topNo

Implementation Reference

  • The core handler function that implements the set_page_margins tool by creating a new docx Document instance with the specified page margins (in twips) and overwriting the target file.
    async setPageMargins(filePath: string, margins: PageMargins): Promise<APIResponse> { try { const doc = new Document({ sections: [{ properties: { page: { margin: { top: margins.top || 1440, // 默认 1 英寸 (1440 twips) right: margins.right || 1440, bottom: margins.bottom || 1440, left: margins.left || 1440, }, }, }, children: [], }], }); await Packer.toBuffer(doc).then((buffer) => { return fs.writeFile(filePath, buffer); }); return { success: true }; } catch (error) { const err = error as Error; return { success: false, error: `设置页面边距失败: ${err.message}` }; } }
  • TypeScript interface defining the PageMargins type used as input for the setPageMargins handler.
    export interface PageMargins { top?: number; right?: number; bottom?: number; left?: number; }
  • MCP server registration for the 'set_page_margins' tool, including Zod schema for input validation and wrapper handler delegating to DocumentService.
    server.tool( "set_page_margins", { filePath: z.string(), top: z.number().optional(), right: z.number().optional(), bottom: z.number().optional(), left: z.number().optional(), }, async (params) => { const result = await docService.setPageMargins(params.filePath, { top: params.top, right: params.right, bottom: params.bottom, left: params.left, }); return { content: [ { type: "text", text: result.success ? "页面边距已设置" : result.error!, }, ], isError: !result.success, }; } );
  • JSON schema definition for the 'set_page_margins' tool exposed in the HTTP server's tools list endpoint.
    name: 'set_page_margins', description: '设置页面边距', parameters: { properties: { filePath: { type: 'string', description: '文档路径' }, top: { type: 'number', description: '上边距' }, right: { type: 'number', description: '右边距' }, bottom: { type: 'number', description: '下边距' }, left: { type: 'number', description: '左边距' }, }, required: ['filePath'], type: 'object', },
  • src/server.ts:158-165 (registration)
    Dispatch handler in the HTTP server's tool call switch statement that invokes DocumentService.setPageMargins.
    case 'set_page_margins': result = await docService.setPageMargins(parameters.filePath, { top: parameters.top, right: parameters.right, bottom: parameters.bottom, left: parameters.left, }); break;

Other Tools

Related Tools

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/puchunjie/doc-tools-mcp'

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