Skip to main content
Glama

Teamwork MCP

updateCompany.ts3.53 kB
/** * updateCompany tool * Updates an existing company in Teamwork */ import logger from "../../utils/logger.js"; import teamworkService from "../../services/index.js"; // Tool definition export const updateCompanyDefinition = { name: "updateCompany", description: "This tool allows you to update a company. It requires parameters: companyId and companyRequest.", inputSchema: { type: 'object', properties: { companyId: { type: 'integer', description: 'Path parameter: companyId' }, companyRequest: { type: 'object', properties: { addressOne: { type: 'string', description: 'First line of address' }, addressTwo: { type: 'string', description: 'Second line of address' }, city: { type: 'string', description: 'City' }, company: { type: 'object', properties: { name: { type: 'string', description: 'Company name' } } }, countryCode: { type: 'string', description: 'Country code' }, emailOne: { type: 'string', description: 'First email address' }, emailTwo: { type: 'string', description: 'Second email address' }, fax: { type: 'string', description: 'Fax number' }, name: { type: 'string', description: 'Company name' }, phone: { type: 'string', description: 'Phone number' }, state: { type: 'string', description: 'State' }, tags: { type: 'array', items: { type: 'string' }, description: 'List of tags' }, website: { type: 'string', description: 'Website URL' }, zip: { type: 'string', description: 'ZIP/Postal code' } } }, options: { type: 'object', properties: {}, description: 'Additional options for the request' } }, required: [ 'companyId', 'companyRequest' ] }, annotations: { title: "Update Company", readOnlyHint: false, destructiveHint: false, openWorldHint: false } }; // Tool handler export async function handleUpdateCompany(input: any) { logger.info('Calling teamworkService.updateCompany()'); logger.info(`Company ID: ${input?.companyId}`); try { const companyId = input.companyId; const companyData = input.companyRequest; if (!companyId) { throw new Error("Company ID is required"); } if (!companyData) { throw new Error("Company data is required for update"); } const result = await teamworkService.updateCompany(companyId, companyData); logger.info(`Company updated successfully with ID: ${companyId}`); return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] }; } catch (error: any) { logger.error(`Error in updateCompany handler: ${error.message}`); return { content: [{ type: "text", text: `Error updating company: ${error.message}` }] }; } }

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/Vizioz/Teamwork-MCP'

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