@lionchat/mcp-server 1.5.0 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/docs/instructions.md +2 -1
- package/dist/docs/resources/best-practices.md +61 -2
- package/dist/docs/resources/data-model.md +16 -0
- package/dist/docs/resources/filtros-e-relatorios.md +147 -0
- package/dist/docs/resources/reports-guide.md +32 -3
- package/dist/docs/resources/troubleshooting.md +33 -0
- package/dist/resources.js +6 -0
- package/dist/resources.js.map +1 -1
- package/dist/sanitize.d.ts +9 -0
- package/dist/sanitize.js +136 -0
- package/dist/sanitize.js.map +1 -0
- package/dist/tools.js +27 -3
- package/dist/tools.js.map +1 -1
- package/dist/utils.d.ts +5 -1
- package/dist/utils.js +78 -10
- package/dist/utils.js.map +1 -1
- package/endpoints.json +428 -68
- package/package.json +1 -1
package/dist/tools.js
CHANGED
|
@@ -5,6 +5,7 @@ import { substitutePath, buildQueryString, formatResponse, separateParams, } fro
|
|
|
5
5
|
import { readFileSync } from 'fs';
|
|
6
6
|
import { resolve, dirname } from 'path';
|
|
7
7
|
import { fileURLToPath } from 'url';
|
|
8
|
+
import { FULL_RESPONSE_PARAM, FULL_RESPONSE_DESCRIPTION, supportsFullResponse, } from './sanitize.js';
|
|
8
9
|
// AIDEV-NOTE: Map HTTP method to tool annotations for MCP client hinting
|
|
9
10
|
function getToolAnnotations(method) {
|
|
10
11
|
switch (method.toUpperCase()) {
|
|
@@ -137,7 +138,10 @@ function paramTypeToZod(param) {
|
|
|
137
138
|
// AIDEV-NOTE: Build Zod object schema from endpoint params.
|
|
138
139
|
// account_id is exposed as OPTIONAL — when omitted we fall back to LIONCHAT_ACCOUNT_ID.
|
|
139
140
|
// This enables multi-tenant usage (single MCP instance can hit several accounts).
|
|
140
|
-
|
|
141
|
+
// AIDEV-NOTE: [2026-07-24] toolId opcional — tools curadas (sanitize.FULL_RESPONSE_TOOLS)
|
|
142
|
+
// ganham o param full_response no schema (escape do slim). NAO injetar nas 682 (inflaria
|
|
143
|
+
// o tools/list em ~20-30k tokens).
|
|
144
|
+
function buildZodSchema(params, toolId) {
|
|
141
145
|
const shape = {};
|
|
142
146
|
let hasAccountIdInPath = false;
|
|
143
147
|
for (const param of params) {
|
|
@@ -168,6 +172,13 @@ function buildZodSchema(params) {
|
|
|
168
172
|
.optional()
|
|
169
173
|
.describe('ID da conta. Opcional — se ausente, usa LIONCHAT_ACCOUNT_ID. Informe para chamar uma conta diferente sem reiniciar o MCP.');
|
|
170
174
|
}
|
|
175
|
+
// AIDEV-NOTE: [2026-07-24] Escape do slim so nas tools curadas — ver sanitize.ts.
|
|
176
|
+
if (toolId && supportsFullResponse(toolId)) {
|
|
177
|
+
shape[FULL_RESPONSE_PARAM] = z
|
|
178
|
+
.boolean()
|
|
179
|
+
.optional()
|
|
180
|
+
.describe(FULL_RESPONSE_DESCRIPTION);
|
|
181
|
+
}
|
|
171
182
|
return z.object(shape);
|
|
172
183
|
}
|
|
173
184
|
// AIDEV-NOTE: Check if endpoint has any file-type params (unsupported in MCP v1)
|
|
@@ -176,7 +187,7 @@ function hasFileParam(params) {
|
|
|
176
187
|
}
|
|
177
188
|
// AIDEV-NOTE: Register a single API endpoint as an MCP tool
|
|
178
189
|
function registerSingleTool(server, config, client, endpoint) {
|
|
179
|
-
const schema = buildZodSchema(endpoint.params);
|
|
190
|
+
const schema = buildZodSchema(endpoint.params, endpoint.id);
|
|
180
191
|
const annotations = getToolAnnotations(endpoint.method);
|
|
181
192
|
const hasFile = hasFileParam(endpoint.params);
|
|
182
193
|
// AIDEV-NOTE: Prepend file upload warning to description when endpoint needs file params
|
|
@@ -216,6 +227,11 @@ function registerSingleTool(server, config, client, endpoint) {
|
|
|
216
227
|
: config.accountId;
|
|
217
228
|
const paramsWithoutAccount = { ...params };
|
|
218
229
|
delete paramsWithoutAccount['account_id'];
|
|
230
|
+
// AIDEV-NOTE: [2026-07-24] full_response e flag do CONECTOR (escape do slim) — stripar
|
|
231
|
+
// SEMPRE antes do bucketing (mesmo tratamento do account_id), senao o catch-all
|
|
232
|
+
// default->body do separateParams vazaria o campo pro corpo enviado ao Rails.
|
|
233
|
+
const fullResponse = params[FULL_RESPONSE_PARAM] === true;
|
|
234
|
+
delete paramsWithoutAccount[FULL_RESPONSE_PARAM];
|
|
219
235
|
const { pathParams, queryParams, bodyParams } = separateParams(paramsWithoutAccount, endpoint.params, endpoint.body_wrapper);
|
|
220
236
|
const path = substitutePath(endpoint.path, effectiveAccountId, pathParams);
|
|
221
237
|
const queryStr = buildQueryString(queryParams);
|
|
@@ -226,7 +242,15 @@ function registerSingleTool(server, config, client, endpoint) {
|
|
|
226
242
|
body: Object.keys(bodyParams).length > 0 ? bodyParams : undefined,
|
|
227
243
|
});
|
|
228
244
|
return {
|
|
229
|
-
content: [
|
|
245
|
+
content: [
|
|
246
|
+
{
|
|
247
|
+
type: 'text',
|
|
248
|
+
text: formatResponse(result, {
|
|
249
|
+
slim: !fullResponse,
|
|
250
|
+
toolId: endpoint.id,
|
|
251
|
+
}),
|
|
252
|
+
},
|
|
253
|
+
],
|
|
230
254
|
};
|
|
231
255
|
}
|
|
232
256
|
catch (err) {
|
package/dist/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
package/dist/utils.d.ts
CHANGED
|
@@ -5,7 +5,11 @@ export interface SeparatedParams {
|
|
|
5
5
|
}
|
|
6
6
|
export declare function substitutePath(pathTemplate: string, accountId: string, params: Record<string, unknown>): string;
|
|
7
7
|
export declare function buildQueryString(params: Record<string, unknown>): string;
|
|
8
|
-
export
|
|
8
|
+
export interface FormatResponseOptions {
|
|
9
|
+
slim?: boolean;
|
|
10
|
+
toolId?: string;
|
|
11
|
+
}
|
|
12
|
+
export declare function formatResponse(data: unknown, opts?: FormatResponseOptions): string;
|
|
9
13
|
export declare function separateParams(input: Record<string, unknown>, paramDefs: Array<{
|
|
10
14
|
name: string;
|
|
11
15
|
location: string;
|
package/dist/utils.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// AIDEV-NOTE: Utility module for LionChat MCP server
|
|
2
2
|
// Path substitution, query string building, param separation, and response formatting
|
|
3
|
+
import { sanitizeResponse } from './sanitize.js';
|
|
3
4
|
// AIDEV-NOTE: Replace {account_id} and other {param} placeholders in URL path templates
|
|
4
5
|
export function substitutePath(pathTemplate, accountId, params) {
|
|
5
6
|
let result = pathTemplate.replace('{account_id}', accountId);
|
|
@@ -37,17 +38,84 @@ export function buildQueryString(params) {
|
|
|
37
38
|
// AIDEV-NOTE: Format API response data for MCP client consumption
|
|
38
39
|
// AIDEV-NOTE: [fix relatorios 18/07] Teto 80k (era 50k) — relatorios/listas gordas de conversa
|
|
39
40
|
// (partial + kanban_items com funnel.stages) estouravam 50k e cortavam o registro no meio.
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
const
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
41
|
+
// AIDEV-NOTE: [2026-07-24] Teto configuravel por env LIONCHAT_MCP_MAX_RESPONSE (min 10k).
|
|
42
|
+
const MAX_RESPONSE_LENGTH = (() => {
|
|
43
|
+
const env = Number.parseInt(process.env.LIONCHAT_MCP_MAX_RESPONSE ?? '', 10);
|
|
44
|
+
return Number.isFinite(env) && env >= 10000 ? env : 80000;
|
|
45
|
+
})();
|
|
46
|
+
// AIDEV-NOTE: [2026-07-24] TODA resposta passa por sanitizeResponse (segredos SEMPRE redigidos;
|
|
47
|
+
// campos pesados podados por default — ver sanitize.ts). Ao estourar o teto, tenta CORTE LIMPO:
|
|
48
|
+
// remove itens inteiros do final do maior array em vez de fatiar o JSON no meio de um registro.
|
|
49
|
+
export function formatResponse(data, opts) {
|
|
50
|
+
const sanitized = typeof data === 'string'
|
|
51
|
+
? data
|
|
52
|
+
: sanitizeResponse(data, { slim: opts?.slim !== false, toolId: opts?.toolId });
|
|
53
|
+
const text = typeof sanitized === 'string' ? sanitized : JSON.stringify(sanitized, null, 2);
|
|
54
|
+
if (text.length <= MAX_RESPONSE_LENGTH) {
|
|
55
|
+
return text;
|
|
49
56
|
}
|
|
50
|
-
|
|
57
|
+
const clean = tryCleanCut(sanitized, MAX_RESPONSE_LENGTH);
|
|
58
|
+
if (clean) {
|
|
59
|
+
return clean;
|
|
60
|
+
}
|
|
61
|
+
// AIDEV-NOTE: [fix relatorios 18/07] Fallback: aviso HONESTO — o JSON acima esta cortado no
|
|
62
|
+
// meio (INCOMPLETO). Nem toda ferramenta pagina (relatorios agregados nao), entao o certo e
|
|
63
|
+
// ESTREITAR: intervalo de datas menor, mais filtros, per_page menor, ou page nas listas.
|
|
64
|
+
return (text.slice(0, MAX_RESPONSE_LENGTH) +
|
|
65
|
+
`\n\n[RESPOSTA CORTADA em ${MAX_RESPONSE_LENGTH} caracteres — os dados acima estao INCOMPLETOS e o JSON pode estar truncado no meio de um registro. Para obter tudo: reduza o intervalo de datas, adicione filtros, use per_page menor, ou pagine com page nas ferramentas de LISTA. Relatorios agregados NAO paginam — restrinja o periodo.]`);
|
|
66
|
+
}
|
|
67
|
+
// AIDEV-NOTE: [2026-07-24] Corte limpo — localiza o maior array de itens nos shapes conhecidos
|
|
68
|
+
// ({data:[...]}, {payload:[...]}, {items:[...]}, {data:{payload:[...]}} ou array na raiz) e faz
|
|
69
|
+
// busca binaria pelo maior prefixo de itens INTEIROS que cabe no teto. Shape nao reconhecido ou
|
|
70
|
+
// array com <2 itens => null (chamador usa o fallback de fatia crua).
|
|
71
|
+
function tryCleanCut(value, max) {
|
|
72
|
+
const isObj = (v) => !!v && typeof v === 'object' && !Array.isArray(v);
|
|
73
|
+
let arr = null;
|
|
74
|
+
let rebuild = null;
|
|
75
|
+
if (Array.isArray(value)) {
|
|
76
|
+
arr = value;
|
|
77
|
+
rebuild = (sliced) => sliced;
|
|
78
|
+
}
|
|
79
|
+
else if (isObj(value)) {
|
|
80
|
+
for (const key of ['data', 'payload', 'items']) {
|
|
81
|
+
const v = value[key];
|
|
82
|
+
if (Array.isArray(v) && v.length > 1) {
|
|
83
|
+
arr = v;
|
|
84
|
+
rebuild = (sliced) => ({ ...value, [key]: sliced });
|
|
85
|
+
break;
|
|
86
|
+
}
|
|
87
|
+
// Shape cru aninhado de conversas: { data: { meta, payload: [...] } }
|
|
88
|
+
if (key === 'data' && isObj(v) && Array.isArray(v.payload) && v.payload.length > 1) {
|
|
89
|
+
arr = v.payload;
|
|
90
|
+
rebuild = (sliced) => ({ ...value, data: { ...v, payload: sliced } });
|
|
91
|
+
break;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
if (!arr || !rebuild || arr.length < 2) {
|
|
96
|
+
return null;
|
|
97
|
+
}
|
|
98
|
+
let lo = 1;
|
|
99
|
+
let hi = arr.length - 1;
|
|
100
|
+
let best = null;
|
|
101
|
+
let bestKeep = 0;
|
|
102
|
+
while (lo <= hi) {
|
|
103
|
+
const mid = (lo + hi) >> 1;
|
|
104
|
+
const text = JSON.stringify(rebuild(arr.slice(0, mid)), null, 2);
|
|
105
|
+
if (text.length <= max) {
|
|
106
|
+
best = text;
|
|
107
|
+
bestKeep = mid;
|
|
108
|
+
lo = mid + 1;
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
hi = mid - 1;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
if (!best) {
|
|
115
|
+
return null;
|
|
116
|
+
}
|
|
117
|
+
return (best +
|
|
118
|
+
`\n\n[LISTA ENXUGADA para caber no limite: exibindo ${bestKeep} de ${arr.length} itens desta resposta (JSON acima esta INTEIRO, so com menos itens). Para o restante: pagine, adicione filtros ou reduza o periodo.]`);
|
|
51
119
|
}
|
|
52
120
|
// AIDEV-NOTE: Route each input param to path/query/body based on endpoint parameter definitions
|
|
53
121
|
// Supports nested body params via dot-notation: `config.temperature` becomes body.config.temperature
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,sFAAsF;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|