MCP MySQL Server

efeabio/mcp-mysql-server
0 starsMITCommunity

Install to Claude Code

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

Summary

A robust MCP server for interacting with MySQL databases through AI agents, providing tools for schema analysis, query execution, and dynamic connection management with read-only security.

README.md

šŸš€ MCP MySQL Server

Um servidor MCP (Model Context Protocol) robusto e profissional para interação com bancos MySQL através de agentes de IA. Este projeto demonstra implementação avançada de protocolos MCP com gerenciamento inteligente de conexões e ferramentas especializadas para anÔlise de bancos de dados.

✨ Características Principais

  • šŸ” Gerenciamento Inteligente de ConexƵes - Configuração dinĆ¢mica via tools MCP
  • šŸ›”ļø SeguranƧa Robusta - Apenas operaƧƵes SELECT permitidas, validação de entrada com Zod
  • šŸ”„ MĆŗltiplos Transportes - Suporte a stdio e SSE para diferentes cenĆ”rios de uso
  • šŸ“Š Ferramentas Especializadas - AnĆ”lise de schema, foreign keys e estrutura de tabelas
  • šŸš€ Configuração AutomĆ”tica - Descoberta inteligente de configuraƧƵes MySQL
  • šŸ’” Fallback Interativo - Solicita configuração quando necessĆ”rio

šŸ› ļø Ferramentas DisponĆ­veis

šŸ”§ Configuração de ConexĆ£o

  • mysql_configure_connection - Configuração dinĆ¢mica de conexĆ£o MySQL
  • mysql_auto_configure_connection - Descoberta automĆ”tica de configuração
  • mysql_get_connection_status - Status atual da conexĆ£o
  • mysql_check_connection - Teste de conectividade

šŸ“Š OperaƧƵes no Banco

  • mysql_list_tables - Listagem de todas as tabelas
  • mysql_get_table_info - Estrutura detalhada de tabelas
  • mysql_execute_query - Execução de queries SELECT
  • mysql_analyze_schema - AnĆ”lise completa do schema
  • mysql_list_foreign_keys - Mapeamento de relacionamentos

šŸš€ Instalação e Configuração

1. Clone e Instale

git clone https://github.com/efeabio/mcp-mysql-server.git
cd mcp-mysql-server
npm install
npm run build

2. Configure o Cursor

Adicione a seguinte configuração no seu arquivo ~/.cursor/mcp.json:

{
  "mcpServers": {
    "mysql": {
      "command": "/caminho/para/seu/projeto/start-mcp.sh"
    }
  }
}

āš ļø Importante: Substitua /caminho/para/seu/projeto/ pelo caminho real onde vocĆŖ clonou o repositório.

3. Configure o start-mcp.sh

Edite o arquivo start-mcp.sh e altere o caminho para corresponder à sua instalação:

#!/bin/bash
node /caminho/para/seu/projeto/dist/index.js

4. Configuração da Conexão MySQL

O projeto oferece 3 formas de configurar a conexão MySQL:

šŸ”§ Configuração Manual via Tool (Recomendado)

Use a tool mysql_configure_connection para configurar dinamicamente:

await mysql_configure_connection({
  host: "localhost",
  port: 3306,
  user: "root",
  password: "sua_senha",
  database: "seu_banco"
});

šŸ“ Configuração via Arquivo

Crie um arquivo config.json na raiz do projeto:

{
  "mysql": {
    "host": "localhost",
    "port": 3306,
    "user": "root",
    "password": "sua_senha",
    "database": "seu_banco"
  }
}

šŸ” Descoberta AutomĆ”tica

Use a tool mysql_auto_configure_connection para tentar descobrir configuração automaticamente.

šŸŽÆ Casos de Uso

šŸ” AnĆ”lise de Banco de Dados

  • Auditoria de Schema - Mapeamento completo de estruturas
  • AnĆ”lise de Relacionamentos - Identificação de foreign keys
  • Documentação AutomĆ”tica - Geração de documentação de banco

šŸ¤– Integração com Agentes de IA

  • Consultas Inteligentes - Execução de queries via linguagem natural
  • Exploração Interativa - Descoberta de dados sem conhecimento prĆ©vio
  • AnĆ”lise AutomĆ”tica - Insights sobre estrutura e relacionamentos

šŸš€ Desenvolvimento e DevOps

  • Migração de Dados - AnĆ”lise de estrutura antes de migraƧƵes
  • Debugging - Investigação de problemas de banco
  • Monitoramento - Verificação de integridade de dados

šŸ”’ SeguranƧa e Boas PrĆ”ticas

  • āœ… OperaƧƵes Somente Leitura - Apenas SELECT Ć© permitido
  • āœ… Validação de Entrada - Schema validation com Zod
  • āœ… Teste de ConexĆ£o - Verificação antes de aceitar configuraƧƵes
  • āœ… Configuração via Tools - Interface segura para configuração
  • āœ… Isolamento de ConexƵes - Gerenciamento seguro de mĆŗltiplas conexƵes

šŸš€ Execução

# Modo stdio (padrão para MCP)
./start-mcp.sh

# Modo SSE para desenvolvimento
node dist/index.js sse

šŸ“š Exemplos de Uso

Configuração Inicial

// Configure conexão dinamicamente
await mysql_configure_connection({
  host: "localhost",
  port: 3306,
  user: "root",
  password: "sua_senha",
  database: "test"
});

// Verifique se funcionou
await mysql_check_connection();

// Explore o banco
await mysql_list_tables();

AnƔlise de Schema

// AnƔlise completa
await mysql_analyze_schema();

// Relacionamentos
await mysql_list_foreign_keys();

// Estrutura especĆ­fica
await mysql_get_table_info("users");

Consultas Personalizadas

// Execute queries SELECT
await mysql_execute_query("SELECT COUNT(*) as total FROM users");

// AnƔlise de dados
await mysql_execute_query("SELECT table_name, table_rows FROM information_schema.tables");

šŸ—ļø Arquitetura

O projeto utiliza uma arquitetura modular com:

  • MCP SDK - Implementação do protocolo Model Context Protocol
  • MySQL2 - Driver nativo e performĆ”tico para MySQL
  • TypeScript - Tipagem estĆ”tica e desenvolvimento robusto
  • Zod - Validação de schemas e entrada de dados
  • Express - Suporte opcional para transporte SSE

šŸ”§ Desenvolvimento

# Build do projeto
npm run build

# Execução em modo desenvolvimento
npm start

# Execução com SSE
npm start sse

šŸ“„ LicenƧa

MIT License - veja o arquivo LICENSE para detalhes.

šŸ¤ Contribuição

Contribuições são bem-vindas! Este projeto demonstra implementação profissional de protocolos MCP e serve como referência para desenvolvimento de servidores MCP robustos.

---

Desenvolvido com ā¤ļø para demonstrar expertise em protocolos MCP, integração com MySQL e desenvolvimento de ferramentas para agentes de IA.

Related MCP servers

Browse all →