Mochi MCP Server
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
<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.
$ 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@hostdesambigua 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 umUPDATE/DELETEo 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
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.