MCP (Model Context Protocol): o servidor próprio que escrevi para o Bonuxo
Escrevi um servidor MCP em TypeScript para operar o banco de dados do Bonuxo a partir de um cliente com IA. Uso em desenvolvimento e operação; o central é o quanto o limitei.
O que é MCP
MCP (Model Context Protocol) é um protocolo para que um cliente com um modelo, como um assistente de código, descubra e chame ferramentas expostas por um servidor. Em vez de escrever uma integração diferente para cada cliente, o servidor declara suas ferramentas uma vez.
O servidor do Bonuxo
É um servidor MCP próprio, em TypeScript, para operações no banco de dados do Bonuxo. É usado em desenvolvimento e operação, e o Bonuxo está em produção. Tem 5 ferramentas:
- Escrita DML com guardas.
- Explain.
- Geração de scripts.
- DDL de uma lista permitida.
- Aplicação de migrações com controle por checksum.
As guardas e o compromisso que implicam
Dar a um modelo acesso a um banco é o caso em que limitá-lo mais importa. As guardas são uma barreira por ambiente, um bloqueio de produção, um token de confirmação, uma lista de bloqueio de DDL, somente DML, timeouts de statement e de lock, e rollback automático.
Há duas listas com sentido oposto: o DDL permitido é uma lista permitida e o DDL perigoso, uma lista de bloqueio, de modo que o desconhecido não executa. O custo é atrito: cada operação sensível pede um passo a mais, e por isso o servidor é uma ferramenta de operação e não uma porta aberta.
Stack relacionado
- MCP
- TypeScript
- PostgreSQL