Token导航 LogoToken导航TokenDH.com
nile MCP logo
数据服务HTTP官方级别未说明来源级核验

nile MCP

MCP Server

MCP server for Nile Database - Manage and query databases, tenants, users, auth using LLMs

工具数

0

提示词数

0

GitHub Stars

17

资源数

0
数据分析SQL查询TypeScriptClaude错误处理Claude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

niledatabase

提供方

niledatabase

最后核验

2026/5/18 04:07

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Nile MCP Server

Learn more ↗️

Discord 🔵 Website 🔵 Issues

](https://smithery.ai/server/@niledatabase/nile-mcp-server)

Nile数据库平台的模型上下文协议(MCP)服务器实现。该服务器允许LLM应用程序通过标准化接口与Nile平台进行交互。

特性

  • 数据库管理:创建、列出、获取详细信息和删除数据库
  • 凭据管理:创建并列出数据库凭据
  • 区域管理:列出可用于创建数据库的区域
  • SQL查询支持:直接在Nile数据库上执行SQL查询
  • MCP协议支持:全面实施模型上下文协议
  • 类型安全:用TypeScript编写,带有完整的类型检查
  • 错误处理:全面的错误处理和用户友好的错误消息
  • 测试覆盖率:使用Jest的全面测试套件
  • 环境管理:从.env文件自动加载环境变量
  • 输入验证:使用Zod进行基于模式的输入验证

安装

安装稳定版本:

npm install @niledatabase/nile-mcp-server

对于最新的alpha/预览版本:

npm install @niledatabase/nile-mcp-server@alpha

这将在node_modules文件夹中安装@niledatabase/nile-mcp服务器。例如:node_modules/@niledatabase/nile-mcp服务器/dist/

手动安装

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

# Install dependencies
npm install

# Build the project
npm run build

其他mcp包管理器

  1. npx@michaellatman/mcp-get@latest安装@niledatabase/nile mcp服务器

启动服务器

有几种方法可以启动服务器:

  1. 直接节点执行:
   node dist/index.js
  1. 发展模式 (带自动重建功能):
   npm run dev

服务器将启动并监听MCP协议消息。您应该看到启动日志显示:

  • 已加载环境变量
  • 已创建服务器实例
  • 工具已初始化
  • 已建立传输连接

要停止服务器,请按 Ctrl+C.

验证服务器是否正在运行

当服务器成功启动时,您应该看到类似以下内容的日志:

[info] Starting Nile MCP Server...
[info] Loading environment variables...
[info] Environment variables loaded successfully
[info] Creating server instance...
[info] Tools initialized successfully
[info] Setting up stdio transport...
[info] Server started successfully

如果您看到这些日志,则服务器已准备好接受来自Claude Desktop的命令。

配置

创建一个 .env 根目录中的文件,其中包含您的Nile凭据:

NILE_API_KEY=your_api_key_here
NILE_WORKSPACE_SLUG=your_workspace_slug

若要创建Nile API密钥,请登录您的 尼罗河帐户,单击左上角的“工作区”,选择您的工作区,然后导航到左侧菜单中的“安全”部分。

与Claude Desktop一起使用

设置

  1. 安装 克劳德桌面 如果你还没有
  2. 构建项目:
   npm run build
  1. 打开克劳德桌面
  2. 前往“设置”>“MCP服务器”
  3. 点击“添加服务器”
  4. 添加以下配置:
{
  "mcpServers": {
    "nile-database": {
      "command": "node",
      "args": [
        "/path/to/your/nile-mcp-server/dist/index.js"
      ],
      "env": {
        "NILE_API_KEY": "your_api_key_here",
        "NILE_WORKSPACE_SLUG": "your_workspace_slug"
      }
    }
  }
}

替换:

  • /path/to/your/nile-mcp-server 带有项目目录的绝对路径
  • your_api_key_here 使用您的Nile API密钥
  • your_workspace_slug 与您的Nile工作空间蛞蝓

与光标一起使用

设置

  1. 安装 光标 如果你还没有
  2. 构建项目:
   npm run build
  1. 打开的游标
  2. 转到设置(⌘,)>功能>MCP服务器
  3. 点击“添加新MCP服务器”
  4. 配置服务器:

- 姓名: nile-database (或您喜欢的任何名称) - 命令:

     env NILE_API_KEY=your_key NILE_WORKSPACE_SLUG=your_workspace node /absolute/path/to/nile-mcp-server/dist/index.js

替换: - your_key 使用您的Nile API密钥 - your_workspace 与您的Nile工作空间蛞蝓 - /absolute/path/to 与项目的实际路径

  1. 点击“保存”
  2. 您应该看到一个绿色指示灯,显示MCP服务器已连接
  3. 重新启动Cursor以使更改生效

服务器模式

服务器支持两种操作模式:

STDIO模式(默认)

默认模式使用标准输入/输出进行通信,使其与Claude Desktop和Cursor集成兼容。

SSE模式

服务器发送事件(SSE)模式支持通过HTTP进行实时、事件驱动的通信。

要启用SSE模式:

  1. MCP_SERVER_MODE=sse 在你的 .env 文件
  2. 服务器将启动HTTP服务器(默认端口3000)
  3. 连接到SSE端点: http://localhost:3000/sse
  4. 向以下对象发送命令: http://localhost:3000/messages

使用curl的SSE示例用法:

# In terminal 1 - Listen for events
curl -N http://localhost:3000/sse

# In terminal 2 - Send commands
curl -X POST http://localhost:3000/messages \
  -H "Content-Type: application/json" \
  -d '{
    "type": "function",
    "name": "list-databases",
    "parameters": {}
  }'

