Nile MCP 服务器是一款基于 Model Context Protocol (MCP) 的工具服务器,主要用于与 Nile 数据库进行交互。它提供了数据库管理、连接字符串生成、SQL 查询执行等一系列实用功能,为开发者提供了便利。
git clone https://github.com/your-repository.git
cd nile-mcp-server
npm install
npm run dev
数据库管理
POST /api/databasesGET /api/databasesGET /api/databases/:idDELETE /api/databases/:id连接字符串生成
GET /api/connection-strings/templatePOST /api/connection-strings// 创建新数据库
const response = await fetch('/api/databases', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: 'my-database',
region: 'aws-us-west-2'
})
});
// 获取所有数据库
const databases = await fetch('/api/databases').then(response => response.json());
nile-mcp-server/
├── src/
│ ├── server.ts # 主服务器实现文件
│ ├── tools.ts # 工具实现模块
│ ├── types.ts # 类型定义文件
│ ├── logger.ts # 日志工具库
│ └── index.ts # 入口程序
├── dist/ # 编译后的 JavaScript 文件
├── logs/ # 日志文件夹
├── .env # 环境变量配置
├── .gitignore # Git 忽略文件
├── package.json # 项目依赖管理
└── tsconfig.json # TypeScript 配置文件
server.ts:主要负责服务器启动、工具注册和消息传输处理。tools.ts:实现所有数据库操作和 SQL 查询执行的逻辑。types.ts:定义与数据库操作相关的接口和响应格式。logger.ts:提供结构化日志记录功能,支持每日轮转和调试模式。index.ts:服务器启动入口文件。项目提供以下 npm 脚本:
# 编译 TypeScript 代码
npm run build
# 启动生产环境服务器
npm start
# 开发模式下运行,支持自动重建
npm run dev
# 执行测试套件
npm test
# 运行 ESLint 检查代码质量
npm run lint
# 清理构建产物
npm run clean
通过扩展 Tool 类,可以创建自定义工具:
class MyCustomTool implements Tool {
async execute(command: string, args: any[]) {
// 自定义逻辑实现
}
}
本项目遵循 MIT 许可证,具体内容请参阅 LICENSE 文件。