Nautilus MCP服务器
它是什么
是一个服务器 模型上下文协议(MCP) 通过默认输入/输出与向导通信 (标准)哦。它不是作为NPM发布的 nautilus-mcp-server 并且需要 Node.js 18或更高级建议使用 npx -y nautilus-mcp-server@latest 第o段 npx 总是解决 dist-tag 最新的 (避免重复使用旧安装缓存)。如果您需要锁定一个准确的版本,请使用 nautilus-mcp-server@ 而不是 @latest.
它做什么
- Bancos SQL (PostgreSQL,MySQL/MariaDB,SQLite,SQL Server,Oracle):列表,查看列和索引,执行只读查询(
SELECT/WITH)具有安全验证和行限制,以及小型数据样本。 - MongoDB列出收藏,使用JSON过滤器和分页搜索文档,查看收藏索引,快速采样。
- 瑞迪斯列出密钥(带默认值和光标),根据密钥类型(string,hash,list,set,sorted set)读取值,快速采样。
在许多答案中,客户也会得到 structuredContent (结构化JSON)除了文本,对于那些消耗列,行,文档或密钥而不仅仅依赖于格式化文本的人来说。
默认行为 : 只读 没有SQL;查询大小、超时和行/记录数的全局限制可以通过环境变量进行调整(见下文)。
工具
| 工具 | 功能 |
|---|---|
db_list_connections 列出他们 connection_id 发动机类型和 read_only先使用其他工具来选择正确的ID。 | |
db_list_resources SQL:表格。MongoDB: 集合 (参数) database 强制性)。网络: 密钥 (key_pattern e cursor 可选)。 | |
db_get_metadata SQL:元数据/表格列。MongoDB:文档样本。Redis:键值的类型和样本。 | |
db_describe_indexes SQL表或MongoDB集合的索引。 | |
db_query_sql | 执行者a SELECT/WITH SQL连接。 output_format: table, json 哦 csv; limit 可选(尊重全球天花板)。 |
db_fetch_documents | MongoDB: find com filter_json, limit e skip. |
db_read_cache Redis:按密钥类型读取。 | |
db_peek_sample 最多三个记录:行(SQL),文档(MongoDB)或样本(Redis)。 |
资源(MCP)
| URI | 内容 |
|---|---|
nautilus://connections | JSON com { "connections": [...] } (相同的字段 db_list_connections: connection_id, type, read_only). |
如何设置连接
每个连接都有一个 标识符 (connection_id字母、数字和下划线(例如: pg_prod, mongo_app).
所有变量都遵循标准:
DATABASES____
连接必需
type: 一个之间postgresql,mysql,mariadb(称为MySQL)sqlite,sqlserver,oracle,mongodb,redis.- 连接以两种格式之一:
- url完整的连接 URL (例如 : postgresql://user:senha@host:5432/banco, mongodb://host:27017/, redis://host:6379/0根据驱动程序文档,SQLite的文件/路径)。 - 或单独的字段 (如果密码有 @, :, /等等),总是无格式 DATABASES____…: host, port, user, password, database 哦 db例如 ID pg: DATABASES__pg__host, DATABASES__pg__port (例如: 5432), DATABASES__pg__user, DATABASES__pg__password, DATABASES__pg__database而不是 port 分开, 门可以走在一起 host (例如: db.exemplo.com:3306).硒 port 被省略并且不在 host按类型使用默认端口(PostgreSQL 5432,MySQL 3306,SQL Server 1433,Oracle 1521,MongoDB 27017,Redis 6379)。
每个连接可选
read_only默认是只读。
全局限制和选项(可选)
| 变量 | 效果(如果省略默认值) |
|---|---|
NAUTILUS_QUERY_MAX_LENGTH SQL查询的最大字符大小(2000)。 | |
NAUTILUS_MAX_ROW_LIMIT 哦 NAUTILUS_MAX_ROWS | 天花板线/记录和验证 LIMIT (200). |
NAUTILUS_DEFAULT_ROW_LIMIT 当工具没有固定另一个时,默认限制(50,最多)。 | |
NAUTILUS_QUERY_TIMEOUT_MS 操作超时以毫秒计(如果不使用秒计,则为 5000)。 | |
NAUTILUS_QUERY_TIMEOUT_SECONDS 替代 ms timeout (仅在下列情况下使用) NAUTILUS_QUERY_TIMEOUT_MS 没有定义)。 | |
NAUTILUS_READ_ONLY_MODE 只读模式(true 标准)。 |
例子(.env 哦 env 做MCP)
每个URL的PostgreSQL:
DATABASES__pg__type=postgresql
DATABASES__pg__url=postgresql://user:password@localhost:5432/mydb带有特殊字符的主机和密码的 PostgreSQL :
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:
DATABASES__app__type=mysql
DATABASES__app__host=db.exemplo.com:3306
DATABASES__app__user=app
DATABASES__app__password=secret
DATABASES__app__database=appdb如何在客户中使用
在任何带运输的 MCP 客户端 标准,配置:
- 命令:
npx(在Windows中,如果需要,请使用完整路径npx.cmd). - 参数:使用
["-y", "nautilus-mcp-server@latest"]可选的固定版本["-y", "nautilus-mcp-server@"]. - 环境变量: 全部
DATABASES__…如果你愿意,你NAUTILUS__….
JSON 片段示例(Cursor,带 MCP 的 VS 代码等):
{
"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"
}
}
}
}光标
设置 → MCP (或项目的 MCP JSON):添加服务器与 command, args e env 如上所述。
克劳德桌面
使用相同的方案 command, args e env 在应用程序的 MCP 配置文件中。确切的路径和格式因系统而异;看看 Anthropic 关于 MCP 的文档.
Claude Code 和其他 IDE
相同理念:过程 npx (或 Node 指向已安装的软件包),参数 -y e nautilus-mcp-server@latest和相同的环境变量块。
Windows com 中的常见问题 npx
如果出现 EPERM, TAR_ENTRY_ERROR 哦 MODULE_NOT_FOUND (例如在npm缓存下的依赖关系中),关闭MCP客户端,删除文件夹 %LocalAppData%\npm-cache\_npx 然后再试一次。另一个稳定的选项是全局安装软件包 (npm install -g nautilus-mcp-server配置 MCP 以执行 node 与 的 道路 cli.js 这种全球性的安装,而不是 npx.
