update-account
Modify existing account information in Dynamics 365 by providing account ID and updated data fields.
Instructions
Update an existing account in Dynamics 365
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| accountId | Yes | ||
| accountData | Yes |
Implementation Reference
- src/tools.ts:144-169 (handler)The tool handler function that extracts parameters, calls Dynamics365.updateAccount, formats the response as MCP content, and handles errors.async (params) => { try { const { accountId, accountData } = params; const response = await d365.updateAccount(accountId, accountData); return { content: [ { type: "text", text: JSON.stringify(response, null, 2), }, ], }; } catch (error) { return { content: [ { type: "text", text: `Error: ${ error instanceof Error ? error.message : "Unknown error" }, please check your input and try again.`, }, ], isError: true, }; } }
- src/tools.ts:140-143 (schema)Input schema validation using Zod for the update-account tool: accountId as string and accountData as object.{ accountId: z.string(), accountData: z.object({}), },
- src/tools.ts:137-170 (registration)Registration of the 'update-account' tool on the MCP server, including name, description, schema, and handler.server.tool( "update-account", "Update an existing account in Dynamics 365", { accountId: z.string(), accountData: z.object({}), }, async (params) => { try { const { accountId, accountData } = params; const response = await d365.updateAccount(accountId, accountData); return { content: [ { type: "text", text: JSON.stringify(response, null, 2), }, ], }; } catch (error) { return { content: [ { type: "text", text: `Error: ${ error instanceof Error ? error.message : "Unknown error" }, please check your input and try again.`, }, ], isError: true, }; } } );
- src/main.ts:229-243 (helper)The Dynamics365 class method that performs the actual API PATCH request to update the account in Dynamics 365.public async updateAccount( accountId: string, accountData: any ): Promise<any> { if (!accountId) { throw new Error("Account ID is required to update an account."); } if (!accountData) { throw new Error("Account data is required to update an account."); } const endpoint = `api/data/v9.2/accounts(${accountId})`; return this.makeApiRequest(endpoint, "PATCH", accountData); }