MCP Database Server

Fornece acesso a banco de dados para SQLite, SQL Server, PostgreSQL e MySQL.

Documentação

MseeP.ai Security Assessment Badge

MCP Database Server

Este servidor MCP (Model Context Protocol) fornece capacidades de acesso a banco de dados para o Claude, suportando bancos de dados SQLite, SQL Server, PostgreSQL e MySQL.

Instalação

  1. Clone o repositório:
git clone https://github.com/executeautomation/mcp-database-server.git
cd mcp-database-server
  1. Instale as dependências:
npm install
  1. Compile o projeto:
npm run build

Opções de Uso

Há duas maneiras de usar este servidor MCP com o Claude:

  1. Uso direto: Instale o pacote globalmente e use-o diretamente
  2. Desenvolvimento local: Execute a partir do seu ambiente de desenvolvimento local

Uso Direto com Pacote NPM

A maneira mais fácil de usar este servidor MCP é instalá-lo globalmente:

npm install -g @executeautomation/database-server

Isso permite que você use o servidor diretamente sem compilá-lo localmente.

Configuração de Desenvolvimento Local

Se você quiser modificar o código ou executar a partir do seu ambiente local:

  1. Clone e compile o repositório conforme mostrado na seção Instalação
  2. Execute o servidor usando os comandos na seção Uso abaixo

Uso

Banco de Dados SQLite

Para usar com um banco de dados SQLite:

node dist/src/index.js /path/to/your/database.db

Banco de Dados SQL Server

Para usar com um banco de dados SQL Server:

node dist/src/index.js --sqlserver --server <server-name> --database <database-name> [--user <username> --password <password>]

Parâmetros obrigatórios:

  • --server: nome do host ou endereço IP do SQL Server
  • --database: Nome do banco de dados

Parâmetros opcionais:

  • --user: Nome de usuário para autenticação do SQL Server (se não fornecido, a Autenticação do Windows será usada)
  • --password: Senha para autenticação do SQL Server
  • --port: Número da porta (padrão: 1433)

Banco de Dados PostgreSQL

Para usar com um banco de dados PostgreSQL:

node dist/src/index.js --postgresql --host <host-name> --database <database-name> [--user <username> --password <password>]

Parâmetros obrigatórios:

  • --host: nome do host ou endereço IP do PostgreSQL
  • --database: Nome do banco de dados

Parâmetros opcionais:

  • --user: Nome de usuário para autenticação do PostgreSQL
  • --password: Senha para autenticação do PostgreSQL
  • --port: Número da porta (padrão: 5432)
  • --ssl: Habilitar conexão SSL (verdadeiro/falso)
  • --connection-timeout: Tempo limite de conexão em milissegundos (padrão: 30000)

Banco de Dados MySQL

Autenticação Padrão

Para usar com um banco de dados MySQL:

node dist/src/index.js --mysql --host <host-name> --database <database-name> --port <port> [--user <username> --password <password>]

Parâmetros obrigatórios:

  • --host: nome do host ou endereço IP do MySQL
  • --database: Nome do banco de dados
  • --port: Número da porta (padrão: 3306)

Parâmetros opcionais:

  • --user: Nome de usuário para autenticação do MySQL
  • --password: Senha para autenticação do MySQL
  • --ssl: Habilitar conexão SSL (verdadeiro/falso ou objeto)
  • --connection-timeout: Tempo limite de conexão em milissegundos (padrão: 30000)

Autenticação AWS IAM

Para instâncias MySQL do Amazon RDS com autenticação de banco de dados IAM:

Pré-requisitos:

  • As credenciais AWS devem ser configuradas (o RDS Signer usa a cadeia padrão de provedores de credenciais)
  • Configure usando um destes métodos:
    • aws configure (usa o perfil padrão)
      • AWS_PROFILE=myprofile: variável de ambiente
      • AWS_ACCESS_KEY_ID e AWS_SECRET_ACCESS_KEY: variáveis de ambiente
      • Funções IAM (se estiver executando em EC2)
node dist/src/index.js --mysql --aws-iam-auth --host <rds-endpoint> --database <database-name> --user <aws-username> --aws-region <region>

Parâmetros obrigatórios:

  • --host: nome do host do endpoint RDS
  • --database: Nome do banco de dados
  • --aws-iam-auth: Habilitar autenticação AWS IAM
  • --user: Nome de usuário AWS IAM (também o usuário do banco de dados)
  • --aws-region: Região AWS onde a instância RDS está localizada

Nota: SSL é habilitado automaticamente para autenticação AWS IAM

Configurando o Claude Desktop

Configuração de Uso Direto

Se você instalou o pacote globalmente, configure o Claude Desktop com:

