Add your description here
Project description
Nautilus MCP Server
O que é
É um servidor Model Context Protocol (MCP) que fala com o assistente pela entrada/saída padrão (stdio). Está publicado no npm como nautilus-mcp-server e precisa de Node.js 18 ou superior. Recomenda-se executar com npx -y nautilus-mcp-server@latest para o npx resolver sempre o dist-tag latest (evita reutilizar cache de instalação antiga). Se precisar travar em uma versão exata, use nautilus-mcp-server@<versão> no lugar de @latest.
O que faz
- Bancos SQL (PostgreSQL, MySQL/MariaDB, SQLite, SQL Server, Oracle): listar tabelas, ver colunas e índices, executar apenas consultas de leitura (
SELECT/WITH) com validação de segurança e limite de linhas, e pequenas amostras de dados. - MongoDB: listar coleções, buscar documentos com filtro em JSON e paginação, ver índices da coleção, amostra rápida.
- Redis: listar chaves (com padrão e cursor), ler valores conforme o tipo da chave (string, hash, lista, set, sorted set), amostra rápida.
Em muitas respostas o cliente recebe também structuredContent (JSON estruturado) além do texto, para quem consome colunas, linhas, documentos ou chaves sem depender só de texto formatado.
Comportamento padrão: somente leitura no SQL; limites globais de tamanho de query, timeout e número de linhas/registros podem ser ajustados por variáveis de ambiente (veja abaixo).
Tools
| Tool | Função |
|---|---|
db_list_connections |
Lista os connection_id configurados, tipo de engine e read_only. Use antes das demais tools para escolher o id correto. |
db_list_resources |
SQL: tabelas. MongoDB: coleções (parâmetro database obrigatório). Redis: chaves (key_pattern e cursor opcionais). |
db_get_metadata |
SQL: metadados/colunas da tabela. MongoDB: amostra de documentos. Redis: tipo e amostra do valor da chave. |
db_describe_indexes |
Índices de uma tabela SQL ou de uma coleção MongoDB. |
db_query_sql |
Executa SELECT/WITH em conexões SQL. output_format: table, json ou csv; limit opcional (respeitando o teto global). |
db_fetch_documents |
MongoDB: find com filter_json, limit e skip. |
db_read_cache |
Redis: leitura conforme o tipo da chave. |
db_peek_sample |
Até três registros: linhas (SQL), documentos (MongoDB) ou amostra (Redis). |
Resources (MCP)
| URI | Conteúdo |
|---|---|
nautilus://connections |
JSON com { "connections": [...] } (mesmos campos que db_list_connections: connection_id, type, read_only). |
Como configurar as conexões
Cada conexão tem um identificador (connection_id): letras, números e underscores (ex.: pg_prod, mongo_app).
Todas as variáveis seguem o padrão:
DATABASES__<connection_id>__<atributo>
Obrigatório por conexão
type: um entrepostgresql,mysql,mariadb(tratado como MySQL),sqlite,sqlserver,oracle,mongodb,redis.- Conexão, em um dos dois formatos:
url: URL completa de conexão (ex.:postgresql://user:senha@host:5432/banco,mongodb://host:27017/,redis://host:6379/0, arquivo/path para SQLite conforme documentação do driver).- Ou campos separados (útil se a senha tem
@,:,/, etc.), sempre no formatoDATABASES__<connection_id>__…:host,port,user,password,databaseoudb. Exemplo com idpg:DATABASES__pg__host,DATABASES__pg__port(ex.:5432),DATABASES__pg__user,DATABASES__pg__password,DATABASES__pg__database. Em vez deportseparado, a porta pode ir junto emhost(ex.:db.exemplo.com:3306). Seportfor omitida e não estiver nohost, usam-se portas padrão por tipo (PostgreSQL 5432, MySQL 3306, SQL Server 1433, Oracle 1521, MongoDB 27017, Redis 6379).
Opcional por conexão
read_only: padrão é somente leitura.
Limites e opções globais (opcional)
| Variável | Efeito (padrão se omitida) |
|---|---|
NAUTILUS_QUERY_MAX_LENGTH |
Tamanho máximo da query SQL em caracteres (2000). |
NAUTILUS_MAX_ROW_LIMIT ou NAUTILUS_MAX_ROWS |
Teto de linhas/registros e validação de LIMIT (200). |
NAUTILUS_DEFAULT_ROW_LIMIT |
Limite padrão quando a tool não fixa outro (50, até o máximo). |
NAUTILUS_QUERY_TIMEOUT_MS |
Timeout das operações em milissegundos (5000 se não usar a de segundos). |
NAUTILUS_QUERY_TIMEOUT_SECONDS |
Alternativa ao timeout em ms (só usada se NAUTILUS_QUERY_TIMEOUT_MS não estiver definida). |
NAUTILUS_READ_ONLY_MODE |
Modo somente leitura (true por padrão). |
Exemplos (.env ou env do MCP)
PostgreSQL por URL:
DATABASES__pg__type=postgresql
DATABASES__pg__url=postgresql://user:password@localhost:5432/mydb
PostgreSQL com host e senha com caracteres especiais:
DATABASES__pg__type=postgresql
DATABASES__pg__host=localhost
DATABASES__pg__port=5432
DATABASES__pg__user=myuser
DATABASES__pg__password=pa@ss:word/with
DATABASES__pg__database=mydb
MySQL com host e porta no mesmo campo:
DATABASES__app__type=mysql
DATABASES__app__host=db.exemplo.com:3306
DATABASES__app__user=app
DATABASES__app__password=secret
DATABASES__app__database=appdb
Como usar nos clientes
Em qualquer cliente MCP com transporte stdio, configure:
- Comando:
npx(no Windows, se necessário, use o caminho completo denpx.cmd). - Argumentos: use
["-y", "nautilus-mcp-server@latest"]. Opcionalmente fixe versão com["-y", "nautilus-mcp-server@<versão>"]. - Variáveis de ambiente: todas as
DATABASES__…e, se quiser, asNAUTILUS__….
Exemplo de trecho JSON (Cursor, VS Code com MCP, etc.):
{
"mcpServers": {
"nautilus": {
"command": "npx",
"args": ["-y", "nautilus-mcp-server@latest"],
"env": {
"DATABASES__pg__type": "postgresql",
"DATABASES__pg__host": "localhost",
"DATABASES__pg__port": "5432",
"DATABASES__pg__user": "app",
"DATABASES__pg__password": "secret",
"DATABASES__pg__database": "appdb"
}
}
}
}
Cursor
Configurações → MCP (ou JSON de MCP do projeto): adicione o servidor com command, args e env como acima.
Claude Desktop
Use o mesmo esquema de command, args e env no arquivo de configuração MCP do aplicativo. Caminho e formato exato variam por sistema; veja a documentação da Anthropic sobre MCP.
Claude Code e outras IDEs
Mesma ideia: processo npx (ou Node apontando para o pacote instalado), argumentos -y e nautilus-mcp-server@latest, e o mesmo bloco de variáveis de ambiente.
Problemas comuns no Windows com npx
Se aparecer EPERM, TAR_ENTRY_ERROR ou MODULE_NOT_FOUND (por exemplo em dependências sob o cache do npm), feche o cliente MCP, apague a pasta %LocalAppData%\npm-cache\_npx e tente de novo. Outra opção estável é instalar o pacote globalmente (npm install -g nautilus-mcp-server) e configurar o MCP para executar o node com o caminho do cli.js dessa instalação global, em vez de npx.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nautilus_mcp_server-0.2.1.tar.gz.
File metadata
- Download URL: nautilus_mcp_server-0.2.1.tar.gz
- Upload date:
- Size: 24.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.17 {"installer":{"name":"uv","version":"0.11.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fd5a152b71f4e816e373910e292d84003810299077c179cfd5079e38202e97bc
|
|
| MD5 |
0148f821827cd64f0a1821fdd4eae12b
|
|
| BLAKE2b-256 |
51f1bb36b0cd2ee2037b3dfe4b47fc519687b26f35e0314c3312b46f27497741
|
File details
Details for the file nautilus_mcp_server-0.2.1-py3-none-any.whl.
File metadata
- Download URL: nautilus_mcp_server-0.2.1-py3-none-any.whl
- Upload date:
- Size: 23.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.17 {"installer":{"name":"uv","version":"0.11.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2cf30e953ec5ea8f06fa6c046278b3c168d34dbb9adb8190f0cc3f3d72f015a1
|
|
| MD5 |
f95ab3d2f1920301d16f6fa5ed7838fa
|
|
| BLAKE2b-256 |
99f9afad4e26932be5e085fd909ada684dcdc6672c2e7ea3228d259fe25f1bb6
|