MariaDB / MySQL

Acesse e gerencie bancos de dados MariaDB ou MySQL usando um servidor MCP.

Documentação

Servidor MCP de Acesso a Banco de Dados MariaDB / MySQL

Este servidor MCP fornece acesso a bancos de dados MariaDB / MySQL.

Ele permite que você:

  • Liste bancos de dados disponíveis
  • Liste tabelas em um banco de dados
  • Descreva esquemas de tabelas
  • Execute consultas SQL
MariaDB Server MCP server

Recursos de Segurança

  • Acesso somente leitura padrão: SELECT, SHOW, DESCRIBE e EXPLAIN
  • Validação de consultas: Previne injeção de SQL e bloqueia qualquer tentativa de modificação de dados
  • Tempo limite de consulta: Previne que consultas de longa duração consumam recursos
  • Limite de linhas: Previne retorno excessivo de dados

Instalação

Opção 1: Compilar a partir do código-fonte

# Clone the repository
git clone https://github.com/bretoreta/mariadb-mcp-server.git
cd mariadb-mcp-server

# Install dependencies and build
pnpm install
pnpm run build

2. Configurar variáveis de ambiente

O servidor requer as seguintes variáveis de ambiente:

  • MARIADB_HOST: Nome do host do servidor de banco de dados
  • MARIADB_PORT: Porta do servidor de banco de dados (padrão: 3306)
  • MARIADB_USER: Nome de usuário do banco de dados
  • MARIADB_PASSWORD: Senha do banco de dados
  • MARIADB_DATABASE: Nome do banco de dados padrão (opcional)
  • MARIADB_ALLOW_INSERT: false
  • MARIADB_ALLOW_UPDATE: false
  • MARIADB_ALLOW_DELETE: false
  • MARIADB_TIMEOUT_MS: 10000
  • MARIADB_ROW_LIMIT: 1000

3. Adicionar às configurações do MCP

Adicione a seguinte configuração ao seu arquivo de configurações do MCP:

Se você compilou a partir do código-fonte:

{
  "mcpServers": {
    "mariadb": {
      "command": "node",
      "args": ["/path/to/mariadb-mcp-server/dist/index.js"],
      "env": {
        "MARIADB_HOST": "your-host",
        "MARIADB_PORT": "3306",
        "MARIADB_USER": "your-user",
        "MARIADB_PASSWORD": "your-password",
        "MARIADB_DATABASE": "your-default-database",
        "MARIADB_ALLOW_INSERT": "false",
        "MARIADB_ALLOW_UPDATE": "false",
        "MARIADB_ALLOW_DELETE": "false",
        "MARIADB_TIMEOUT_MS": "10000",
        "MARIADB_ROW_LIMIT": "1000",
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

Ferramentas Disponíveis

list_databases

Lista todos os bancos de dados acessíveis no servidor MariaDB / MySQL. Parâmetros: Nenhum

Exemplo:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "sessionId": "session_id from /sse call",
    "name": "list_databases"
  }
}

list_tables

Lista todas as tabelas em um banco de dados especificado.

Parâmetros:

  • database (opcional): Nome do banco de dados (usa o padrão se não especificado)

Exemplo:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "sessionId": "session_id from /sse call",
    "name": "list_tables",
    "database": "my_database_name"
  }
}

describe_table

Mostra o esquema de uma tabela específica.

Parâmetros:

  • database (opcional): Nome do banco de dados (usa o padrão se não especificado)
  • table (obrigatório): Nome da tabela

Exemplo:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "sessionId": "session_id from /sse call",
    "name": "describe_table",
    "database": "my_database_name",
    "table": "my_table_name"
  }
}

execute_query

Executa uma consulta SQL.

Parâmetros:

  • query (obrigatório): Consulta SQL
  • database (opcional): Nome do banco de dados (usa o padrão se não especificado)

Exemplo:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "sessionId": "session_id from /sse call",
    "name": "execute_query",
    "query": "SELECT * FROM my_table LIMIT 10"
  }
}

Testes

O servidor testa automaticamente o MariaDB para verificar a funcionalidade com sua configuração MariaDB:

Solução de Problemas

Se você encontrar problemas:

  1. Verifique os logs do servidor para mensagens de erro
  2. Verifique suas credenciais do MariaDB e detalhes de conexão
  3. Garanta que seu usuário do MariaDB tenha as permissões apropriadas
  4. Verifique se sua consulta é somente leitura e está formatada corretamente

Inspiração https://github.com/rjsalgado/mariadb-mcp-server

Licença

Este projeto está licenciado sob a Licença MIT - consulte o arquivo LICENSE para obter detalhes.