13. Assistente de IA: o servidor MCP da documentação #
Um assistente de IA (Claude Code, Claude Desktop, Cursor, VS Code…) que escreve PowerScript para o PBToolboxAI não conhece a biblioteca: adivinha nomes de métodos, argumentos, eventos — e engana-se com convicção. O servidor MCP da documentação dá-lhe a API exata da sua versão: consulta-a em vez de a inventar, e verifica o código que lhe propõe.
13.1 O que é #
- Um servidor MCP (Model Context Protocol, o protocolo aberto através do qual um assistente de IA chama ferramentas), lançado pelo próprio assistente.
- Gratuito, sem licença: serve apenas a documentação pública, incluída com ele. Funciona sem ligação e não lê nem envia nada do seu computador.
- Uma versão da documentação por versão da biblioteca: o servidor entregue com a 4.0 descreve a 4.0.
13.2 Instalá-lo #
É entregue no pacote de demonstração, na pasta mcp\: o servidor (server\server.js), a documentação que serve (index\) e um README.md. Nada a descarregar, nada mais a instalar além do Node.js 18 ou posterior (nodejs.org) — node --version indica-lhe a sua.
Descomprima o pacote e guarde a pasta mcp\ onde vai ficar — por exemplo C:\PBToolboxAI\mcp\, o caminho dos exemplos abaixo: a configuração do assistente indica o caminho completo de server\server.js.
13.3 Declará-lo ao seu assistente #
Em todos os casos, o comando é node e o seu argumento o caminho completo de server\server.js. Num ficheiro JSON, cada barra invertida do caminho é duplicada.
Claude Code — uma linha de comando. As opções vêm antes do nome do servidor; --scope user torna-o disponível em todos os seus projetos (sem ela, só no projeto atual):
claude mcp add --scope user pbtoolboxai-docs -- node C:\PBToolboxAI\mcp\server\server.js
Um caminho que contém espaços vai entre aspas duplas:
claude mcp add --scope user pbtoolboxai-docs -- node "C:\Program Files\PBToolboxAI\mcp\server\server.js"
Ou, para toda a equipa de um projeto, o ficheiro .mcp.json na sua raiz (é o que escreve claude mcp add --scope project) — o Claude Desktop e o Cursor aceitam o mesmo conteúdo:
{
"mcpServers": {
"pbtoolboxai-docs": {
"command": "node",
"args": ["C:\\PBToolboxAI\\mcp\\server\\server.js"]
}
}
}
- Claude Desktop: Settings › Developer › Edit Config abre
claude_desktop_config.json(%APPDATA%\Claude\no Windows). Guarde, feche completamente o Claude Desktop e volte a abri-lo. - Cursor:
.cursor/mcp.jsonna raiz do projeto, ou~/.cursor/mcp.jsonpara todos os seus projetos.
VS Code — .vscode/mcp.json no projeto, ou o comando MCP: Open User Configuration para todos os seus espaços de trabalho; a chave é servers e o tipo stdio:
{
"servers": {
"pbtoolboxai-docs": {
"type": "stdio",
"command": "node",
"args": ["C:\\PBToolboxAI\\mcp\\server\\server.js"]
}
}
}
13.4 As ferramentas #
O assistente escolhe sozinho a ferramenta que responde à sua pergunta:
| Ferramenta | O que responde |
|---|---|
list_components | Os componentes: classe, visual ou não, versão de introdução, gratuito ou pago, rubrica |
get_component | Toda a API de um componente: propriedades, métodos, eventos, constantes, handles de item, membros herdados; dll dá as funções externas da DLL a declarar |
get_member | Um membro: assinatura exata e sobrecargas, códigos de retorno, descrição, um exemplo, o que mudou de uma versão para outra; também a declaração exata de uma função PBT_* |
get_topic | Uma página geral ou uma das suas secções inteira: instalação, temas, texto rico, idioma, licença… |
search | Uma pesquisa de texto livre em toda a documentação, resultados ordenados |
get_examples | Os exemplos PowerScript completos de um componente |
check_code | Verifica PowerScript: método ou propriedade desconhecidos, um of_set_*/of_get_* inventado em vez de uma propriedade, evento desconhecido ou escrito com os seus argumentos anteriores, número de argumentos errado, membro retirado, handle a quem se pede para construir, anotação /*name*/ errada, vocabulário antigo, argumento de evento inexistente, o código devolvido por uma adição tomado por um handle ou chamado como um objeto |
get_migration | Os guias de migração, de cada versão para a seguinte (a última por omissão), para um componente ou para todos |
13.5 Tirar o melhor partido #
- Peça ao assistente que passe o seu código por
check_codeantes de lho propor. check_codeavalia por completo um objeto cujo tipo está declarado no excerto (u_pbt_ribbon uo_ribbon); sem declaração, avalia apenas o nome e o número de argumentos.- Depois de atualizar a biblioteca, atualize também o servidor — substitua a pasta
mcp\pela do novo pacote de demonstração: descreve a versão com a qual foi entregue.