使用说明
MCP服务器+NeonDB+n8n集成
一个小型实验项目,学习和演示模型上下文协议(MCP)服务器如何连接AI客户端、数据库和工作流自动化。
🎯 这个项目做什么
提供了一个基于Python的MCP服务器,该服务器公开了与NeonDB上托管的PostgreSQL数据库交互的工具。
通过服务器,支持MCP的客户端(例如Claude Desktop)可以通过自然语言工具调用运行SQL查询。
使用ngrok,可以通过公共URL公开本地MCP服务器,从而实现外部访问。
允许与n8n集成——工作流可以调用MCP服务器与数据库交互,实现人工智能驱动的自动化。
共同:人工智能(克劳德桌面)⇄ MCP服务器⇄ NeonDB——以及将n8n个工作流连接到同一服务器的选项。
✅ 特性
🐍 Python MCP服务器——依赖性最小,易于运行。
使用NeonDB作为云PostgreSQL,因此不需要本地数据库设置。
通过MCP工具进行自然语言驱动的数据库查询。
通过ngrok公开展示远程工作流/集成。
通过n8n+MCP支持工作流自动化,实现复杂的流水线或触发作业。
📦 设置和使用
- 先决条件
Python(版本如.Python版本或您的环境中指定的版本)
NeonDB(PostgreSQL)数据库——凭据和连接详细信息
ngrok(可选,供公众曝光)
n8n(可选,用于工作流自动化)
具有MCP功能的客户端(例如Claude Desktop)
- 入门指南
克隆仓库
git clone https://github.com/SachdevaVansh/MCP_Server_n8n_.git
cd MCP_Server_n8n_
安装依赖项(如果使用依赖项管理器/虚拟环境)
pip install -r requirements.txt # or equivalent
运行MCP服务器
python postgresql.py
- 配置与NeonDB的连接
使用您的NeonDB凭据/连接字符串更新配置(或环境变量),以便服务器可以连接到数据库。
- (可选)使用ngrok公开服务器
ngrok http 8000 # or whichever port your MCP server listens on
注意生成的公共URL——您可以使用此URL从远程客户端或n8n工作流进行连接。
- 以MCP客户端身份连接Claude Desktop
-
打开克劳德桌面→ 在设置中添加MCP服务器
-
提供命令/config来运行您的服务器(或指向公共ngrok URL)
-
然后,您可以发出自然语言查询,如:
-
“列出过去7天内创建的用户。”
-
“获取金额>1000的销售记录。”
-
“使用…在订单表中添加新行”
- 与n8n集成(可选)
-
使用ngrok公共URL(或本地服务器URL,如果在同一网络内)作为来自n8n的MCP呼叫的端点
-
创建n8n工作流以触发数据库查询、数据检索、更新——由事件、时间表、Webhook或AI指令驱动
🧠 你学到了什么/为什么重要
-
了解MCP服务器如何公开工具和处理请求的机制。
-
MCP客户端(如Claude Desktop)如何与服务器通信,以及工具调用如何在结构化模式而不是原始代码中工作。
-
如何以受控和安全的方式授予人工智能模型数据库访问权限(PostgreSQL通过NeonDB)。
-
如何将本地服务器安全地暴露在外部(通过ngrok)以实现自动化或远程访问。
-
如何将AI、数据库和自动化工具(n8n)连接在一起——这是构建“代理AI+自动化”工作流程的实用基础。
⚠️ 安全和使用注意事项
-
通过ngrok公开暴露MCP服务器时要小心——限制访问,验证输入,避免在没有保护措施的生产数据库上运行。
-
不允许来自不受信任的用户/代理的任意SQL查询——考虑净化输入或限制暴露的模式/工具。
-
如果您扩展项目(例如处理插入/更新),请确保您实现了正确的模式验证和权限。
-
安全地对待任何凭证(数据库,n8n API密钥)-不要硬编码它们;使用环境变量或安全配置管理。
✨ 未来的改进/想法
-
添加工具级抽象(例如“get_user_by_email”、“create_order”)而不是原始SQL——更安全、更健壮。
-
添加对参数化查询的支持,以防止SQL注入。
-
添加工具调用和数据库更改的日志记录/审计跟踪。
-
扩展服务器以处理更复杂的工作流——连接、事务、批处理操作等。
-
提供示例n8n工作流来说明常见用例(报告、警报、数据同步)。
-
添加自动化测试。
