Skip to main content
Glama
Expert-Integrado

Conexa MCP

POST /contract (Contract)

create_contract

Create a customer contract in the Conexa system by specifying plan, payment frequency, start date, and first due date.

Instructions

Cadastro de um contrato para um Cliente no sistema Conexa.

Campos do body:

  • planId (integer) [obrigatório]: ID do plano

  • customerId (integer) [obrigatório]: ID do cliente

  • paymentFrequency (integer) [obrigatório]: Periodicidade do pagamendo do contrato conforme o plano, podendo ser: monthly , bimonthly , quarterly , semester e yearly

  • startDate (string) [obrigatório]: Data de início. Formato: yyyy-MM-dd

  • endDate (string): Data de encerramento. Formato: yyyy-MM-dd

  • firstDueDate (string) [obrigatório]: Determina a data de vencimento da primeira parcela. Formato yyyy-mm-dd

  • dueDay (integer) [obrigatório]: Dia de vencimento do contrato

  • fidelityDate (string): Data de fidelidade. Formato: yyyy-MM-dd

  • amount (decimal): Valor do contrato¹

  • discountValue (decimal): Valor do desconto aplicado ao valor do contrato (em reais)

  • sellerId (integer): ID do vendedor (usuário)

  • contractSummary (string): Descrição resumida do contrato

  • notes (string): Observações

  • membershipFee (decimal): Taxa de adesão do contrato

  • generateSales (string): Define a partir de quando deve gerar as vendas, podendo ser: firstOccurrence , currentOccurrence, nextOccurrence ou firstOccurrenceSettleRetroactive

  • expenseSettlement (object): Configura informações necessárias para quitar as cobranças retroativas, caso generateSales for firstOccurrenceSettleRetroactive .

  • expenseSettlement.receivingMethodId (integer): ID do meio de recebimento a ser utilizado para quitar as vendas retroativas

  • expenseSettlement.accountId (integer): ID da conta bancária a ser utilizada para quitar as vendas retroativas

  • prorataType (string): Define a forma como a prorata dese ser cálculada. Podendo ser: startOfMonth , notCalculate ou perDueDate (está última depende da configuração do sistema)

  • nfseDescription (string): Descrição utilizada na NFSe

  • refund (object / null): Configura os dados do depósito retornável. Informe null para não gerar, mesmo que esteja configurado no plano

  • refund.amount (decimal): Valor do depósito retornável

  • refund.dateLimit (string) [obrigatório]: Data de vencimento do depósito retornável

  • refund.isToGenerateRefundBillet (boolean) [obrigatório]: Define se deve ser gerado um boleto do depósito retornável

  • complementaryServices (array of objects): Define os serviços complementares que serão adicionados ao contrato

  • complementaryServices[].productOrServiceId (integer) [obrigatório]: Id do produto ou serviço

  • complementaryServices[].quantity (integer) [obrigatório]: Quantidade do produto ou serviço

  • complementaryServices[].amount (decimal): Valor final do serviço

  • complementaryServices[].notes (string): Observações

  • extraFields (array of objects / null): Lista de campos extras do contrato. Enviar null ou omitir para não alterar. Os campos extras devem ser do tipo contract

  • extraFields[].id (integer) [obrigatório]: ID do campo extra

  • extraFields[].value (string) [obrigatório]: Valor do campo extra

  • discountOnRooms (decimal): Desconto (%) aplicado às reservas de salas realizadas pelo contratante

  • discountOnWorkstation (decimal): Desconto (%) aplicado às reservas de ambientes compartilhados realizadas pelo contratante

  • privateSpaceId (integer): ID do Escritório Privativo vinculado ao Contrato

  • isSmsEnabled (boolean): Indica se o envio de recados via SMS está habilitado no contrato

  • calculateProrataHourPackage (boolean): Define se deve ser realizado o cálculo do prorata nos pacotes de horas

  • serviceCorrespondeceQuotas (object): Configura as cotas de Atendimento e Correpondência

  • serviceCorrespondeceQuotas.limited (boolean): Define se a quantidade de atendimentos ou correspondências é ou não limitada

  • serviceCorrespondeceQuotas.messagesLimit (integer) [obrigatório]: Define o limite de atendimentos ou correspondências. Definir como 0 para não adicionar cotas ao contrato

  • serviceCorrespondeceQuotas.priceAdditionalMessage (decimal) [obrigatório]: Define o valor a ser pago por atendimentos ou correspondências caso o limite seja ultrapassado

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bodyYesCorpo JSON da requisição (campos na descrição da tool)
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=false and destructiveHint=false, meaning it is a non-destructive write operation. The description does not contradict annotations but adds behavioral context through detailed field descriptions (e.g., required fields, formats, enums). However, it omits side effects, failure handling, or authentication requirements, which annotations alone do not provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is verbose, listing over 30 fields with nested objects. It is well-structured with bullet points and front-loaded purpose statement, but could be shortened by grouping similar fields or using tables. Every sentence earns its place given complexity, yet conciseness suffers.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description thoroughly covers all input parameters, including types, requirements, formats, and allowed values. However, it lacks description of the output or return value (no output schema) and does not address error scenarios or confirmation details. For a creation tool with complex input, parameter coverage is excellent, but behavioral context is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema only defines a 'body' property as an object with no internal structure. The description provides exhaustive details for all body fields: types, required status, formats, allowed values (enums), and nested object structures. This adds immense value beyond the sparse schema, making parameter semantics very clear.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Cadastro de um contrato para um Cliente no sistema Conexa', which specifies the verb (create/register), resource (contract), and context (for a client in the Conexa system). This distinguishes it from siblings like update_contract, delete_contract, and end_contract.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide explicit guidance on when to use this tool versus alternatives. It implicitly covers contract creation but lacks 'when-not-to-use' or comparison with similar tools like create_plan or create_recurring_sale. Usage is implied by the tool name and purpose, but no exclusions or prerequisites are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other 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/Expert-Integrado/conexa-mcp'

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