示例提示

在Cursor中设置MCP服务器后,您可以使用自然语言与Nile数据库进行交互。以下是一些示例提示:

数据库管理

Create a new database named "my_app" in AWS_US_WEST_2 region

List all my databases

Get details for database "my_app"

Delete database "test_db"

创建表格

Create a users table in my_app database with columns:
- tenant_id (UUID, references tenants)
- id (INTEGER)
- email (VARCHAR, unique per tenant)
- name (VARCHAR)
- created_at (TIMESTAMP)

Create a products table in my_app database with columns:
- tenant_id (UUID, references tenants)
- id (INTEGER)
- name (VARCHAR)
- price (DECIMAL)
- description (TEXT)
- created_at (TIMESTAMP)

查询数据

Execute this query on my_app database:
SELECT * FROM users WHERE tenant_id = 'your-tenant-id' LIMIT 5

Run this query on my_app:
INSERT INTO users (tenant_id, id, email, name) 
VALUES ('tenant-id', 1, 'user@example.com', 'John Doe')

Show me all products in my_app database with price > 100

模式管理

Show me the schema for the users table in my_app database

Add a new column 'status' to the users table in my_app database

Create an index on the email column of the users table in my_app

可用工具

服务器提供以下工具用于与Nile数据库交互:

数据库管理

  1. 创建数据库

- 创建新的Nile数据库 - 参数: - name (string):数据库的名称 - region (string):要么 AWS_US_WEST_2 (俄勒冈州)或 AWS_EU_CENTRAL_1 (法兰克福) - 返回:数据库详细信息,包括ID、名称、地区和状态 - 示例:“在AWS_US_WEST_2中创建一个名为'my app'的数据库”

  1. 列表数据库

- 列出工作区中的所有数据库 - 无需参数 - 返回:数据库及其ID、名称、区域和状态的列表 - 示例:“列出我的所有数据库”

  1. 获取数据库

- 获取特定数据库的详细信息 - 参数: - name (string):数据库的名称 - 返回:详细的数据库信息,包括API主机和DB主机 - 示例:“获取数据库'my app'的详细信息”

  1. 删除数据库

- 删除数据库 - 参数: - name (string):要删除的数据库的名称 - 返回:确认消息 - 示例:“删除数据库‘我的应用’”

凭据管理

  1. 列出凭据

- 列出数据库的所有凭据 - 参数: - databaseName (string):数据库的名称 - 返回:包含ID、用户名和创建日期的凭据列表 - 示例:“列出数据库'my app'的凭据”

  1. 创建凭据

- 为数据库创建新凭据 - 参数: - databaseName (string):数据库的名称 - 返回:新的凭据详细信息,包括用户名和一次性密码 - 示例:“为数据库'my app'创建新凭据” - 注意:显示密码时保存密码,因为它不会再次显示

区域管理

  1. 列出地区

- 列出创建数据库的所有可用区域 - 无需参数 - 返回:可用AWS区域列表 - 示例:“哪些地区可用于创建数据库?”

SQL查询执行

  1. 执行sql

- 在Nile数据库上执行SQL查询 - 参数: - databaseName (string):要查询的数据库的名称 - query (string):要执行的SQL查询 - connectionString (string,可选):用于查询的预先存在的连接字符串 - 返回:查询结果格式为带有列标题和行数的markdown表 - 特征: - 自动凭证管理(如果未指定,则创建新凭证) - 与数据库的安全SSL连接 - 结果格式为markdown表 - 带有提示的详细错误消息 - 支持使用现有连接字符串 - 示例:“在数据库'my app'上执行SELECT\*FROM用户LIMIT 5”

资源管理

  1. 读取资源

- 读取数据库资源(表、视图等)的模式信息 - 参数: - databaseName (string):数据库的名称 - resourceName (string):资源的名称(表/视图) - 返回:详细的架构信息,包括: - 列名和类型 - 主键和索引 - 外键关系 - 列描述和约束 - 示例:“在我的应用程序中显示用户表的架构”

  1. 列出资源

- 列出数据库中的所有资源(表、视图) - 参数: - databaseName (string):数据库的名称 - 返回:所有资源及其类型的列表 - 示例:“列出我的应用数据库中的所有表”

租户管理

  1. 列出租户

