trackmcp
Back to directory
fabiovige

mcp-mysql-simple

View on GitHub

Simple MySQL MCP Server

0 stars JavaScriptOthers Updated Jun 24, 2026

Documentation

Servidor MCP MySQL Otimizado

Servidor MCP (Model Context Protocol) para MySQL com arquitetura limpa e princípios SOLID.

🆕 Melhorias na v1.1.0

✨ Arquitetura Otimizada

  • Separação de Responsabilidades: Classes especializadas para cada função
  • SOLID Principles: Código mais maintível e extensível
  • Clean Architecture: Estrutura modular e testável

🔒 Segurança Aprimorada

  • Validação de Queries: Proteção contra operações perigosas
  • Sanitização: Nomes de tabelas validados
  • SQL Injection Protection: Parâmetros seguros

🚀 Performance e Confiabilidade

  • Conexão Reutilizada: Gerenciamento eficiente de recursos
  • Tratamento de Erros: Mensagens consistentes e informativas
  • Shutdown Gracioso: Encerramento controlado de conexões

🏗️ Arquitetura

code
MySQLMCPServer
├── DatabaseConfig (Configurações)
├── DatabaseConnection (Conexão MySQL)
├── QueryValidator (Validação e Segurança)
├── ResponseFormatter (Formatação)
├── ToolsHandler (Ferramentas)
├── ResourcesHandler (Recursos)
└── PromptsHandler (Templates)

🎯 Conceitos MCP Implementados

1. Tools (Ferramentas)

  • `execute_query`: Executa queries SQL com validação
  • `describe_table`: Descreve estrutura de tabelas

2. Resources (Recursos)

  • `mysql://databases`: Lista de bancos disponíveis
  • `mysql://tables`: Tabelas do banco atual
  • `mysql://schema`: Schema completo

3. Prompts (Templates)

  • `analyze_table`: Análise detalhada de tabela
  • `find_large_tables`: Tabelas com mais registros
  • `database_overview`: Visão geral do banco

🚀 Instalação e Uso

1. Instalar Dependências

bash
npm install

2. Configurar MySQL

Crie um arquivo `.env`:

env
MYSQL_HOST=localhost
MYSQL_PORT=3306
MYSQL_USER=root
MYSQL_PASSWORD=sua_senha
MYSQL_DATABASE=seu_banco

3. Compilar e Executar

bash
# Compilar
npm run build

# Executar
npm start

# Desenvolvimento
npm run dev

4. Testar Conexão

bash
npm run test:connection

🔧 Configuração Claude Desktop

Adicione ao `claude_desktop_config.json`:

json
{
  "mcpServers": {
    "mysql-optimized": {
      "command": "node",
      "args": ["/caminho/para/dist/index.js"],
      "env": {
        "MYSQL_HOST": "localhost",
        "MYSQL_PORT": "3306",
        "MYSQL_USER": "root",
        "MYSQL_PASSWORD": "sua_senha",
        "MYSQL_DATABASE": "seu_banco"
      }
    }
  }
}

🛡️ Segurança

Validações Implementadas:

  • ✅ Bloqueio de `DROP DATABASE/TABLE`
  • ✅ Proteção contra `DELETE ... WHERE 1=1`
  • ✅ Sanitização de nomes de tabelas
  • ✅ Validação de queries vazias
  • ✅ Tratamento seguro de parâmetros

Práticas de Segurança:

  • 🔒 Conexões controladas
  • 🔒 Logs de erro seguros
  • 🔒 Isolamento de responsabilidades
  • 🔒 Validação de entrada

📊 Exemplo de Uso

javascript
// Executar query segura
{
  "name": "execute_query",
  "arguments": {
    "query": "SELECT * FROM usuarios LIMIT 5",
    "database": "meu_banco"
  }
}

// Analisar tabela
{
  "name": "describe_table",
  "arguments": {
    "table_name": "usuarios"
  }
}

🔍 Debug e Logs

O servidor fornece logs informativos:

  • ✅ Conexão estabelecida
  • 🔄 Queries executadas
  • ❌ Erros com detalhes
  • 🔚 Shutdown gracioso

📈 Roadmap

  • [ ] Cache de resultados
  • [ ] Métricas de performance
  • [ ] Pool de conexões
  • [ ] Suporte a transações
  • [ ] Interface web de monitoramento

🤝 Contribuição

1. Fork o projeto

2. Crie uma branch (`git checkout -b feature/nova-funcionalidade`)

3. Commit suas mudanças (`git commit -m 'Adiciona nova funcionalidade'`)

4. Push para a branch (`git push origin feature/nova-funcionalidade`)

5. Abra um Pull Request

📝 Changelog

v1.1.0 (2025-01-XX)

  • ✨ Arquitetura otimizada com SOLID
  • 🔒 Validação e segurança aprimoradas
  • 🚀 Performance melhorada
  • 📚 Documentação expandida

v1.0.0 (2025-01-XX)

  • 🎉 Versão inicial
  • 🔧 Implementação básica MCP
  • 🗄️ Suporte MySQL completo

📄 Licença

MIT License - veja o arquivo LICENSE para detalhes.


Criado com ❤️ para demonstrar o protocolo MCP da Anthropic

Frequently asked questions

What is mcp-mysql-simple?

mcp-mysql-simple is Simple MySQL MCP Server

How do I install mcp-mysql-simple?

Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

Is mcp-mysql-simple open source?

Yes — it is hosted on GitHub at https://github.com/fabiovige/mcp-mysql-simple.

Related MCP tools

Run your own MCP server? See who uses it and what to fix.

Measure it with TrackMCP