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

  1. Clone ou baixe este repositório
  2. 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 MySQL
  • MYSQL_USER: Nome de usuário do banco de dados
  • MYSQL_PASSWORD: Senha do banco de dados
  • MYSQL_DATABASE: Nome do banco de dados
  • MYSQL_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