- 列出数据库中的所有租户 - 参数: - databaseName (string):数据库的名称 - 返回:租户列表及其ID和元数据 - 示例:“显示我的应用程序数据库中的所有租户”

  1. 创建租户

- 在数据库中创建新租户 - 参数: - databaseName (string):数据库的名称 - tenantName (string):新租户的名称 - 返回:新租户详细信息,包括ID - 示例:“在我的应用程序中创建一个名为‘acme corp’的租户”

  1. 删除租户

- 删除数据库中的租户 - 参数: - databaseName (string):数据库的名称 - tenantName (string):租户的名称 - 返回:如果租户被删除,则成功 - 示例:“在我的应用程序中删除名为‘acme corp’的租户”

示例用法

以下是您可以在Claude Desktop中使用的一些示例命令:

# Database Management
Please create a new database named "my-app" in the AWS_US_WEST_2 region.
Can you list all my databases?
Get the details for database "my-app".
Delete the database named "test-db".

# Connection String Management
Get a connection string for database "my-app".
# Connection string format: postgres://:
@.db.thenile.dev:5432/
# Example: postgres://cred-123:password@us-west-2.db.thenile.dev:5432/my-app

# SQL Queries
Execute SELECT * FROM users LIMIT 5 on database "my-app"
Run this query on my-app database: SELECT COUNT(*) FROM orders WHERE status = 'completed'
Using connection string "postgres://user:pass@host:5432/db", execute this query on my-app: SELECT * FROM products WHERE price > 100

响应格式

所有工具都以标准格式返回响应:

  • 成功响应包括相关数据和确认消息
  • 错误响应包括详细的错误消息和HTTP状态代码
  • SQL查询结果的格式为markdown表
  • 所有回复均已格式化,便于在Claude Desktop中阅读

错误处理

服务器处理各种错误情况:

  • API凭据无效
  • 网络连接问题
  • 数据库名称或区域无效
  • 缺少必要参数
  • 数据库操作失败
  • SQL语法错误及有用提示
  • 利率限制和API限制

故障排除

  1. 如果克劳德说它无法访问这些工具:

- 检查配置中的服务器路径是否正确 - 确保项目建成(npm run build) - 验证API密钥和工作区段塞是否正确 - 重新启动克劳德桌面

  1. 如果数据库创建失败:

- 检查您的API密钥权限 - 确保数据库名称在您的工作区中是唯一的 - 验证该区域是否为支持的选项之一

  1. 如果凭据操作失败:

- 验证数据库是否存在并且处于就绪状态 - 检查您的API密钥是否具有必要的权限

发展

项目结构

nile-mcp-server/
├── src/
│   ├── server.ts      # MCP server implementation
│   ├── tools.ts       # Tool implementations
│   ├── types.ts       # Type definitions
│   ├── logger.ts      # Logging utilities
│   ├── index.ts       # Entry point
│   └── __tests__/     # Test files
│       └── server.test.ts
├── dist/             # Compiled JavaScript
├── logs/            # Log files directory
├── .env             # Environment configuration
├── .gitignore       # Git ignore file
├── package.json     # Project dependencies
└── tsconfig.json    # TypeScript configuration

关键文件

  • server.ts:主服务器实现,包括工具注册和传输处理
  • tools.ts:执行所有数据库操作和SQL查询
  • types.ts:用于数据库操作和响应的TypeScript接口
  • logger.ts:结构化日志记录,支持每日轮换和调试
  • index.ts:服务器启动和环境配置
  • server.test.ts:所有功能的全面测试套件

发展

# Install dependencies
npm install

# Build the project
npm run build

# Start the server in production mode
node dist/index.js

# Start the server using npm script
npm start

# Start in development mode with auto-rebuild
npm run dev

# Run tests
npm test

开发脚本

以下npm脚本可用:

  • npm run build:将TypeScript编译为JavaScript
  • npm start:以生产模式启动服务器
  • npm run dev:以自动重建的开发模式启动服务器
  • npm test:运行测试套件
  • npm run lint:运行ESLint进行代码质量检查
  • npm run clean:删除构建工件

测试

该项目包括一个全面的测试套件,涵盖:

  • 工具注册和模式验证
  • 数据库管理操作
  • 连接字符串生成
  • SQL查询执行和错误处理
  • 响应格式和错误案例

使用以下命令运行测试:

npm test

日志记录

服务器使用具有以下功能的结构化日志记录:

  • 每日轮换日志文件
  • 单独的调试日志
  • 带时间戳的JSON格式日志
  • 控制台输出用于开发
  • 日志类别:信息、错误、调试、api、sql、启动

许可证

MIT许可证-请参阅 许可证 了解详情。

相关链接

目录标签

目录标签

数据分析SQL查询TypeScriptClaude错误处理research-and-data数据库管理本地部署协议服务器类型安全

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

HTTP

鉴权方式(authType,认证方式)

none

部署方式(deploymentType,部署类型)

remote-capable

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

HTTPnoneremote-capable

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP