Skip to main content
Glama

create_contact

Add new contacts to Offorte Proposal Software by entering organization or individual details including name, address, contact information, and business identifiers for proposal management.

Instructions

Create a new contact (organisation or person/individual)

Input Schema

NameRequiredDescriptionDefault
typeYes
nameYes
streetNo
zipcodeNo
cityNo
stateNo
countryNo
phoneNo
emailNo
internetNo
linkedinNo
facebookNo
twitterNo
instagramNo
coc_numberNo
vat_numberNo
tagsNo
firstnameNo
lastnameNo
salutationNo
mobileNo

Input Schema (JSON Schema)

{ "properties": { "city": { "type": "string" }, "coc_number": { "type": "string" }, "country": { "type": "string" }, "email": { "type": "string" }, "facebook": { "type": "string" }, "firstname": { "type": "string" }, "instagram": { "type": "string" }, "internet": { "type": "string" }, "lastname": { "type": "string" }, "linkedin": { "type": "string" }, "mobile": { "type": "string" }, "name": { "type": "string" }, "phone": { "type": "string" }, "salutation": { "type": "string" }, "state": { "type": "string" }, "street": { "type": "string" }, "tags": { "items": { "additionalProperties": true, "properties": { "id": { "type": "number" }, "name": { "type": "string" } }, "required": [ "id", "name" ], "type": "object" }, "type": "array" }, "twitter": { "type": "string" }, "type": { "enum": [ "organisation", "person" ], "type": "string" }, "vat_number": { "type": "string" }, "zipcode": { "type": "string" } }, "required": [ "type", "name" ], "type": "object" }

Implementation Reference

  • The complete create_contact tool definition, including its execute handler that validates input using the schema, performs a POST request to create the contact, and returns the JSON result.
    export const createContactTool: Tool<typeof parameters._type, typeof parameters> = { name: 'create_contact', description: 'Create a new contact (organisation or person/individual)', parameters, annotations: { title: 'Create Contact', openWorldHint: true, }, async execute(params) { const parsed = contactCreateSchema.safeParse(params); if (!parsed.success) { throwApiInvalidResponseError(parsed.error); } const result = await post('/contacts/', parsed.data); return JSON.stringify(result); }, };
  • Zod input schema for the create_contact tool defining all possible fields for creating a contact (organisation or person).
    export const contactCreateSchema = z .object({ type: contactType, name: z.string(), street: z.string().optional(), zipcode: z.string().optional(), city: z.string().optional(), state: z.string().optional(), country: z.string().optional(), phone: z.string().optional(), email: z.string().optional(), internet: z.string().optional(), linkedin: z.string().optional(), facebook: z.string().optional(), twitter: z.string().optional(), instagram: z.string().optional(), coc_number: z.string().optional(), vat_number: z.string().optional(), tags: tagsSchema.optional(), firstname: z.string().optional(), lastname: z.string().optional(), salutation: z.string().optional(), mobile: z.string().optional(), }) .passthrough();
  • Registration function that adds the createContactTool to the MCP server. The tool is imported on line 13 and included in the 'tools' array on line 32.
    export function registerTools({ server }: { server: FastMCP }) { (tools as unknown as FastMCPTool<Record<string, unknown>, ToolParameters>[]).map(initialContextGuard).forEach((tool) => server.addTool(tool)); }

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/offorte/offorte-mcp-server'

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