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
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 SQLdatabase(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:
- Verifique os logs do servidor para mensagens de erro
- Verifique suas credenciais do MariaDB e detalhes de conexão
- Garanta que seu usuário do MariaDB tenha as permissões apropriadas
- 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.