Sienge MCP by usefulapi
Read customers, sales contracts, receivables, purchase orders and units; create customers in Sienge.
사용해야 할까요
품질 및 안전성
발견 사항 (1)
- LOWsienge_list_receivable_installments에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"sienge": {
"url": "https://sienge.usefulapi.io/mcp"
}
}
}원격 엔드포인트
https://sienge.usefulapi.io/mcpstreamable-http할 수 있는 일
도구 목록
도구 (17)
🟢sienge_list_customers(cpf, cnpj, onlyActive, enterpriseId, createdAfter, ...)
List the customers of the Sienge account, ordered by id. Filter by CPF or CNPJ, enterprise, or create and change dates. GET /customers.
입력 스키마
{
"type": "object",
"properties": {
"cpf": {
"description": "Only the customer with this CPF (11 digits).",
"type": "string",
"pattern": "^\\d{11}$"
},
"cnpj": {
"description": "Only the customer with this CNPJ (14 digits).",
"type": "string",
"pattern": "^\\d{14}$"
},
"onlyActive": {
"description": "Only active customers.",
"type": "boolean"
},
"enterpriseId": {
"description": "Only customers linked to this enterprise id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"createdAfter": {
"description": "Created on or after this date (yyyy-MM-dd).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"createdBefore": {
"description": "Created on or before this date (yyyy-MM-dd).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"modifiedAfter": {
"description": "Changed on or after this date (yyyy-MM-dd).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"modifiedBefore": {
"description": "Changed on or before this date (yyyy-MM-dd).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"limit": {
"description": "Rows per page, 1 to 200 (the API default is 100).",
"type": "integer",
"minimum": 1,
"maximum": 200
},
"offset": {
"description": "Rows to skip, from 0.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢sienge_get_customer(customerId)
Show one customer with its phones, addresses, agents, procurators, spouse and family income. GET /customers/{customerId}.
입력 스키마
{
"type": "object",
"properties": {
"customerId": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Customer id."
}
},
"required": [
"customerId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴sienge_create_customer(personType, name, cpf, sex, cnpj, ...)
Create a customer: a natural person (personType F, needs cpf and sex) or a legal person (personType J, needs cnpj). POST /customers. The call is never retried: check sienge_list_customers before you create the same customer again.
입력 스키마
{
"type": "object",
"properties": {
"personType": {
"type": "string",
"enum": [
"F",
"J"
],
"description": "F = natural person (needs cpf and sex). J = legal person (needs cnpj)."
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Full name, or the company name for a legal person."
},
"cpf": {
"description": "CPF of a natural person (11 digits).",
"type": "string",
"pattern": "^\\d{11}$"
},
"sex": {
"description": "Sex of a natural person: F or M.",
"type": "string",
"enum": [
"F",
"M"
]
},
"cnpj": {
"description": "CNPJ of a legal person (14 digits).",
"type": "string",
"pattern": "^\\d{14}$"
},
"email": {
"description": "E-mail address.",
"type": "string",
"maxLength": 254
},
"typeId": {
"description": "Customer type id from the customer-type register of the Sienge account.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"personType",
"name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢sienge_list_companies(limit, offset)
List the companies (business units) of the Sienge account, ordered by id. GET /companies.
입력 스키마
{
"type": "object",
"properties": {
"limit": {
"description": "Rows per page, 1 to 200 (the API default is 100).",
"type": "integer",
"minimum": 1,
"maximum": 200
},
"offset": {
"description": "Rows to skip, from 0.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢sienge_list_enterprises(companyId, type, receivableRegister, onlyBuildingsEnabledForIntegration, limit, ...)
List the enterprises (construction projects) of the account. Filter by company or type. GET /enterprises.
입력 스키마
{
"type": "object",
"properties": {
"companyId": {
"description": "Only enterprises of this company id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"type": {
"description": "Enterprise type code, 1 to 4, as the Sienge register defines it.",
"type": "integer",
"minimum": 1,
"maximum": 4
},
"receivableRegister": {
"description": "Receivables register used by the enterprise.",
"type": "string",
"enum": [
"B3",
"CERC"
]
},
"onlyBuildingsEnabledForIntegration": {
"description": "Only enterprises enabled for integration.",
"type": "boolean"
},
"limit": {
"description": "Rows per page, 1 to 200 (the API default is 100).",
"type": "integer",
"minimum": 1,
"maximum": 200
},
"offset": {
"description": "Rows to skip, from 0.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢sienge_list_creditors(cpf, cnpj, creditor, limit, offset)
List the creditors (suppliers and other payees), filtered by CPF, CNPJ or name. GET /creditors.
입력 스키마
{
"type": "object",
"properties": {
"cpf": {
"description": "Only the creditor with this CPF (11 digits).",
"type": "string",
"pattern": "^\\d{11}$"
},
"cnpj": {
"description": "Only the creditor with this CNPJ (14 digits).",
"type": "string",
"pattern": "^\\d{14}$"
},
"creditor": {
"description": "Only creditors whose name contains this text.",
"type": "string",
"maxLength": 200
},
"limit": {
"description": "Rows per page, 1 to 200 (the API default is 100).",
"type": "integer",
"minimum": 1,
"maximum": 200
},
"offset": {
"description": "Rows to skip, from 0.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢sienge_get_creditor(creditorId)
Show one creditor with its contacts, phones, address, bank data and tax classification. GET /creditors/{creditorId}.
입력 스키마
{
"type": "object",
"properties": {
"creditorId": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Creditor id."
}
},
"required": [
"creditorId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢sienge_list_sales_contracts(customerId, companyId, enterpriseId, unitId, number, ...)
List sales contracts, filtered by customer, company, enterprise, unit, number or dates. GET /sales-contracts.
입력 스키마
{
"type": "object",
"properties": {
"customerId": {
"description": "Only contracts of this customer id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"companyId": {
"description": "Only contracts of this company id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"enterpriseId": {
"description": "Only contracts of this enterprise id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"unitId": {
"description": "Only contracts of this unit id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"number": {
"description": "Only the contract with this number.",
"type": "string",
"maxLength": 60
},
"createdAfter": {
"description": "Created on or after this date (yyyy-MM-dd).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"createdBefore": {
"description": "Created on or before this date (yyyy-MM-dd).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"modifiedAfter": {
"description": "Changed on or after this date (yyyy-MM-dd).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"modifiedBefore": {
"description": "Changed on or before this date (yyyy-MM-dd).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"limit": {
"description": "Rows per page, 1 to 200 (the API default is 100).",
"type": "integer",
"minimum": 1,
"maximum": 200
},
"offset": {
"description": "Rows to skip, from 0.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢sienge_get_sales_contract(salesContractId)
Show one sales contract with its customers, units, payment conditions, brokers and commissions. GET /sales-contracts/{salesContractId}.
입력 스키마
{
"type": "object",
"properties": {
"salesContractId": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Sales contract id."
}
},
"required": [
"salesContractId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢sienge_list_receivable_bills(customerId, companyId, costCenterId, paidOff, limit, ...)
List the receivable bills (accounts receivable titles) of one customer. GET /accounts-receivable/receivable-bills.
입력 스키마
{
"type": "object",
"properties": {
"customerId": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Customer id whose receivable bills to list (required)."
},
"companyId": {
"description": "Only bills of this company id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"costCenterId": {
"description": "Only bills of this cost center id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"paidOff": {
"description": "true = only paid bills, false = only open bills.",
"type": "boolean"
},
"limit": {
"description": "Rows per page, 1 to 200 (the API default is 100).",
"type": "integer",
"minimum": 1,
"maximum": 200
},
"offset": {
"description": "Rows to skip, from 0.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"customerId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢sienge_list_receivable_installments(receivableBillId, limit, offset)
List the installments (parcelas) of one receivable bill with due dates and amounts. GET /accounts-receivable/receivable-bills/{receivableBillId}/installments.
입력 스키마
{
"type": "object",
"properties": {
"receivableBillId": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Receivable bill id (from sienge_list_receivable_bills)."
},
"limit": {
"description": "Rows per page, 1 to 200 (the API default is 100).",
"type": "integer",
"minimum": 1,
"maximum": 200
},
"offset": {
"description": "Rows to skip, from 0.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"receivableBillId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢sienge_list_purchase_orders(startDate, endDate, status, authorized, statusApproval, ...)
List purchase orders by order date, status, approval, supplier or building. GET /purchase-orders.
입력 스키마
{
"type": "object",
"properties": {
"startDate": {
"description": "Order date from (yyyy-MM-dd).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"endDate": {
"description": "Order date to (yyyy-MM-dd).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"status": {
"description": "Delivery status.",
"type": "string",
"enum": [
"PENDING",
"PARTIALLY_DELIVERED",
"FULLY_DELIVERED",
"CANCELED"
]
},
"authorized": {
"description": "true = only authorized orders.",
"type": "boolean"
},
"statusApproval": {
"description": "Approval status.",
"type": "string",
"enum": [
"APPROVED",
"DISAPPROVED"
]
},
"supplierId": {
"description": "Only orders of this supplier (creditor) id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"buildingId": {
"description": "Only orders for this enterprise (building) id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"limit": {
"description": "Rows per page, 1 to 200 (the API default is 100).",
"type": "integer",
"minimum": 1,
"maximum": 200
},
"offset": {
"description": "Rows to skip, from 0.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢sienge_get_purchase_order(purchaseOrderId)
Show one purchase order: status, supplier, building, totals and payment condition. GET /purchase-orders/{purchaseOrderId}.
입력 스키마
{
"type": "object",
"properties": {
"purchaseOrderId": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Purchase order id."
}
},
"required": [
"purchaseOrderId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢sienge_list_purchase_invoices(startDate, endDate, companyId, supplierId, documentId, ...)
List purchase invoices (notas fiscais de compra) by issue period, company, supplier, document or number. GET /purchase-invoices.
입력 스키마
{
"type": "object",
"properties": {
"startDate": {
"description": "Issue date from (yyyy-MM-dd).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"endDate": {
"description": "Issue date to (yyyy-MM-dd).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"companyId": {
"description": "Only invoices of this company id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"supplierId": {
"description": "Only invoices of this supplier (creditor) id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"documentId": {
"description": "Only the invoice with this document id.",
"type": "string",
"maxLength": 60
},
"series": {
"description": "Only invoices of this series.",
"type": "string",
"maxLength": 20
},
"number": {
"description": "Only the invoice with this number.",
"type": "string",
"maxLength": 60
},
"limit": {
"description": "Rows per page, 1 to 200 (the API default is 100).",
"type": "integer",
"minimum": 1,
"maximum": 200
},
"offset": {
"description": "Rows to skip, from 0.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢sienge_list_units(enterpriseId, name, additionalData, limit, offset)
List the real-estate units (imóveis) of the account, ordered by id descending. GET /units.
입력 스키마
{
"type": "object",
"properties": {
"enterpriseId": {
"description": "Only units of this enterprise id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"name": {
"description": "Only units whose name contains this text.",
"type": "string",
"maxLength": 200
},
"additionalData": {
"description": "ALL = include extra unit data, NONE = leave it out.",
"type": "string",
"enum": [
"ALL",
"NONE"
]
},
"limit": {
"description": "Rows per page, 1 to 200 (the API default is 100).",
"type": "integer",
"minimum": 1,
"maximum": 200
},
"offset": {
"description": "Rows to skip, from 0.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢sienge_get_unit(unitId)
Show one unit with its enterprise, areas, address, evaluations and groupings. GET /units/{unitId}.
입력 스키마
{
"type": "object",
"properties": {
"unitId": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Unit id."
}
},
"required": [
"unitId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢sienge_list_departments(name, active, limit, offset)
List the departments of the account, optionally filtered by name or active state. GET /departments.
입력 스키마
{
"type": "object",
"properties": {
"name": {
"description": "Only departments whose name contains this text.",
"type": "string",
"maxLength": 200
},
"active": {
"description": "true = only active departments.",
"type": "boolean"
},
"limit": {
"description": "Rows per page, 1 to 200 (the API default is 100).",
"type": "integer",
"minimum": 1,
"maximum": 200
},
"offset": {
"description": "Rows to skip, from 0.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}커뮤니티
증거