{
  "mcpServers": {
    "sqlite": {
      "command": "npx",
      "args": [
        "-y",
        "@executeautomation/database-server",
        "/path/to/your/database.db"
      ]
    },
    "sqlserver": {
      "command": "npx",
      "args": [
        "-y",
        "@executeautomation/database-server",
        "--sqlserver",
        "--server", "your-server-name",
        "--database", "your-database-name",
        "--user", "your-username",
        "--password", "your-password"
      ]
    },
    "postgresql": {
      "command": "npx",
      "args": [
        "-y",
        "@executeautomation/database-server",
        "--postgresql",
        "--host", "your-host-name",
        "--database", "your-database-name",
        "--user", "your-username",
        "--password", "your-password"
      ]
    },
    "mysql": {
      "command": "npx",
      "args": [
        "-y",
        "@executeautomation/database-server",
        "--mysql",
        "--host", "your-host-name",
        "--database", "your-database-name",
        "--port", "3306",
        "--user", "your-username",
        "--password", "your-password"
      ]
    },
    "mysql-aws": {
      "command": "npx",
      "args": [
        "-y",
        "@executeautomation/database-server",
        "--mysql",
        "--aws-iam-auth",
        "--host", "your-rds-endpoint.region.rds.amazonaws.com",
        "--database", "your-database-name",
        "--user", "your-aws-username",
        "--aws-region", "us-east-1"
      ]
    }
  }
}

Configuração de Desenvolvimento Local

Para desenvolvimento local, configure o Claude Desktop para usar sua versão compilada localmente:

{
  "mcpServers": {
    "sqlite": {
      "command": "node",
      "args": [
        "/absolute/path/to/mcp-database-server/dist/src/index.js", 
        "/path/to/your/database.db"
      ]
    },
    "sqlserver": {
      "command": "node",
      "args": [
        "/absolute/path/to/mcp-database-server/dist/src/index.js",
        "--sqlserver",
        "--server", "your-server-name",
        "--database", "your-database-name",
        "--user", "your-username",
        "--password", "your-password"
      ]
    },
    "postgresql": {
      "command": "node",
      "args": [
        "/absolute/path/to/mcp-database-server/dist/src/index.js",
        "--postgresql",
        "--host", "your-host-name",
        "--database", "your-database-name",
        "--user", "your-username",
        "--password", "your-password"
      ]
    },
    "mysql": {
      "command": "node",
      "args": [
        "/absolute/path/to/mcp-database-server/dist/src/index.js",
        "--mysql",
        "--host", "your-host-name",
        "--database", "your-database-name",
        "--port", "3306",
        "--user", "your-username",
        "--password", "your-password"
      ]
    },
    "mysql-aws": {
      "command": "node",
      "args": [
        "/absolute/path/to/mcp-database-server/dist/src/index.js",
        "--mysql",
        "--aws-iam-auth",
        "--host", "your-rds-endpoint.region.rds.amazonaws.com",
        "--database", "your-database-name",
        "--user", "your-aws-username",
        "--aws-region", "us-east-1"
      ]
    }
  }
}

O arquivo de configuração do Claude Desktop geralmente está localizado em:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

Ferramentas de Banco de Dados Disponíveis

O MCP Database Server fornece as seguintes ferramentas que o Claude pode usar:

FerramentaDescriçãoParâmetros Obrigatórios
read_queryExecuta consultas SELECT para ler dadosquery: instrução SQL SELECT
write_queryExecuta consultas INSERT, UPDATE ou DELETEquery: instrução SQL de modificação
create_tableCria novas tabelas no banco de dadosquery: instrução CREATE TABLE
alter_tableModifica o esquema de tabela existentequery: instrução ALTER TABLE
drop_tableRemove uma tabela do banco de dadostable_name: Nome da tabela confirm: Sinalizador de segurança (deve ser verdadeiro)
list_tablesObtém uma lista de todas as tabelasNenhum
describe_tableVisualiza informações de esquema de uma tabelatable_name: Nome da tabela
export_queryExporta resultados de consulta como CSV/JSONquery: instrução SQL SELECT format: "csv" ou "json"
append_insightAdiciona um insight de negócios ao memorandoinsight: Texto do insight
list_insightsLista todos os insights de negóciosNenhum

Para exemplos práticos de como usar essas ferramentas com o Claude, veja Exemplos de Uso.

Documentação Adicional

Desenvolvimento

Para executar o servidor em modo de desenvolvimento:

npm run dev

Para observar alterações durante o desenvolvimento:

npm run watch

Requisitos

  • Node.js 18+
  • Para conectividade com SQL Server: SQL Server 2012 ou posterior
  • Para conectividade com PostgreSQL: PostgreSQL 9.5 ou posterior

Licença

MIT