Mochi MCP Server

MaykeSN/Mochi
0 starsMITCommunity

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

Enables querying MySQL/MariaDB databases by alias from Claude. Supports secure connections with aliases, tags, and automatic LIMIT, and requires confirmation for destructive commands.

README.md

<div align="center">

<img src="https://raw.githubusercontent.com/MaykeSN/Mochi/main/mochi-logo.png" width="160" alt="mochi" />

🍡 mochi

Rode SQL nos seus bancos MySQL/MariaDB por apelido — do terminal e pelo Claude.

![npm](https://www.npmjs.com/package/@maykesn/mochi) ![CI](https://github.com/MaykeSN/Mochi/actions/workflows/ci.yml) ![License: MIT](LICENSE) !Platform

$ mochi vendas "select * from pedidos limit 5"
┌─────────┬──────────┬───────────┐
│ id      │ cliente  │ status    │
├─────────┼──────────┼───────────┤
│ 1050889 │ ACME LTDA│ CONSUMIDO │
│ 1050890 │ FOO S.A. │ LIVRE     │
└─────────┴──────────┴───────────┘
(2 linhas)

</div>

---

mochi é uma CLI (e servidor MCP) pra consultar bancos MySQL/MariaDB usando apelidos. Você cadastra suas conexões uma vez e depois é só mochi <apelido> "<query>". Resolve a conexão por apelido, nome do banco ou tag (com desambiguação por host), tem trava de comandos destrutivos, LIMIT automático, export pra CSV/JSON/Excel, histórico, queries salvas e senhas cifradas com DPAPI. Via MCP, o Claude consulta seus bancos direto — sempre pedindo confirmação antes de qualquer alteração.

⚠️ Windows-only. As senhas são protegidas pela DPAPI do Windows.

📦 Instalação

npm install -g @maykesn/mochi

Ou baixe o mochi.exe na página de Releases (não precisa de Node instalado).

🚀 Começando

mochi add                 # assistente: host, porta, usuário, senha, apelido, tags
mochi list                # vê suas conexões
mochi vendas "select * from pedidos limit 10"

Como o mochi escolhe a conexão

  • Se a linha começa com SQL (select, show…) → usa a última conexão usada.
  • Senão, o primeiro token é o seletor — casa por apelido, nome do banco ou tag.
  • seletor@host desambigua quando o mesmo nome existe em vários hosts (ex: sync@70).
mochi select * from clientes        # última conexão
mochi sync select * from pedidos    # conexão "sync"
mochi sync@70 show tables           # "sync" no host que termina em .70

✨ Recursos

| | | |---|---| | 🏷️ Apelidos & tags | conecte por apelido, banco ou tag, com @host pra desambiguar | | 🛡️ Trava de destrutivo | DELETE/UPDATE/DROP/… exigem -y; --dry-run mostra quantas linhas afetaria | | ✂️ LIMIT automático | SELECT sem LIMIT ganha LIMIT 1000 (ajuste com --limit/--all) | | 📤 Export | --csv, --out arquivo.csv/.json/.xlsx | | 🔎 Schema | mochi tables, mochi describe <tabela> | | 💾 Salvas & histórico | mochi save, mochi q, mochi history | | 🔐 Senhas cifradas | DPAPI do Windows (atreladas à sua conta) | | 🤖 MCP | o Claude consulta seus bancos com confirmação pra alterações |

🧭 Comandos

mochi add                          cadastra uma conexão (assistente)
mochi list                         lista as conexões
mochi use / rename / edit / remove gerencia conexões
mochi test [apelido]               testa a conexão
mochi tables [apelido] [filtro]    lista tabelas
mochi describe [apelido] <tabela>  colunas da tabela
mochi which [apelido]              mostra qual conexão seria usada
mochi save / q / saved / unsave    queries salvas
mochi history [n]                  últimas queries rodadas
mochi version

Flags

-y, --force      confirma comandos destrutivos
--dry-run        simula (conta linhas) sem executar
--limit <n>      LIMIT automático (padrão 1000) · --all desliga
--page <n> --page-size <n>    paginação
-f, --file <a>   roda a query de um arquivo .sql
--json | --csv   formato de saída
--out <arquivo>  salva em .csv / .json / .xlsx
--wide           não trunca colunas largas

🔐 Segurança

  • Comandos destrutivos são recusados sem -y. No terminal, antes de confirmar um UPDATE/DELETE o mochi mostra quantas linhas seriam afetadas (via transação + rollback).
  • LIMIT automático evita puxar milhões de linhas sem querer.
  • Senhas ficam cifradas com DPAPI em %USERPROFILE%\.mochi\secrets.json — atreladas à sua conta do Windows (não abrem em outra máquina/usuário).

🤖 Usar com o Claude (MCP)

Registre o servidor MCP (uma vez):

claude mcp add --scope user mochi -- mochi-mcp

Reinicie o Claude Code e pronto — ferramentas expostas: listar_conexoes, executar_query, testar_conexao, listar_tabelas, descrever_tabela. Comandos destrutivos exigem force=true (o Claude confirma com você antes).

🛠️ Desenvolvimento

git clone https://github.com/MaykeSN/Mochi.git
cd Mochi
npm install
npm test               # roda a suíte (node --test)
npm run build:exe      # gera dist/mochi.exe

Os dados (conexões, senhas, estado, histórico, salvas) ficam em %USERPROFILE%\.mochi\fora do repositório.

📄 Licença

MIT © Mayke Nogueira

Related MCP servers

Browse all →