Skip to main content
Glama

QuickBooks Online MCP Server

by heyibad
create-vendor.tool.ts1.9 kB
import { createQuickbooksVendor } from "../handlers/create-quickbooks-vendor.handler.js"; import { ToolDefinition } from "../types/tool-definition.js"; import { z } from "zod"; const toolName = "create-vendor"; const toolTitle = "Create-vendor"; const toolDescription = "Create a vendor in QuickBooks Online."; const inputSchema = { vendor: z.object({ DisplayName: z.string(), GivenName: z.string().optional(), FamilyName: z.string().optional(), CompanyName: z.string().optional(), PrimaryEmailAddr: z.object({ Address: z.string().optional(), }).optional(), PrimaryPhone: z.object({ FreeFormNumber: z.string().optional(), }).optional(), BillAddr: z.object({ Line1: z.string().optional(), City: z.string().optional(), Country: z.string().optional(), CountrySubDivisionCode: z.string().optional(), PostalCode: z.string().optional(), }).optional(), }), }; const outputSchema = { success: z.boolean().describe("Whether the operation was successful"), data: z.any().optional().describe("The result data"), error: z.string().optional().describe("Error message if operation failed"), }; const toolHandler = async (args: { [x: string]: any }) => { const response = await createQuickbooksVendor(args.vendor); if (response.isError) { return { content: [ { type: "text" as const, text: `Error creating vendor: ${response.error}`, }, ], }; } const vendor = response.result; return { content: [ { type: "text" as const, text: JSON.stringify(vendor), } ], }; }; export const CreateVendorTool: ToolDefinition<typeof inputSchema, typeof outputSchema> = { name: toolName, title: toolTitle, description: toolDescription, inputSchema: inputSchema, outputSchema: outputSchema, handler: toolHandler, };

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/heyibad/quickbook-mcp-'

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