@lionchat/mcp-server 0.5.5 → 0.5.6
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/resources/best-practices.md +16 -4
- package/endpoints.json +30 -1
- package/package.json +1 -1
|
@@ -166,6 +166,16 @@ Como a coleta de dados/cenários funciona hoje (importante pra diagnosticar "IA
|
|
|
166
166
|
- O admin pode FIXAR o parâmetro de uma ferramenta no cenário (campo scenario.tool_bindings): quais mídias enviar, qual funil+etapa do card, quais agendas no agendamento. "Deixar a IA decidir" = binding vazio.
|
|
167
167
|
- Quando UM cenário fixa a tool, a execução vira determinística (a IA não escolhe): mídia e kanban são aplicados pós-turno pelo BindingResolver (ordem texto→ação, sem duplicar, idempotente); o agendamento força/restringe a agenda mas a IA ainda define data/hora.
|
|
168
168
|
- Via MCP: scenarios_create/update persiste binding de send_media_asset e create_kanban_item/move_kanban_item (re-escopados por conta). O binding de create_booking NÃO é aceito pela API — pra limitar agendas via MCP, use config.booking_event_type_ids no assistente (captain_assistants_update).
|
|
169
|
+
- Receita pra criar/editar cenário com binding via MCP (scenarios_create / scenarios_update): (1) o corpo vai SEMPRE embrulhado em `scenario`; (2) a instrução PRECISA mencionar a ferramenta como link markdown `[Rótulo](tool://slug)` — menção crua `(tool://slug)` NÃO conta e o binding é descartado no salvamento; (3) envie `tool_bindings` com o shape: `send_media_asset` → `{ "asset_ids": [Int] }`, `create_kanban_item`/`move_kanban_item` → `{ "funnel_id": Int, "stage": "<chave da etapa>" }`. Não precisa mandar `tools` (é auto-extraído da instrução e sobrescrito). `create_booking` NÃO entra em tool_bindings pela API.
|
|
170
|
+
|
|
171
|
+
## Variáveis {{ }} nas instruções do AI Agente (2026-06)
|
|
172
|
+
|
|
173
|
+
As instruções aceitam variáveis Liquid `{{ }}` que chegam JÁ PREENCHIDAS com os dados reais do contato/conversa do atendimento — vale pra instrução base do assistente (`config.instructions`) e pra instrução de cada cenário (`scenario.instruction`). O texto é gravado como está (sem sanitização); cap de 20.000 chars na base.
|
|
174
|
+
|
|
175
|
+
- Contato: `{{contact.name}}`, `{{contact.first_name}}`, `{{contact.last_name}}`, `{{contact.email}}`, `{{contact.phone}}`, `{{contact.cpf}}`, `{{contact.cnpj}}`, `{{contact.rg}}`, `{{contact.date_of_birth}}`, `{{contact.profession}}`, `{{contact.address.city}}` (e `.cep`/`.street`/`.number`/`.neighborhood`/`.state`...), `{{contact.custom_attribute.<chave>}}`.
|
|
176
|
+
- Conversa: `{{conversation.display_id}}`, `{{conversation.custom_attribute.<chave>}}`.
|
|
177
|
+
- Variável sem valor sai vazia (não quebra). Texto SEM `{{` sai idêntico (preserva o cache do prompt) — só use variável quando agregar.
|
|
178
|
+
- ATENÇÃO: variável de CONTA NÃO funciona aqui — `{{account.custom_attribute.<chave>}}` (slogan, endereço...) sai VAZIA dentro das instruções do AI Agente (o contexto só tem `contact` e `conversation`, proteção contra vazar secret). Pra um valor fixo da empresa no prompt, escreva o valor literal no texto.
|
|
169
179
|
|
|
170
180
|
## Conhecimento passivo da IA: FAQ + artigos (RAG) (2026-06)
|
|
171
181
|
|
|
@@ -242,10 +252,12 @@ campanha e mostre a contagem ao usuário — estimativa e disparo usam o mesmo m
|
|
|
242
252
|
|
|
243
253
|
## Variáveis de conta (account_variables)
|
|
244
254
|
|
|
245
|
-
Pra dados que se repetem (slogans, endereços, horários):
|
|
246
|
-
- `account_variables_create` UMA vez
|
|
247
|
-
- Use em templates com `{{slogan}}
|
|
248
|
-
-
|
|
255
|
+
Pra dados fixos que se repetem (slogans, endereços, horários):
|
|
256
|
+
- `account_variables_create` UMA vez — campos: `attribute_display_name` (rótulo), `attribute_key` (a chave usada no `{{ }}`), `attribute_display_type` (`text`; use `secret` pra token/senha), `value`. Admin-only.
|
|
257
|
+
- Use em templates com a sintaxe COMPLETA `{{ account.custom_attribute.<attribute_key> }}` (ex: `{{ account.custom_attribute.slogan }}`). NÃO existe atalho `{{slogan}}` solto — sem o prefixo `account.custom_attribute.` não resolve.
|
|
258
|
+
- Resolve em: mensagens, respostas prontas, campanhas e automações. NÃO resolve nas instruções do AI Agente (base/cenário) — ali só `contact.*` e `conversation.*`.
|
|
259
|
+
- `secret` nunca aparece em template (sai vazio); só resolve em nós API Request do FlowBuilder.
|
|
260
|
+
- Atualiza UMA vez, propaga pra todo lugar.
|
|
249
261
|
|
|
250
262
|
Nunca hard-code esses dados em respostas geradas.
|
|
251
263
|
|
package/endpoints.json
CHANGED
|
@@ -5761,6 +5761,20 @@
|
|
|
5761
5761
|
"location": "body",
|
|
5762
5762
|
"required": false,
|
|
5763
5763
|
"description": "Toggle ativo/inativo (default true)"
|
|
5764
|
+
},
|
|
5765
|
+
{
|
|
5766
|
+
"name": "tools",
|
|
5767
|
+
"type": "array",
|
|
5768
|
+
"location": "body",
|
|
5769
|
+
"required": false,
|
|
5770
|
+
"description": "Lista de slugs das ferramentas do cenario (ex: [\"send_media_asset\",\"create_kanban_item\"]). NORMALMENTE NAO precisa enviar: e DERIVADO automaticamente das mencoes [Rotulo](tool://slug) na instrucao e SOBRESCRITO no salvamento. Quem governa e o texto da instrucao."
|
|
5771
|
+
},
|
|
5772
|
+
{
|
|
5773
|
+
"name": "tool_bindings",
|
|
5774
|
+
"type": "object",
|
|
5775
|
+
"location": "body",
|
|
5776
|
+
"required": false,
|
|
5777
|
+
"description": "Parametro FIXADO por ferramenta (admin pre-define em vez de a IA escolher). Shapes aceitos: send_media_asset -> { \"asset_ids\": [Int] }; create_kanban_item e move_kanban_item -> { \"funnel_id\": Int, \"stage\": \"<chave da etapa>\" }. create_booking NAO e aceito aqui (para restringir agendas use config.booking_event_type_ids no assistente via captain_assistants_update). O binding so COLA se a ferramenta estiver mencionada como [Rotulo](tool://slug) na instrucao; senao e podado no salvamento. IDs de outra conta sao descartados (re-escopo por conta)."
|
|
5764
5778
|
}
|
|
5765
5779
|
],
|
|
5766
5780
|
"returns": "assistente AI criado (com novo ID)",
|
|
@@ -5860,6 +5874,20 @@
|
|
|
5860
5874
|
"location": "body",
|
|
5861
5875
|
"required": false,
|
|
5862
5876
|
"description": "Toggle ativo/inativo"
|
|
5877
|
+
},
|
|
5878
|
+
{
|
|
5879
|
+
"name": "tools",
|
|
5880
|
+
"type": "array",
|
|
5881
|
+
"location": "body",
|
|
5882
|
+
"required": false,
|
|
5883
|
+
"description": "Lista de slugs das ferramentas do cenario (ex: [\"send_media_asset\",\"create_kanban_item\"]). NORMALMENTE NAO precisa enviar: e DERIVADO automaticamente das mencoes [Rotulo](tool://slug) na instrucao e SOBRESCRITO no salvamento. Quem governa e o texto da instrucao."
|
|
5884
|
+
},
|
|
5885
|
+
{
|
|
5886
|
+
"name": "tool_bindings",
|
|
5887
|
+
"type": "object",
|
|
5888
|
+
"location": "body",
|
|
5889
|
+
"required": false,
|
|
5890
|
+
"description": "Parametro FIXADO por ferramenta (admin pre-define em vez de a IA escolher). Shapes aceitos: send_media_asset -> { \"asset_ids\": [Int] }; create_kanban_item e move_kanban_item -> { \"funnel_id\": Int, \"stage\": \"<chave da etapa>\" }. create_booking NAO e aceito aqui (para restringir agendas use config.booking_event_type_ids no assistente via captain_assistants_update). O binding so COLA se a ferramenta estiver mencionada como [Rotulo](tool://slug) na instrucao; senao e podado no salvamento. IDs de outra conta sao descartados (re-escopo por conta)."
|
|
5863
5891
|
}
|
|
5864
5892
|
],
|
|
5865
5893
|
"returns": "assistente AI atualizado",
|
|
@@ -5872,7 +5900,8 @@
|
|
|
5872
5900
|
"lionchat_captain_assistants_list",
|
|
5873
5901
|
"lionchat_captain_assistants_create",
|
|
5874
5902
|
"lionchat_captain_assistants_show"
|
|
5875
|
-
]
|
|
5903
|
+
],
|
|
5904
|
+
"body_wrapper": "scenario"
|
|
5876
5905
|
},
|
|
5877
5906
|
{
|
|
5878
5907
|
"id": "lionchat_captain_assistants_destroy_1",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lionchat/mcp-server",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.6",
|
|
4
4
|
"description": "MCP server for LionChat API — 547 tools + 10 resources + 9 prompts. Audit-log aware, completion API, progress notifications.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|