MySQL MCP Server
Fornece ferramentas para assistentes de IA interagirem com um banco de dados MySQL.
Documentação
Servidor MCP MySQL
Um servidor Model Context Protocol (MCP) que fornece ferramentas de acesso a banco de dados MySQL para assistentes de IA como o Cursor.
Visão Geral
Este servidor MCP permite que assistentes de IA interajam com bancos de dados MySQL fornecendo três ferramentas essenciais:
- Executar consultas SQL
- Descrever estruturas de tabelas
- Listar todas as tabelas do banco de dados
Recursos
- Execução de Consultas: Execute qualquer consulta SQL no seu banco de dados MySQL
- Descrição de Tabelas: Obtenha informações detalhadas do esquema de qualquer tabela
- Listagem de Tabelas: Visualize todas as tabelas do seu banco de dados
- Tratamento de Erros: Tratamento abrangente de erros para operações de banco de dados
- Conformidade com o Protocolo MCP: Totalmente compatível com a especificação MCP 2024-11-05
Pré-requisitos
- Node.js (v14 ou superior)
- Banco de dados MySQL (local ou remoto)
- IDE Cursor (para integração com MCP)
Instalação
- Clone ou baixe este repositório
- Instale as dependências:
npm install
Configuração
O servidor usa variáveis de ambiente para configuração do banco de dados:
MYSQL_HOST: Hostname do servidor MySQLMYSQL_USER: Nome de usuário do banco de dadosMYSQL_PASSWORD: Senha do banco de dadosMYSQL_DATABASE: Nome do banco de dadosMYSQL_PORT: Porta MySQL (padrão: 3306)
Integração com Cursor
Para usar este servidor MCP com o Cursor, adicione a seguinte configuração ao arquivo de configurações MCP do Cursor (~/.cursor/mcp.json):
{
"mcpServers": {
"mysql-mcp": {
"label": "MySQL MCP",
"command": "node",
"args": ["/path/to/your/mysql-mcp-server.js"],
"env": {
"MYSQL_HOST": "your-mysql-host",
"MYSQL_USER": "your-username",
"MYSQL_PASSWORD": "your-password",
"MYSQL_DATABASE": "your-database",
"MYSQL_PORT": "3306"
}
}
}
}
Substitua /path/to/your/mysql-mcp-server.js pelo caminho real do seu arquivo de servidor e atualize as variáveis de ambiente com suas credenciais de banco de dados.
Ferramentas Disponíveis
1. mysql_query
Execute qualquer consulta SQL no banco de dados.
Parâmetros:
query(string): A consulta SQL a ser executada
Exemplo:
SELECT * FROM users WHERE role = 'admin'
2. mysql_describe_table
Obtenha a estrutura e informações do esquema de uma tabela específica.
Parâmetros:
table_name(string): Nome da tabela a ser descrita
Exemplo:
mysql_describe_table("users")
3. mysql_list_tables
Liste todas as tabelas do banco de dados.
Parâmetros: Nenhum necessário.
Exemplos de Uso
Uma vez configurado no Cursor, você pode usar linguagem natural para interagir com seu banco de dados:
- "Mostre-me todas as tabelas do banco de dados"
- "Descreva a estrutura da tabela de usuários"
- "Obtenha todos os usuários administradores da tabela de usuários"
- "Mostre-me os agendamentos recentes"
Considerações de Segurança
- Credenciais do Banco de Dados: Armazene credenciais sensíveis de forma segura e nunca as envie para controle de versão
- Permissões de Consulta: O servidor executa consultas com as permissões do usuário do banco de dados fornecido
- Acesso à Rede: Garanta que seu banco de dados esteja devidamente protegido e acessível apenas por fontes autorizadas
- Validação de Entrada: Embora o servidor trate erros, sempre valide e sanitize as entradas em produção
Solução de Problemas
Servidor Aparece em Vermelho no Cursor
- Verifique se todas as variáveis de ambiente estão configuradas corretamente
- Verifique a conectividade com o banco de dados
- Garanta que o Node.js e o pacote mysql2 estejam instalados corretamente
- Verifique o console de desenvolvedor do Cursor para mensagens de erro
Erros de Conexão
- Verifique o host, porta e credenciais do banco de dados
- Verifique a conectividade de rede com o banco de dados
- Garanta que o banco de dados permita conexões do seu IP
- Verifique se o nome do banco de dados existe
Erro "0 ferramentas habilitadas"
- Reinicie o Cursor após fazer alterações na configuração
- Verifique o caminho do arquivo do servidor MCP na configuração
- Garanta que o servidor implemente o protocolo MCP corretamente
Desenvolvimento
Estrutura de Arquivos
mcp/
├── mysql-mcp-server.js # Main MCP server implementation
├── package.json # Node.js dependencies
└── README.md # This file
Dependências
mysql2: Cliente MySQL para Node.js com suporte a promises
Contribuições
Sinta-se à vontade para enviar issues, solicitações de recursos ou pull requests para melhorar este servidor MCP.
Licença
Este projeto é open source e está disponível sob a Licença MIT.
Histórico de Versões
v1.0.0
- Lançamento inicial
- Implementação básica do protocolo MCP
- Três ferramentas principais de banco de dados (consulta, descrição, listagem)
- Tratamento de erros e registro de logs
- Suporte à integração com Cursor