关于
- MCP SERVER,允许您使用AI与数据库(Postgresql)聊天
- 您可以使用Cloudflare Workers将此MCP服务器部署为远程MCP服务器
主要特点
- 列出数据库的表
- 查询数据库的表
- 执行写入操作,如INSERT/UPDATE/DELETE(仅限特权用户)
- 创建查询并保存以供以后执行。PS:您可以使用参数创建查询
并保存查询以供以后执行。
- 发送给Cloudflare Workers的所有操作都将检查标头中发送的api密钥
文件夹结构
- src/
- database/ // Database connection and utils
- tools/ // Tools implementation
- repositories/ // Repositories implementation传输协议
此MCP服务器支持现代和传统传输协议:
/mcp-流式HTTP (推荐):使用具有双向通信、自动连接升级和更好的网络中断恢复能力的单个端点/sse-服务器发送的事件 (遗留):对请求/响应使用单独的端点,保持向后兼容性
对于新的实现,请使用 /mcp 端点,因为它提供了更好的性能和可靠性。
先决条件
- Node.js已安装在您的计算机上
- Cloudflare帐户(免费版有效)
- PostgreSQL数据库(本地或托管)
步骤1:安装Wrangler CLI
在全球范围内安装Wrangler以管理您的Cloudflare Workers:
npm install -g wrangler步骤2:使用Cloudflare进行身份验证
登录您的Cloudflare帐户:
wrangler login这将打开一个浏览器窗口,您可以在其中使用Cloudflare帐户进行身份验证。
步骤3:克隆并安装依赖项
直接克隆仓库并安装依赖项: pnpm install.
环境变量设置
在运行MCP服务器之前,您需要为身份验证和数据库访问配置几个环境变量。
创建环境变量文件
- 创建您的
.dev.vars文件 从示例中可以看出:
cp .dev.vars.example .dev.vars- 配置所有必需的环境变量 在
.dev.vars:
ACCESS_TOKEN=random_value_to_use_as_api_key
DATABASE_URL=postgresql://username:password@localhost:5432/database_name数据库设置
- 要保存查询以便稍后执行,您需要在数据库上执行SQL脚本。PS:您需要执行名为的脚本 instructions.sql 只有一次。
在本地运行服务器
wrangler dev这使得服务器在以下位置可用 http://localhost:8792
生产部署
部署
部署MCP服务器,使其在workers.dev域上可用
wrangler deploy从Kilo Code和Vscode访问远程MCP服务器
您可以使用以下配置从Kilo Code和Vscode访问远程MCP服务器:
// Kilocode MCP
{
"mcpServers": {
"direct-database-mcp-server-prod": {
"url": "url_cloudflare_workers_generated_after_deployed/sse",
"headers": {
"api-key": "Bearer same_value_of_ACCESS_TOKEN"
}
}
}
}
// Vscode MCP
{
"servers": {
"direct-database-mcp-server-prod": {
"url": "https://my-mcp-server.tiagorosadacost.workers.dev/sse",
"headers": {
"api-key": "Bearer 701cdccb-e605-423f-a778-66ed0698117f"
}
}
}
}
